2012-01-13 76 views
-2

// Hy..I具有下面的代碼段:我在做什麼我的PHP文本框代碼錯了?

mysql_select_db("baza_chestionar", $con); 

$result = mysql_query("SELECT intrebari.descriere_intrebare,intrebari.nume_admin,intrebari.id_chestionar FROM intrebari WHERE intrebari.nume_admin='".$_SESSION['nume_admin']."' AND intrebari.id_chestionar='".$_SESSION['nr_chestionar']."' "); 

$i=0; 
while ($row = mysql_fetch_array($result)) 
    { 
    $i++; 
    echo $i.")&nbsp". $row['descriere_intrebare']; 
    echo "<br><br>"; 
    echo "<form method='POST' action='selectare_raspuns.php' id='myform' > 
     <input type='text' size='30' name='intrebare[]'> 
     </form>  "; 
    echo "<br><br>"; 

    } 

echo "<input type='submit' value='Salveaza raspunsuri' onclick='myform.submit()'/>"; 
mysql_close($con); 

//這從表中選擇一些數據並顯示它,併爲每個數據的文本框。我有另一個頁面從文本框中獲取數據並將其插入另一個表中。這裏是代碼:

foreach($_POST['intrebare'] AS $textbox) 
{ 
    $sql="INSERT INTO raspunsuri values ('','$textbox')"; 
    var_dump($sql); 
    if (!mysql_query($sql)) 
     { 
     die('Error: ' . mysql_error()); 
     } 
    echo "1 record added"; 
} 

//但它只插入第一個文本框的第一個值。我究竟做錯了什麼?我聲明文本框爲數組的我環通在foreach語句的名字..

回答

1

你的循環形式myform的爲好。 FORM標記應取出while循環和提交按鈕的形式應爲標籤(所以你可以使用它沒有JS)內。此外,只需print_r您的POST數據以確認您有數據。

+0

你似乎對這個牢牢把握,你能解釋一下誰這一部分作品:具體的名稱屬性。將名稱作爲數組完成什麼?謝謝。 – Andy 2012-01-13 08:16:20

+0

它允許您發佈的數據被視爲一個數組。如果您有複選框,並且您想要對點擊的所有複選框執行操作,此功能特別有用。你可以給他們每個人的名稱(錯誤的方式),或者你可以只把他們當作一個數組,然後遍歷他們在服務器端。 – JohnP 2012-01-13 08:31:23

+0

因此,在這種情況下,每個文本框文本將被放入intrebare []的下一個可用索引中,從0到最後一個是什麼? – Andy 2012-01-13 17:51:59

1

你的問題是,你在你的頁面中使用多個表單標籤。所以只有一個值文本框被髮送到你的第二頁。您必須在while循環前聲明表單標籤,並在循環後關閉標籤。

+0

謝謝你們的快速response..It正常工作...非常感謝:) – user1147188 2012-01-13 09:04:50

1

您的形式標記在循環內迴盪。 Put在外面。

echo "<form method='POST' action='selectare_raspuns.php' id='myform' >\n"; 
while ($row = mysql_fetch_array($result)) 
{ 
     $i++; 
     echo $i.") ". $row['descriere_intrebare'] ."<br /><br /><input type='text' size='30' name='intrebare[]'><br /><br />"; 
} 
echo "<input type='submit' value='Salveaza raspunsuri' name="submit" />\n"; 
."</form>\n"; 
+0

謝謝你們的快速response..It正常工作...感謝了很多:) – user1147188 2012-01-13 09:07:07