【问题标题】:mySQL Multiple Queries SolutionmySQL 多查询解决方案
【发布时间】:2013-03-22 03:53:13
【问题描述】:

我正在尝试为我正在构建的网站构建 CMS,我需要能够编辑保存到数据库中的文章。我面临的问题是我有很多 query 语句 1 为我的输入选择所有文章字段值,然后另一个从我的类别表中选择所有内容(对于我拥有的所有类别的 Select Drop Down对于选项),从类别中获取所有记录的最佳方法是什么,并且只有具有 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 声明,提前感谢任何帮助!

【问题讨论】:

    标签: php html mysql mysqli echo


    【解决方案1】:

    是的,您可以将GROUP_CONCAT 用于MySQL 查询,这将为您提供category name 的组合结果。

    Good Example

    SQL DEMO

    【讨论】:

      猜你喜欢
      • 2021-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-08
      • 2015-11-22
      相关资源
      最近更新 更多