2017-08-27 8 views
0

私はドロップダウンリストで従業員IDを選択できるフォームを作成しようとしています。選択の瞬間に選択が行われると、データベースから情報を取得することによって、他のフィールドが自動的に入力されます。リストから選択してデータを表示

<form method="post"action=""> 
    <select name="id_em"> 
    <?php  
     try 
     { 
      $bdd = new PDO('mysql:host=localhost;dbname=gestion;charset=utf8','root','');  
     } 
     catch (Exception $e) 
     { 
      die('ERREUR : '.$e->getMessage()); 
     } 
     $res = $bdd->query('select * from employe'); 

     while ($ligne=$res->fetch()) 
     {?> 
      <option> <?php echo $ligne['id_em']; ?> </option> 
     <?php } 
     $res->closeCursor(); 
    ?> 

    <?php 
     $requete = $bdd->prepare("select * from employe where id_em=?"); 
     $requete->execute(array($_POST["id_em"])); 
     if(isset($_POST['id_em'])){ 
      while($res1 = $requete->fetch()){ 
      ?> 
      <input type="text"name="nom_em" value="<?php echo $res1["nom_em"] ?>"> 
      <?php 
      } 
     } 
     $requete->closecursor(); 
    ?> 
    </select> 
</form> 

ドロップダウンリストはよく表示されますが、選択すると何も起こりません。私はJavaScriptを使用することを知っているが、問題は私がまだ初心者であり、やり方がわからないことである。最低で

+1

' ' – Spectarion

+0

このコードを再構成する必要があります。 DBを選択するかどうかにかかわらず、フォームを作成して選択します。 'select * from employeee where id_em =? 'では何もしません。 PHPが最初に実行されます。おそらく、AJAXを使用してリロードせずにページを移入したいでしょうか? – chris85

+0

selectの値が変更されたときにアクションを実行する場合は、onchangeイベントを参照してください。https://www.w3schools.com/jsref/event_onchange.asp – gus27

答えて

0

あなたのリストの選択を変更したとき、あなたがJavaScriptの関数を呼び出す必要があります。特にに、データベースからコンテンツをロードするためにAJAX技術を使用する方法についてさらにヒントについては

function changeId(sel) { 
 
    alert('id changed to '+sel.value); 
 
}
Options 
 
<select name="id_em" onchange="changeId(this)"> 
 
    <option>(none)</option> 
 
    <option>Option 1</option> 
 
    <option>Option 2</option> 
 
    <option>Option 3</option> 
 
    <option>Option 4</option> 
 
</select>

をhtmlページは、次のようなウェブ上の優れたチュートリアルをご覧ください。https://www.w3schools.com/php/php_ajax_database.asp

+0

いいえ私はドロップダウンリストの項目を選択したい場合テキストフィールドのデータベースから取得する結果を表示する – Igoussam

+0

リスト内の項目を選択すると、テキストフィールドに結果が表示されます。 – Igoussam

+0

@ Igoussam私は自分の答えを更新し、詳しい情報を見つけるためのヒントを挿入します。 StackOverflowはコード作成サービスではありません。 – gus27

関連する問題