2012-02-07 21 views
-1
<?php 
$id = $_SESSION['user_id'] ; 
echo "<form method='post' action='#'>"; 
echo "</select> 
<p>Which Hospital Would You Like to Submit To?</p>"; 
$queryitem = "SELECT * FROM vendor_hospital WHERE vendor_hospital.user_id = '$id' AND vendor_hospital.approval_status = '1'" or die('MYSQL error: ' . mysql_error()); 
if ($result = mysql_query($queryitem)) { 
    if ($success = mysql_num_rows($result) > 0) { 
     echo "<select name='hospital_name'>"; 
     echo "<option>-- Select A Facility --</option>"; 
     while ($row = mysql_fetch_array($result)) 
     echo "<option value='$row[manufacturer_id]'>$row[manufacturer_id]</option>"; 
     echo "</select><br><br>"; 
    } else { 
     echo "No results found."; 
    } 
} else { 
    echo "Failed to connect to database."; 
} 
echo "<input type='submit' value='Submit' name='submit' class='button' /></form>"; 
?> 

何らかの理由で私はここにこだわっています。私はmanufacturer_idではなく、自分のオプションで表示するメーカー名を取得しようとしています。メーカー名は別のテーブルの外部キーですので、私のオプションタグで$row[manufacturer_id]と呼ぶことはできません。私はここで何をすべきですか?私の唯一の考えは、値としてリストされたすべてのmanufacturer_idのオプションタグ内でクエリを実行することですが、それは過剰なことだと確信しています。誰かがそれよりも洗練されたソリューションの正しい方向に私を向けることができますか?WHILEループの別のテーブルから変数を取得する

+2

別のクエリの代わりにJOINを使用する必要があります。 – Brad

+0

おやおや、ありがとう。それは簡単なことだと思った。ありがとうブラッド –

答えて

0

あなたが何をしようとしているのかわかりませんが、これを試してみてください。

この置き換えます。これにより

while ($row = mysql_fetch_array($result)) 
echo "<option value='$row[manufacturer_id]'>$row[manufacturer_id]</option>"; 
echo "</select><br><br>"; 

:また、それが移入されていることを、確認し、右のデータベースから引いていることを確認して倍増してください

 while ($row = mysql_fetch_array($result)){ 
     echo "<option value='".$row['manufacturer_id']."'>".$row['manufacturer_id']."</option>"; 
} 
     echo "</select><br><br>"; 

を、あなたが呼んでいます正しいテーブル名など...

+0

返信Ernestありがとう。ブラッドは頭の爪に当たった。私はちょうど私のSELECTステートメントになかったテーブルの列へのアクセスが必要でした。 JOINがトリックをした –

+0

うわー!私はこれに答えてからしばらくしている。しかし、私はあなたがそれを把握してうれしい –

関連する問題