【问题标题】:show all database rows [closed]显示所有数据库行[关闭]
【发布时间】:2013-08-01 22:08:00
【问题描述】:

我有一个包含以下列的数据库表:

  1. 产品ID
  2. 产品名称
  3. 产品类别

如何打印某个类别中的所有产品(例如,仅显示鞋类中的产品)?对不起,如果这很简单;我刚刚开始进行网络开发。

【问题讨论】:

  • 我打赌你可以通过谷歌在不到一个小时内找到答案;
  • SELECT * FROM myTable where category = 'Shoes' 是一个很好的起点
  • 现在找到一个关于如何从 PHP 访问数据库的教程,最好是使用 MySQLi 或 PDO 而不是旧的不推荐使用的 MySQL 扩展的教程

标签: php mysql arrays


【解决方案1】:

SELECT ProductID, ProductName FROM Products WHERE ProductCategory='Shoes'

【讨论】:

    【解决方案2】:

    使用以下 SQL:

    SELECT * 
    FROM your_table_name
    WHERE ProductCategory = 'your_category_value';
    

    如果要指定输出列。 使用

    SELECT column_name_1, column_name_2
    FROM your_table_name
    WHERE ProductCategory = 'your_category_value';
    

    希望对你有所帮助。

    【讨论】:

    • 谢谢你,但是当把它放到我的页面中,然后运行代码,我什么都看不到<?php $catagory=$_GET["q"]; $con = mysql_connect("localhost","cl49-XXX","XXX"); if (!$con) { die('Could not connect: ' . mysql_error()); } @mysql_select_db("cl49-XXX", $con)or die( "Unable to select database"); $result=mysql_query("SELECT * FROM products WHERE catagory = '$catagory%' ")or die('You need enter a catagoryE ' ); echo"id $prodID"; ?>
    • 对于调试,我建议不要抑制输出。在您的 WHERE 子句中,您使用了“%”。如果您想准确匹配类别,只需去掉“%”即可。如果您想搜索任何类别包括一个阶段,我猜您可能想要 WHERE 类别,例如“category%”。我会将您的代码更改为$result=mysql_query("SELECT * FROM products WHERE catagory = '$catagory' ")or die('You need enter a catagoryE ' );
    • 为了获得最佳实践,我建议您使用 sprintf()。所以你的查询就像` $query = sprintf("SELECT * FROM products WHERE category = '%s'", $category);`
    猜你喜欢
    • 1970-01-01
    • 2013-12-21
    • 1970-01-01
    • 1970-01-01
    • 2013-09-01
    • 1970-01-01
    • 2017-06-01
    • 1970-01-01
    • 2014-03-30
    相关资源
    最近更新 更多