Php 在循环中从表中读取
使用下面的代码,我让人们填写他们想要多少比萨饼,然后使用get通过url传递所选的比萨饼IDPhp 在循环中从表中读取,php,mysql,Php,Mysql,使用下面的代码,我让人们填写他们想要多少比萨饼,然后使用get通过url传递所选的比萨饼ID <?php // some code that connects to database ?> <table> <form method="get" action="oder_process.php"> <?php while (list($pizzaId, $pizzaName,
<?php // some code that connects to database ?>
<table>
<form method="get" action="oder_process.php">
<?php
while (list($pizzaId, $pizzaName, $pizzaNumber, $pizzaPrice) = mysql_fetch_row($resultaat))
{
echo "<tr>
<td>".$pizzaName."</td>
<td>".$pizzaNumber."</td>
<td>".$pizzaPrice."</td>
<td> <input type='text' name='pizzas[$pizzaId]' value='$qty' size='3' /></td>
</tr>";
}
mysql_close($db);
?>
<input type="submit" value="Bestel!" />
</form>
</table>
为什么是foreach()?你就不能
if ( is_numeric( $_GET['pizzaid'] ) ) {
$pizzaSql = sprintf("SELECT * FROM orders WHERE pizza_id=%d",$_GET['pizzaid']);
$pizzaQuery = mysql_query($pizzaSql);
$numPizzas = mysql_num_rows( $pizzaQuery );
while ( $order = mysql_fetch_array($pizzaQuery,MYSQL_ASSOC) ) {
if ( $numPizzas > 0 ) {
echo $orderVariables;
} else {
echo 'Error: no order exists for that ID thingy';
}
}
}
我添加了一些小验证,假设比萨饼/订单id是一个数值。我不相信从$\u GET数组进入脚本的任何东西,除非首先进行一些认真的数据验证是否可以尝试加入测试以确保查询按预期工作
$pizzaSql = mysql_query("SELECT * FROM pizzas where pizza_id = $pizzaId");
if (mysql_error()) {
die(mysql_error());
}
它在干什么?如果pizza_name是pizzas中的一个领域,我无法想象这为什么不起作用。“不行吗”?你能说得更具体些吗?在while循环中打印r($row)时会发生什么?它没有显示所有数据吗?pizza\u id
是DB中的数字字段吗?@Bob Baddeley:不显示意味着它什么也不打印。当我在循环中打印r($row)时,它只是显示所有记录,而不是只显示填写了大量比萨饼的记录@bazmegakapa:是的,它是一个int(11),另外,添加一个表的结构。请记住,不要使用Stackoverflow作为论坛,当你的搜索没有得到答案时,你应该来这里&不要让我们教你基础知识,伙计。感谢iput。将if语句放在那里,但查询似乎没有问题。
$pizzaSql = mysql_query("SELECT * FROM pizzas where pizza_id = $pizzaId");
if (mysql_error()) {
die(mysql_error());
}