2012-07-16 44 views
0

我想是這樣的:捲曲,PHP - 環環路

$i = 1; 
$y = 1; 

while($i <= 10 and $y <= 5) 
{ 
if($i==10) 
{ 
echo 'I = '.$i.', Y = '.$y.'<br>'; 
$i = 1; 
$y = $y+1; 
} 
else 
{ 
echo 'I = '.$i.', Y = '.$y.'<br>'; 
$i = $i + 1; 
} 
} 

它返回

I = 1, Y = 1 
I = 2, Y = 1 
.... 
I = 1, Y = 2 
I = 2, Y = 2 
.... 
I = 1, Y = 3 
I = 2, Y = 3 

等,等,與捲曲使用。但它不起作用。我究竟做錯了什麼?

$i = 1; 
$y = 1; 

while($y <= 9) 
{ 
while($i==499) 
{ 
if($connection = db_connect()) 
{ 
$post = array('something' => 'abc', 'value_of_y' => ''.$y.'', 'value_of_i' => ''.$i.''); 
$str = curl_grab_page('http://localhost/send.php?true=1','','off',$post); 

$str2 = mysql_real_escape_string($str); 
$sql = "INSERT INTO abc (txt) VALUES ('$str2')"; 

$i = 1; 
$y = $y+1; 
} 
else 
{ 
echo 'Database connection error!'; 
} 
} 
while($i != 499) 
{ 
if($connection = db_connect()) 
{ 
$post = array('something' => 'abc', 'value_of_y' => ''.$y.'', 'value_of_i' => ''.$i.''); 
$str = curl_grab_page('http://localhost/send.php?true=1','','off',$post); 

$str2 = mysql_real_escape_string($str); 
$sql = "INSERT INTO abc (txt) VALUES ('$str2')"; 

$i = $i + 1; 
} 
else 
{ 
echo 'Database connection error!'; 
} 
} 
} 

但是頁面一直在載入,沒有任何反應。我必須使用「if($ connection = db_connect()){」但我認爲這是讓我的代碼搞亂了。你能看一下嗎?謝謝。

+0

你爲什麼要連接500次?我會先連接,然後開始循環。另外,兩個cURL帖子是相同的:保持乾爽;不要重複自己。 – 2012-07-16 10:10:31

+0

如果你的數據庫連接失敗,你的循環將永遠不會退出,因爲你永遠不會退出。 – davidethell 2012-07-16 10:18:31

+0

你忘了的mysql_query($的SQL) – 2012-07-16 10:21:12

回答

2

我的解決辦法如下:

$y = $x = 1; 

if (!$connection = db_connect()) { 
    echo "connection failed!"; 
} else { 
    while ($y <= 9) { 
    $x = 1; 
    while ($x <= 499) { 
     // do your things with $x and $y, don't forget mysql_query() ! 

     $x++; 
    } 
    y++; 
    } 
} 
+0

+1,更清潔。 – davidethell 2012-07-16 10:19:48

+0

不錯,謝謝,它的作品:D – 2012-07-16 10:36:00

-1

也許這是一個開始?

$sql = "INSERT INTO abc (txt) VALUES ('".$str2."')"; 
+0

我不這麼認爲,因爲它在沒有while循環的情況下工作,但我也會嘗試你的方式 – 2012-07-16 10:09:55

+0

這種語法的工作原理並不是必需的。來自OP的INSERT代碼將工作得很好,因爲該字符串使用雙引號。 – davidethell 2012-07-16 10:10:00

+0

是的,這沒有改變,仍然沒有被添加到DB – 2012-07-16 10:11:45