執行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
你問的問題一點意義也沒有,因為位置會因為你的 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⤋