我有一個PHP腳本,它從我的MySQL數據庫中的一行中取值,通過一個函數運行它,如果它確定它是真的返回一個值,並且如果它是假的,它需要轉到下一個值數據庫並檢查一個,直到最終返回true。 我想我需要使用mysql_fetch_assoc,但我不太確定使用它的方式......我希望我可以發佈我的代碼以獲得更具體的代碼,但代碼很多,大部分代碼沒有方向在這個問題上...PHP下一個MySQL行 - 如何移動指針,直到函數檢查爲真?
回答
是你可以在數據庫中做的「功能」,而不是?處理表中的每一行以檢查某種類型的條件確實是低效的。這正是數據庫擅長的,即高效處理查詢並快速獲得答案。
所以我建議在尋找如何做到這一切在數據庫方面,使你的PHP代碼只是獲取最終結果(即,由功能過濾行)。也許如果你提供了你的「功能」在做什麼的更多細節,可以提供更具體的答案。
您可以使用mysql_fetch_array,剛跳上值使用$行[ID],而不是$行[「名稱」]獲取。 假設你的函數返回true,你只需要使用$ row [lastid + 1]。
如果ID isn`t增量,這可能是工作:
$qry_result = mysql_query($qry) or die(mysql_error());
while ($row = mysql_fetch_array($qry_result)) {
$result = yourfunction($row['whatever');
if ($result != false)
break;
}
而且有下一個PHP函數(),它前進一個指針指向下一個數組元素。在你的函數中你可以實現一個數組生成器,然後在這個元素之間循環。取決於你的功能實際上或腳本的目的是什麼。如果有很多結果,它可能會導致一些負荷。
有趣。當主鍵不是增量時這會起作用嗎? – ropbhardgood 2010-03-30 01:30:34
使用非增量更新了您的案例的解決方案。 – 2010-03-30 01:52:55
你可以嘗試這樣的事:
SELECT *
FROM table
WHERE field NOT LIKE '%$sessionvar:%';
我認爲這是你所追求的?
我認爲這會有所幫助。謝謝。 – ropbhardgood 2010-03-30 07:59:08
- 你不應該檢查數據庫的這種方式,如上所述。數據庫與純文本文件有一點區別。
- 你不應該在你的數據庫中有一堆用值1分隔值的字段:值2 |值1:值2 |值1:值2。它必須是單獨的字段。數據庫與純文本文件有一點區別,你最好學習它。
感謝您的寶貴意見。 – ropbhardgood 2010-03-30 07:57:41
- 1. 如何將文件指針移動到php中的上一行?
- 2. 如何寫一個函數指針返回一個函數指針函數?
- 3. Mysql通過行循環檢查行,直到找到一個數爲零
- 4. 函數指針指向一個函數指針的函數
- 5. 創建一個函數指針,它將一個函數指針作爲參數
- 6. 這個函數指針如何不能指向一個函數?
- 7. 如何移動到下一個td並檢查Css類?
- 8. 文件指針移動的函數getline
- 9. 添加一個檢查到PHP函數?
- 10. 移動一個MySQL數據庫上移或下移用PHP
- 11. 如何移動指針
- 12. PHP函數返回指向另一個函數的指針
- 13. PHP和MySQL - 如何檢查是否一個數組爲空或不在函數
- 14. 如何將文件指針移動到文件中的下一行?
- 15. 如果一個onchange變爲真如何運行一個函數
- 16. C++通過函數指針指向另一個函數指針
- 17. 我需要檢查一個指針是否指向一個math.h函數
- 18. 如何檢查布爾值,直到它爲真
- 19. 檢查函數指針類型
- 20. 如何檢查函數的返回值如果爲真或假
- 21. 添加到函數指針,獲取指向另一個函數的指針?
- 22. 如何檢查空指針
- 23. 如何做一個指向一個類的函數的指針
- 24. 投一個函數指針
- 25. 函數指針 - 參數傳遞給一個函數指針
- 26. 處理seq直到pred函數爲真
- 27. 如何鍵入一個函數指針,該函數指針將自己的類型的函數作爲參數?
- 28. 移動$ startOfLine指針
- 29. 你如何獲得一個函數指針到一個類型化的函數?
- 30. GDB,檢查指針指針
哦,不,我需要檢查它針對PHP會話變量。它不需要處理太多的數據,在它實現之前不會經過兩三次。 – ropbhardgood 2010-03-30 01:13:14
你總是可以使用PHP會話變量作爲查詢參數:SELECT * FROM MYTABLE其中COL1 = –
dcp
2010-03-30 01:16:28
我會那樣做,DCP,但實際上,我試圖找到值中的一個,其中一個不包含會話變量。你知道是否有辦法用MySQL命令做到這一點? – ropbhardgood 2010-03-30 01:17:32