0

我正在尝试为正在构建的网站构建 CMS,并且我需要能够编辑保存到数据库中的文章。我面临的问题是我有很多query语句 1 为我的输入选择所有文章字段值,然后另一个语句从我的类别表中选择所有内容(对于选择下拉菜单,其中包含我拥有的所有类别的选项) ,从类别中获取所有记录的最佳方法是什么,并且只有具有 art_id 的记录 = 到我通过 URL 传递的记录。

表类别

cat_id  cat_name
1       soccer
2       baseball
3       basketball

表文章

art_id art_cat_id art_title
1      1          lorem

HTML / PHP

<?php
 $sql_articles = "SELECT art_id, art_cat_id, art_title, 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']; ?>">

<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
    }
?>

我猜我要问的是,是否有可能做一个 sql 语句,它会返回类似的东西

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

所以我可以做到这一点,这是 1 条声明,提前感谢您的帮助!

4

1 回答 1

1

是的,您可以使用GROUP_CONCATforMySQL为您提供组合结果的查询category name

Good Example

SQL DEMO

于 2013-04-01T03:31:01.547 回答