2016-04-25 12 views
0

クエリで選択されたとして神テーブルから神table.Hereのgod_idから選択神のためのクエリが外部キーである神テーブルから選択し、神のドロップダウン

$sth =$dbh->prepare("SELECT god_id,god_name_ml,god_name_en,image,info_ml,info_en,details_ml, 
     details_en,rounds_ml,rounds_en,mantra_ml,mantra_en,display_order FROM god"); 
     $sth->execute(); 

名を選択し

$stmt = $dbh->prepare("SELECT deity_id,god_id,deity_name_ml,deity_name_en,info_ml,info_en,details_ml, 
     details_en,mantra_ml,mantra_en,display_order FROM deity 
     WHERE deity_id = :deity_id"); 
    $stmt->bindValue(':deity_id',$deity_id,PDO::PARAM_INT); 
    $stmt->execute(); 
    $result = $stmt->fetchAll(); 
    $temp_array=$result[0]; 
    $god_id=$temp_array['god_id']; 

表示コード神様のテーブルからドロップダウンで神を表示するため

<?php while ($row = $sth->fetch(PDO::FETCH_ASSOC)) { ?> 
     <option value="<?php echo $row['god_id'];?>"> 
     <?php echo $row['god_name_en']; ?> 
     </option> 
     <?php } ?> 
     </option> 
    </select> 

私が必要とするのは、ドロップダウンリストで指定されたgod_神のテーブルのIDは神のテーブルに存在するので、それを選択してください。あなたは、各オプションを記述したようGod_I'dは神テーブルから現在のオプションのgod_IDと一致するかどうかを比較する

<?php while ($row = $sth->fetch(PDO::FETCH_ASSOC)) { ?> 
    <option <?php if($row['id'] == $stmt->god_id) { echo "selected='selected'"; } ?> value="<?php echo $row['god_id'];?>"><?php echo $row['god_name_en']; ?></option> 
<?php } ?> 
              </option> 
             </select> 
+0

を。 whileループの中で、god idが存在するかどうかを調べることができます。もし配列が作成されていれば、直接データベースからチェックすることができますが、1000人の神がいるかのようにこのチェックは1000時間実行されますので、プロセスが遅くなります。 –

+0

@ Ms.Nehal私の更新された質問 – sherinks

+0

@sherinksを参照してください、私の更新された答えを確認してください – Nehal

答えて

1

のようになります。ただ、両方のIDをチェックし、同じまたはではありません、この試してください:あなたは神テーブルから神IDを持つ配列を作成することができ

<?php while ($row = $sth->fetch(PDO::FETCH_ASSOC)) { ?> 
    <option <?php if($row['god_id'] == $god_id) { echo "selected='selected'"; } ?> value="<?php echo $row['god_id'];?>"><?php echo $row['god_name_en']; ?></option> 
<?php } ?> 
</option> 
</select> 
+0

ありがとうございます。今働いています..cheers .. :) – sherinks

+0

@sherinks、あなたを助けてうれしい! :)もしそれが何とか助けられたり、それが有用であると判明した場合は、アップアップ/受け入れを自由にしてください。 – Nehal

0

はこれを試してみてください選択しています。値の後ろに「選択された」テキストを追加する場合。

ので、選択されたオプションが

<option value='1' selected>foo</option> 
+0

ここで私はあなたのコードを使用して$行[ $ stmt ['id']は$ row [god_id]、$ stmt ['god_id']で実行されますが、「配列としてオブジェクト型のpdo文を使用できません」というエラーが表示されます@Dhara Parmar – sherinks

+0

ok try $ stmt-> god_id in if条件 –

0

: 私だけがIDの選択されている必要が

関連する問題