我有一个名为category
的mysql表在这个表中我可以说我有几行0到7,在表格中我有cat_id
和cat_name
。如何根据我想要的行打印cat_name
。例如,我想打印第6行或第4行,我会把它像$ row [6]或$ row [4]
基本上我想用. $_GET['rownumber']
获取行号,然后用它来打印出行。它会像$row[$_GET['rownumber']]
那样起作用吗?我有点困惑,只是想在这里学习mysql。
我基本上想要打印我在php中选择的那行中的cat_name
答案 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.
}
}