php - mySQL多查询解决方案

标签 php html mysql mysqli echo

我正在尝试为我正在构建的网站构建一个 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 条声明,提前感谢您的帮助!

最佳答案

是的,您可以使用GROUP_CONCAT进行MySQL查询,该查询将为您提供类别名称的组合结果。

Good Example

SQL DEMO

关于php - mySQL多查询解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15737252/

相关文章:

PHP Zend Framework 编码标准,哪种方法更具可读性?

mysql - 有效返回连接所有标签的对象

php - SQL 连接问题 PHP

html - 为什么我的 Bootstrap scrollspy 不起作用?

javascript - 交叉点观察者多重动画

javascript - $this->input->post() 在 codeigniter 中总是空的

php - MySQL Insert Into datetime = NOW() 不工作?

mysql - MySQL 应用程序中的安全 Multi-Tenancy

php - 在移动设备上禁用水平滚动

php - 如何区分 Google Bot 访问和 Bing Bot 访问