2015-12-30 26 views
0

我有這樣的第一頁上: 返回的結果 enter image description here聲明PHP變量與數字(基於環和基於的查詢返回的記錄NUM)

它顯示了2組不同的ID和不同成員數量。 IT09有3個,IT10有4個。 當點擊「評估」標籤時,頁面在此處繼續。

enter image description here

這些文本框以這樣那樣的方式宣稱:

<table> 
$i=1; 
while ($data = mysql_fetch_array($querys)) 
{ 
echo '<tr> 
<td width="120">'.$data['thenames'].'</td> 
<td width="50"> 
<input type="text" name="newSG'.$i.'" id="newSG'.$i.'" class="evaluation" value="'.$data[$toshow].'" onkeypress="return isNumber(event)" /> 
</td> 
<td> 
<input type="hidden" name="stud'.$i.'" id="stud'.$i.'" value="'.$data['memberID'].'" /> 
</td> 
</tr>'; 
$i++; 
} 
</table> 

正如你可以看到,它創建了一個文本框,並在最後一個隱藏的輸入與名稱和ID以數字。這就是我也想在我的PHP部分發生的事情。

我有這樣的代碼

$ii = 1; 
while ($data = mysql_fetch_array($qry)) 
{ 
$stud(here) = $_POST['stud'(and here)]; <<<< 

$ii++ 
} 

我要聲明使用這種循環變量。正如你所看到的(在這裏,和這裏)我希望有數字1,2,3或取決於我的查詢返回的記錄數。這裏的問題是我想聲明像$ stud1,$ stud2等等。我不知道如何在變量$ stud之後添加循環的值。有人可以幫忙嗎?

+0

yah yah yah這是我的問題。你能給我一個變量與數字連接的語法的例子嗎? –

+0

不要使用變量變量。只需使用一個數組。 – Barmar

+0

@ Rizier123不要幫他做錯事。 – Barmar

回答

1

改爲創建關聯數組。

$studs = array(); while(...){ $studs['stud'.index] = $row; }

訪問它:

echo $studs['stud1'][field];

如果你真的想把它當作一個變量,則:

eval('return $stud'.$ii.'=json_decode(\''.json_encode($row).'\');');

那麼你可以:

echo $stud1->field;

編輯:

看來你與分配後的螺栓變量。然後您可以:

eval('return $stud'.$ii.'=$_POST[\''.$ii.'\']');

訪問它:

echo $stud1;

+0

即時通訊發現有點難以理解,我應該在數組內寫入任何內容(這裏)?和索引這個詞,它應該只是那個詞或我需要的任何索引號嗎?最後是$ row(值),如果它來自post方法。 $ _POST ['stud']我應該如何包含這個數字? –

+0

不要把任何東西放在數組()它只是聲明一個數組。索引應該在你的情況下'$ ii'。 '$ row'應該是你的'mysql_fetch_array'中的$數據 –

0

不要使用單獨的變量,使用數組。

$studs = array(); 
$i = 1; 
while ($data = mysql_fetch_array($querys)) { 
    $studs[$i] = $_POST['studs' . $i]; 
} 

我不知道爲什麼你從POST數據變量填寫一個遍歷數據庫的結果,但是這並不真正相關。

我還建議您從表單輸入中取出$i。給他們的名字如studs[]newSG[],PHP會自動將它們放入一個數組$_POST。你可以這樣做:

$studs = $_POST['studs']; 
$newSG = $_POST['newSG']; 
+0

那裏。完成! :)謝謝@barmar。但你建議的部分,對不起,但我有我的理由,爲什麼我將$ i包含在他們的名字值中。呵呵..非常感謝你:)新年快樂 –