当我选择一个类别时,它会显示一个新的错误。我只需要回应纸杯蛋糕的名称和所选类别的价格,如果可能的话,我想添加另一个下拉按钮与品味。例如,如果有人正在寻找生日纸杯蛋糕将香草味道所有的生日纸杯蛋糕香草味道将显示与其价格。
<html>
<body>
<?php
$server="localhost";
$username="root";
$password="";
$connect_mysql=mysql_connect($server,$username,$password) or die ("Connection Failed!");
$mysql_db=mysql_select_db("wordpress",$connect_mysql) or die ("Could not Connect to Database");
$query = "SELECT * FROM category ";
$result=mysql_query($query) or die("Query Failed : ".mysql_error());
$i=0;
while($rows=mysql_fetch_array($result))
{
$roll[$i]=$rows['name_category'];
$i++;
}
$total_elmt=count($roll);
?>
<form method="POST" action="">
Select cupcake_category : <select name="sel">
<option>Select</option>
<?php
for($j=0;$j<$total_elmt;$j++)
{
?><option><?php
echo $roll[$j];
?></option><?php
}
?>
</select>
<input name="submit" type="submit" value="Search"/><br />
</form>
<?php
if(isset($_POST['submit']))
{
$value=$_POST['sel'];
$query2 = "SELECT * FROM cupcakes, category, taste WHERE
cupcakes.cupcake_id = category.id_category AND
category.id_category = taste.id_taste AND
category.cupcake_id = taste.cupcake_id";
$result2=mysql_query($query2) or die("Query Failed : ".mysql_error());
while($row=mysql_fetch_array($result2))
{
echo "cupcake name: ".$row['cupcake_name']."<br/>";
echo "price: ".$row['cupcake_price']."<br/>";
}
mysql_close($connect_mysql);
}
?>
发布于 2015-12-30 16:19:13
下面是如何使用PDO完成此操作
$stmt = $pdo->prepare("SELECT * FROM cupcakes
WHERE id_category = :category AND id_flavor = :flavor");
$stmt->bindParam(':category', $_POST['category']);
$stmt->bindParam(':flavor', $_POST['flavor']);
$stmt->execute();查询不需要关联这3个表。它只是从表单输入中获取类别ID和风格ID,并使用它们从第一个表中选择适当的行。
您只需使用其他两个表来填充类别和风格下拉列表。
下面是如何使用过时的mysql扩展而不是PDO执行上述查询:
// Protect against SQL injection
$cat = mysql_real_escape_string($_POST['category']);
$flavor = mysql_real_escape_string($_POST['flavor']);
// Build and run query
$sql = "SELECT * FROM cupcakes
WHERE id_category = {$cat}
AND id_flavor = {$flavor}";
$result = mysql_query($sql);https://stackoverflow.com/questions/34497181
复制相似问题