我的网站上有一个页面,用于编辑我的 CMS 中的文章。我的网站目前有两个不同的sql
声明,我想知道是否有更好的方法来做到这一点?我正在做的是使用第一条语句来填充表单中的所有字段,但我使用第二条语句来select
输入类别,所以我可以loop
在这里使用不同options
的代码,基本上我想知道是否还有其他事情要做这只有 1 条sql
声明,非常感谢!
表类别
cat_id cat_name
1 soccer
2 baseball
3 baketball
表文章
art_id art_cat_id art_title art_slug art_company
1 1 lorem lorem lorem
HTML / PHP
<?php
$sql_articles = "SELECT art_id, art_cat_id, art_title, art_slug, art_company, cat_id, cat_name
FROM app_articles LEFT JOIN app_categories
ON app_articles.art_cat_id = app_categories.cat_id
WHERE art_id =".$_GET['art_id'];
$result = query($sql_articles);
if($result===false) {
echo("query failed");
}
else {
$row = mysqli_fetch_array($result)
?>
<form id="articles" action="" method="post">
<input type="text" name="title" value="<?php echo $row['art_title']; ?>">
<input type="text" name="slug" value="<?php echo $row['art_slug']; ?>">
<input type="text" name="company" value="<?php echo $row['art_company']; ?>">
<select name="category">
<option value="<?php echo $row['art_cat_id'] ?>" selected="selected"><?php echo $row['cat_name'] ?></option>
<?php
$sql_categories = "SELECT cat_id, cat_name FROM app_categories";
$result = query($sql_categories);
if($result===false) {
echo("Query Fail");
}
else {
while( $data = mysqli_fetch_array($result)) {
if ($row['art_cat_id'] == $data['cat_id']) continue;
?>
<option value="<?php echo $data['cat_id'] ?>"><?php echo $data['cat_name'] ?></option>
<?php
}
}
?>
</select>
<input type="submit" value="Save">
</form>
<?php
}
?>
我的第一个声明返回
art_id art_cat_id art_title art_slug art_company cat_id cat_name
1 1 lorem lorem lorem 1 soccer
我想我需要的是这样的东西
art_id art_cat_id art_title art_slug art_company cat_id cat_name
1 1 lorem lorem lorem 1 soccer
2 baseball
3 basketball
这甚至可以在一个查询中完成吗?谢谢