2016-09-22 78 views
1

我需要循環中的第一個ID。從循環中獲取第一個條目/ while

循環:

while ($row = $db->sql_fetchrow($result)) 
{ 

echo ($row['post_id']) . '<br /><br />'; 

} 

回聲結果:

817856<br /><br />817865<br /><br />817870<br /><br />817871<br /><br />817873<br /><br />817874<br /><br /> 

在這種情況下,我只需要數

的var_dump

var_dump($row['post_id']); 

的var_dump結果:

string(6) "817856" string(6) "817865" string(6) "817870" string(6) "817871" string(6) "817873" string(6) "817874" 

我想:

復位並沒有成功array_shift。謝謝

+0

使用一個變量來跟蹤你的行並從這裏得到的第一個ID。 –

+0

只是不要在一個while循環中執行它......只要執行'$ row = $ sql_fetchrow($ result);' – Farkie

+0

但我需要一段時間,而這段時間更長,我只能縮短它。 – labu77

回答

2

您需要使用一個變量來跟蹤循環,並在循環時獲取第一個ID。默認情況下,你必須將一個變量賦值爲true,並在循環中獲取ID,並使該變量爲false,以便該變量始終保持爲false。使用IF條件,它會好的。

$flag = true; 
while ($row = $db->sql_fetchrow($result)){ 
    if($flag === true){ 
     $ID = $row['post_id']; 
     $flag = false; 
    } 
    echo ($row['post_id']) . '<br /><br />'; 
} 

echo $ID; // 817856 

如果你只需要第一個ID,那麼它將會縮短版本。導致查詢只在我們不使用循環時返回第一行。

$row = $db->sql_fetchrow($result); 
echo $row['post_id']; //817856 
+0

的時候謝謝。第一個解決方案有效。大。第二個也應該可以工作,但它顯示了不同的數字。首先給817856 - 第二個解決方案給:817865 - 你有一個想法爲什麼? – labu77

+0

你是否同時運行這兩個查詢?如果然後單獨嘗試它們...... –

+1

是的,我做了,但後來我需要兩個querys而不是1.第一個解決方案完美,謝謝。我拿這個:) – labu77

0

你可以做這樣的事情

$i = 0; 
$result; 

while ($row = $db->sql_fetchrow($result)) 
{ 

    if ($i > 0) 
    { 
     break;  
    } 

    echo ($row['post_id']) . '<br /><br />'; 

    $result = $row['post_id']; 

    i++; 
} 
+0

也謝謝你的工作。作品也很好:) – labu77

+0

歡迎:) – Dsenese1

相關問題