简体   繁体   English

PHP Dropdown mySQL两个表

[英]PHP Dropdown mySQL two tables

Edited version with working code: 具有工作代码的编辑版本:

Table schema: 表架构:

category (catid, catname) 类别(类别,类别)

product (productid, catid, productname) 产品(产品编号,类别,产品名称)

if(isset($_POST['submit'])); {

if(isset($_GET['id']) && is_numeric($_GET['id']) && $_GET['id'] > 0) {
//get the id
$productid = (int) $_GET['id'];
} else {
    echo 'error'; }

$sql = $link->prepare("SELECT p.productid, p.catid pid, p.productname, c.catid cid, c.catname FROM product p
JOIN category c
WHERE p.productid = $productid");
$sql-> execute();
$result = $sql-> fetchall(PDO::FETCH_ASSOC);
    $option = '';
foreach ($result as $row) {
    $pid = $row['pid'];
    $productname = $row['productname'];
    $catid = $row['cid'];
    $catname = $row['catname'];
    $option .= '<option name="'.$catname.'" value="'.$catid.'" '.($pid==$catid ? 'selected="selected"' : '').'>'.$catname.'</option>'."\r\n";
}

then in page: 然后在页面中:

<select name="xxx">
<? echo $option ?>
</select>

In your foreach loop you are executing only a query not iterating the result set data. 在您的foreach循环中,您仅执行查询而不迭代结果集数据。 If it is not, then please explain your query() method. 如果不是,请解释您的query()方法。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM