English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

執行mysql_query();後,要如何知道查詢出來的資料是位於mysql的第幾筆資料呢?
例如:
索引 no name
 0 1  A
 1 2  B
 2 3  C
 3 4  D

$aa=mysql_query(\"select * from tt where no=2\");
$bb=mysql_fetch_row($aa);
echo $bb;
結果=>
1

2006-06-11 14:33:37 · 4 個解答 · 發問者 no nickname 1 in 電腦與網際網路 程式設計

$aa=mysql_query("select * from tt where no=2");
echo $aa
這樣是選擇no=2的資料,而不是我說得知資料是第幾筆...

2006-06-11 19:50:41 · update #1

4 個解答

你問的問題一點意義也沒有,因為位置會因為你的 SQL 語法與條件而改變位置,例如你的SQL是 order by name, 跟 order by name DESC 他在陣列裡面的位置根本就完全不一樣了。

所以詢問實體硬體的位置一點意義也沒用,那怎樣解決你的問題?
就用PHP的迴圈去找尋就可以知道了。

$where = -1;

for ($I =0; $I < data數量; $I++ )
{
if( 欄位內容 == 你想知道的變數內容 )
{
$where = $I;
break;
}
}
if ( $where == -1 )
echo "找不到符合條件的資料";
else
echo $where;


上面的方法笨了一點,但不管你的 SQL 語法怎樣變化,絕對都可以回報
正確的位置出來。

2006-06-13 17:10:03 · answer #1 · answered by Email 6 · 0 0

依你提供的資料看來,no 欄位是由小道大排列,並且是循序增加的。所以可以下以下的 SQL 語法,來得知no=2的資料是第幾筆。

SELECT COUNT( * ) FROM tt WHERE no <= '2'

echo $aa[0];

這樣就可以了,但是切記這個 SQL 語法只適合你提供的資料表結構。

2006-06-13 04:27:33 · answer #2 · answered by wuno_tw 7 · 0 0

$aa = mysql_query("selet * from tt where name='B'");
這樣就可以知道B在哪一筆了!這或許是你要的吧?

2006-06-14 11:06:58 補充:
同意Email的說法

2006-06-12 08:10:21 · answer #3 · answered by YJ 2 · 0 0

$aa=mysql_query("select * from tt where no=2");
echo $aa
就可以知道是第幾筆資料了。

2006-06-12 00:07:45 補充:
不是會印出像這樣的東西嗎?Resource id #4這就是在Mysql裡面的第4筆資料

2006-06-11 19:36:24 · answer #4 · answered by dsewnr 3 · 0 0

fedest.com, questions and answers