0

私は PHP/MySQL が初めてで、質問があります。人のリストを作成する php ファイルを変更したいので、動的なドロップダウン リスト (データベースの別のテーブルからのデータを含む) をフォームに作成したい場合、どのように使用できますか? やってみましたが失敗しました。フォームの外側のデータを取得しようとすると問題ありませんが、今度はコマンドをフォームに再配置しようとすると何も起こりません! 何故ですか?フォームには、そのようなローカル変数または sth はありますか?

これが私の簡略化されたコードです

database_connect();
...
html blah blah
...

$result0 = mysql_query("SELECT * FROM depts",$link)or die(mysql_error());
while($row1 = mysql_fetch_array($result0)) 
echo $row1['dep'];// i can see all the contents of row1, but ...

<form action="add_department.php" method="post">
<tr><td>dep.:</td><td><select name="dep" value="<?php echo $dep; ?>">

<?php
//...if i move the commands here (inside the form)
$result0 = mysql_query("SELECT * FROM depts",$link)or die(mysql_error());
while($row1 = mysql_fetch_array($result0)) 
echo $row1['dep'];//shows nothing to the screen. Why??

<tr><td><input type="submit" name="submit" value="submit"></td></tr>
</form>

php_error_log ファイルに記録がありません

4

1 に答える 1

1

どのように落ちているかについて言及していないため、質問は非常に曖昧ですが、私が気づいたことがいくつかあります。

HTML SELECT タグは value 属性を使用しません。たとえば、OPTION に SELECTED 属性を追加する必要があります。

<select name="dep">
<?php $result0 = mysql_query("SELECT * FROM depts",$link)or die(mysql_error());
    while($row1 = mysql_fetch_array($result0)) 
{?>
    <option value="<?php echo $row['dep']; ?>"<?php echo $row['dep'] == $dep ? ' SELECTED':'' ?>><?php echo $row['dep'] ?></option> 
<?php } ?>
</select>

また、タグの後に閉じがありません。

于 2013-10-05T22:51:18.593 に答える