【发布时间】:2016-09-02 03:08:59
【问题描述】:
大家好! 我是编码新手,将在明年 9 月上课。期待……:-)
我正在为我的数据库制作一个修改页面。它由输入和用于修改数据库内容的下拉列表组成。至少现在……直到我了解更多。
我正在为自己编码,想知道以下是否是正确的方法?在我看来不是,因为每次外部循环通过时都会执行内部查询......但它有效!?!?
这是使内部 FOREACH 循环 ($familylist) 与 Mysql 查询一起工作的唯一方法。如果内部循环的查询在外部循环之外 ($plantList)...它不起作用。第一个下拉列表会填充内容,但以下行不会填充,至少只有第一个选项不会填充查询中的内容。
欢迎和感谢任何帮助!
<?php //more code here....
$plantQuery = "SELECT id, genre, espece, famille FROM plante ORDER BY genre";
$plantList = $dbconnect->query ($plantQuery);
?>
<table>
<thead>
<tr>
<th>ID</th>
<th>GENRE</th>
<th>ESPÈCE</th>
<th>FAMILLE</th>
</tr>
</thead>
<tbody>
<?php foreach ($plantList->fetchAll(PDO::FETCH_ASSOC) as $plant) : ?>
<form method="post">
<tr>
<td><input name="id" value="<?php echo $plant["id"] ;?>" readonly></td>
<td><input name="genre" value="<?php echo $plant["genre"] ;?>"></td>
<td><input name="espece" value="<?php echo $plant["espece"] ;?>"></td>
<td><select name="familleList" >
<option value="0" >Choisir une famille</option>
<?php
$familyQuery = "SELECT id, famille FROM famille ORDER BY id ASC";
$familyList = $dbconnect->query ($familyQuery);
?>
<?php foreach ($familyList->fetchAll(PDO::FETCH_ASSOC) as $family):?>
<option value="<?php echo $family["id"] ;?>" <?php if ($plant["famille"] <> 0 && $plant["famille"] == $family["id"] ) {echo "selected"; }?>><?php echo $family["id"] . " - " . $family["famille"] ;?></option>
<?php endforeach ;?>
</select>
</td>
<td><button name="modifier" type="submit">Modifier</button></td>
<td><button name="supprimer" type="submit">Supprimer</button></td>
</tr>
</form>
<?php endforeach ;?>
</tbody>
</table>
【问题讨论】:
标签: php mysql loops pdo foreach