顯示廣告
隱藏 ✕
看板 Programming
作者 kevin550029 (KK)
標題 想請問有關PHP和MYSQL的問題
時間 2013年05月04日 Sat. PM 04:29:23


我在寫一段code要讓user在textarea輸入值後,
把每筆input分別到資料庫裡做搜尋再輸出


$line=explode("\n",$_POST['ac']);
$item=count($line);
$i=0;
while($i<$item)
{
if($line[$i]!=null)
{
 echo $line[$i]."<br>";

$query= "select interactor_A,matchA,interactor_B,matchB,source_database,publication_identifier,interaction_type,interaction_identifier from full where interactor_A like '%$line[$i]%' or interactor_B like '%$line[$i]%' ";
 
$result=mysql_query($query);
 
while($data=mysql_fetch_row($result))
{
 
echo $data[0]."\t".$data[1]."\t".$data[2]."\t".$data[3]."\t".$data[4]."\t".$data[5]."\t".$data[6]."\t".$data[7]."\t".$data[8]."<br>";
}
}
 $i++;
}


上面是我的程式碼,我用line來存傳來的input
可是我發現他最後query出來的值都是我輸入裡面最後一筆input的值
比方說我搜尋1,2,3這三筆資料 他只會輸出最後一筆
我測試後發現他只有在for跑到最後一個時才會進入到while裡面跑
想請各位大大幫我解答這是什麼問題><
非常感謝

--
※ 作者: kevin550029 時間: 2013-05-04 16:29:23
※ 看板: Programming 文章推薦值: 0 目前人氣: 0 累積人氣: 716 
1樓 時間: 2013-05-05 20:55:49 (台灣)
  05-05 20:55 TW
第一個while後先 echo $line[$i]; 看看是什麼
2樓 時間: 2013-05-06 09:10:49 (台灣)
  05-06 09:10 TW
1.先把空行濾掉再explode? 2.善用foreach 3.在""中的變數建議用{}括起來 4.輸入要處理過再放進 query
3樓 時間: 2013-05-22 16:13:21 (台灣)
  05-22 16:13 TW
<?php
$line = explode("\n",$_POST['ac']);
$item = count($line);
$i=0;
$resArr = array();
while($i<$item)
{
	if(isset($line[$i])) //請用isset判斷陣列是否有存在
	{
		echo $line[$i]."<br>";
$sql = "select interactor_A,matchA,interactor_B,matchB,source_database,publication_identifier,interaction_type,interaction_identifier from full where interactor_A like '%".$line[$i]."%' or interactor_B like '%".$line[$i]."%' "; $query = mysql_query($sql); while($data = mysql_fetch_array($query)) //建議用這個 mysql_fetch_array() { $resArr[$i] = $data; echo $data[0]."\t".$data[1]."\t".$data[2]."\t".$data[3]."\t".$data[4]."\t".$data[5]."\t".$data[6]."\t".$data[7]."\t".$data[8]."<br>"; $data = null; } } $i++; }
//$resArr 就是整理好的資料
4樓 時間: 2013-05-22 16:15:15 (台灣)
  05-22 16:15 TW
補充 : 嚴謹一點的話 , if(isset($line[$i]) && is_numeric(trim($line[$i]))) //請用isset判斷陣列是否有存在,檢查值為數字
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇
看板名稱: 確定(Enter) 取消(Esc) 搜尋(Space)
查詢帳號: 確定(Enter) 取消(Esc) 搜尋(Space)
搜尋: m)m文 b)進板 c)未分類 a)作者 /)標題 q)取消?[q]

搜尋 送出(Enter) 取消(Esc)

回覆文章至: f)看板 m)作者信箱 b)兩者皆是 q)取消?[f]
要引用原文嗎? y)引用原文 n)不引用 a)全部回覆 r)複製原文 q)取消?[y]
轉錄本文章於看板: 1)使用連結 2)使用複製 q)取消 ?[1]
轉寄至站內信箱於使用者: 確定(Enter) 取消(Esc)
轉寄至站內信箱於使用者: 確定(Enter) 取消(Esc)
修改文章標題為: 確定(Enter) 取消(Esc)
修改文章標題為: 確定(Enter) 取消(Esc) 全部(a)

確定要刪除這篇文章?(可按大U救回) 確定(Enter) 取消(Esc)

刪除理由:

確定(Enter) 取消(Esc)
加到這個分類: 確定(Enter) 下一層(→) 回上層(←) 取消(Esc)
你覺得這篇文章: 1)真讚 2)真瞎 q)取消?[1] (再選一次即可收回)
你覺得這篇文章: 1)值得推薦 2)表示反對 3)單純註解 q)取消?[3]
guest
預覽(Enter) 取消(Esc)
上傳圖片
按ctrl+Enter可輸入下一行。
guest
確定要送出? 確定(Enter) 取消(Esc) 繼續(e)
搜尋: 送出(Enter) 取消(Esc)

▏▎▍▌▋▊▉ 請按任意鍵繼續