php - 使用 php 对 mySQL 表进行分类

标签 php mysql

我有一个名为businesses的mySQL表,有4列。

<小时/>

名称、网址、描述、类别

<小时/>

我试图将整个目录显示在每个相应类别名称下的页面上。有没有比我目前所用的方法更好的方法?我希望将所有数据保存在一个表中,而不是为每个类别都有一个表。

<?php

$con = mysql_connect('localhost','username','password')
    or die('Could not connect: ' . mysql_error());
mysql_select_db('relicc_dogedir')
    or die('Could not select database');

$result = mysql_query("SELECT * FROM businesses ORDER BY category",$con);

$column = array();
    while($row = mysql_fetch_array($result))
    {
            $column[] = $row['category'];
    }
    $merged_column = array_unique($column);
    $refined_categories = array_values($merged_column);

    foreach ($refined_categories as &$refined_category)
    { ?>
        <h3><?php echo $refined_category;?></h3><?php 

        //Display sorted business names with corresponding category


    }

mysql_close($con);
?>

最佳答案

首先,你应该知道mysql扩展已被弃用,你应该使用MySQLiPDO_MySQL .

您可以先检索类别,然后针对每个类别检索相应的业务。

    try
    {
        $dbh = new PDO('mysql:host=localhost;dbname=YOURDB', 'USERNAME', 'PASSWORD');
    }
    catch(PDOException $e)
    {
        echo $e->getMessage();
        die;
    }

    $stmt = $dbh->query('SELECT category FROM businesses GROUP BY category');
    $stmt->setFetchMode(PDO::FETCH_ASSOC);

    $categories = $stmt->fetchAll();
    foreach ($categories as $category)
    {
        echo '<h3>'.$category['category'].'</h3>';

        $stmt = $dbh->prepare('SELECT * FROM businesses WHERE category = :categoryName');
        $stmt->bindParam(':categoryName', $category['category'], PDO::PARAM_STR);
        $stmt->execute();
        $businesses = $stmt->fetchAll();

        foreach ($businesses as $business)
        {
            echo $business['name'];
            echo '<br />';
        }
    }

关于php - 使用 php 对 mySQL 表进行分类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21553488/

相关文章:

php - MySQL 语句中替换为“

php - 在可变数量的参数上搜索表多列

php - 通过 AJAX 发送数组数据

mysql - 无法删除 MySQL 表(如果存在)并创建新表 Note : #1051 Unknown table

mysql - 计算不同表的总和

mysql - 将 Mysql 返回的数组格式化为 JSON

mysql - 如何在删除父记录时删除所有子记录?

javascript - 如何在 JavaScript 中将 UUID/GUID 转换为 OID/DICOM UID?

php - mysql_escape_string() 是否使 sql 注入(inject)变得不可能?

php - 具有 3 个不同用户表的私有(private)消息系统