如何在php中打印选择mysql的行

时间:2012-10-27 07:37:51

标签: php mysql

我有一个名为category的mysql表在这个表中我可以说我有几行0到7,在表格中我有cat_idcat_name。如何根据我想要的行打印cat_name。例如,我想打印第6行或第4行,我会把它像$ row [6]或$ row [4]

基本上我想用. $_GET['rownumber']获取行号,然后用它来打印出行。它会像$row[$_GET['rownumber']]那样起作用吗?我有点困惑,只是想在这里学习mysql。

我基本上想要打印我在php中选择的那行中的cat_name

3 个答案:

答案 0 :(得分:2)

这是基于行号获取行的方法:

SET @rownum = 0; 
Select sub.*, sub.rank as Rank
FROM
(
   Select *,  (@rownum:=@rownum+1) as rowNum
   FROM   Categories
) sub
WHERE rowNum IN (4, 6) 

但是,Mysql有一个内置函数ORDER BY LIMIT来执行此操作。

答案 1 :(得分:0)

$my_categories = mysql_real_escape_string($_GET['categories']); // where categories can take values as 1 or 1,2,3

$query = "SELECT cat_id, cat_name 
          FROM categories 
          WHERE cat_id 
            IN (" . $my_categories . ")";

$sql = mysql_query($query);
if(mysql_num_rows($sql) != 0) {
   while($row = mysql_fetch_array($sql)) {
      echo $row['cat_name'];
   }
}

答案 2 :(得分:0)

这里有一些事情在起作用。

1)你说你正在尝试学习mysql。如果您知道所需的数据,那么您需要运行一个SQL查询,它可以获取您需要的所有数据以及您需要的数据。您可以使用WHERE子句过滤所需的数据。谷歌“mysql在哪里”获得更多帮助。

2)您需要了解数据库的工作方式以及php如何处理它们。您可以将它们视为行,每行都有某些列(很像电子表格)。现在使用php,最常见的事情是一次迭代所有行,因为1行被认为是一条记录。 php(通常)将每一行作为关联数组处理(由关键字索引)。通常使用迭代器对象(不可索引)迭代行。要做到这一点(使用已弃用的mysql库 - 我对当前的mysqli库不够熟悉),请执行以下操作:

$query = "SELECT * FROM table";
$result = mysql_query($query);
//iterate over all rows one at a time.
while ($row=mysql_fetch_array($result)){
    if($row["isDesiredRecord"]==true){
        echo $row["fieldName"]; //print whatever data you need from that row.
    }
}