【问题标题】:How to get data from database to one select option to another option in PHP MySQL?如何从数据库中获取数据到 PHP MySQL 中的一个选择选项到另一个选项?
【发布时间】:2017-08-26 19:51:01
【问题描述】:

我有这个代码:

<html>
<body>
<form method="post" action="">
Category:   <select name="category">
<option>Choose Category</option>
<?php 
include("connect.php");
$select="SELECT * FROM category";
$result=mysqli_query($link,$select) or die (mysqli_error($link));

    while($row=mysqli_fetch_array($result))
    {

    echo "<option value='$row[category]'>".$row['category'];

    }
?>
</select>

<br>
Subcategory:<select name="category">
<?php
include("connect.php");

$category=@$_POST['category'];

if($category=="Friuts")
{
    $select="SELECT * FROM subcategory WHERE $category='$category'";
    $result=mysqli_query($link,$select) or die (mysqli_error($link));

    while($row=mysqli_fetch_array($result))
    {

    echo "<option value='echo $row[subcategory]'>".$row['subcategory'];

    }
}


?>

</select>
<br>

<input type="submit" value="Open" name="submit">
</form>
</body>
</html>

我有两个表,表一名称类别和表二名称子类别,当我从表类别中选择一项选项时,我想要两个从选择选项中的表子类别中获取数据出现在下图中:

This image is table category

This image is table subcategory

【问题讨论】:

  • 您的代码容易受到SQL injection 攻击。您应该通过mysqliPDO 驱动程序使用带有绑定参数的准备好的语句。 This post 有一些很好的例子。
  • @AlexHowansky 这是我的代码,我该如何修复?
  • 也许阅读我发布的链接?
  • 谢谢@AlexHowansky 我读了它,我会托盘。

标签: php mysql mysqli


【解决方案1】:

为了满足你的需要,你需要:

  1. 创建一个显示主表中值的选择框,最好使用 category_id 作为值
  2. 检查表单是否已提交(因此if( isset( $_POST['category'] ) ) {}。如果是,请对子类别表运行查询并检查 cat_id = $_POST['category']
  3. 在选择框中显示第二个查询的结果。

简而言之:

echo "<option value='$row[cat_id]'>".$row['category'];

$select='SELECT * FROM subcategory WHERE cat_id="' . mysqli_real_escape_string($link, $category ).'"';

未测试 并请阅读提供的网站“Alex Howansky”!

【讨论】:

  • 使用准备好的语句仍然比转义字符串更好
  • 我 100% 同意。这就是为什么他应该阅读 Alex Howansky 提供的链接。
  • @Sanderbakker 我如何使用准备语句?
  • @Jeffrey 抱歉,链接在哪里?我怎么能找到?
猜你喜欢
  • 1970-01-01
  • 2014-10-06
  • 2021-11-03
  • 1970-01-01
  • 1970-01-01
  • 2020-10-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多