當我按下Submit按鈕時,變量「rating」只會從最後一行傳遞。其他人只是空的。PHP While循環 - 變量將僅傳遞到最後一個條目
<form method="POST" action="<?php echo $_SERVER["PHP_SELF"]; ?>" enctype="multipart/form-data">
<table width="800" border="0" align="center" class="zui-table">
<thead>
<tr>
<td colspan="4">
</td>
</tr>
<tr>
<th width="96">Kategorie</th>
<th width="177">Unterkategorie</th>
<th width="299">Beitrag</th>
<th width="210"><? if ($rolle == '1') { echo 'Bewertung'; } elseif ($rolle== '9') { echo 'Freischalten';} else { echo 'Status';} ?></th>
<? while ($show = mysql_fetch_array($abfrage)) { ?>
</tr>
</thead>
<tbody>
<tr>
<td><? echo $show['category']; ?></td>
<td><? echo $show['subcategory']; ?></td>
<td><a href="<? echo $show[url] ?>" data-lightbox="<? echo $show['file_name'] ?>" data-title="<? echo $show['file_name'] ?>"><img src="timthumb.php?src=<?php echo $show['url'] ?>&w=300&h=150" alt="resized image" BORDER="2"/></a> </td>
<td><? if ($rolle == '1') { ?>
\t <select name="rating" class="style28" style="width: 120px" id="rating">
<option value="0">0</option>
<option value="5">5</option>
<option value="15">15</option>
<option value="20">20</option>
<option value="25">25</option>
<option value="30">30</option>
<option value="35">35</option>
<option value="40">40</option>
<option value="45">45</option>
<option value="50">50</option>
<option value="55">55</option>
<option value="60">60</option>
<option value="65">65</option>
<option value="70">70</option>
<option value="75">75</option>
<option value="80">80</option>
<option value="85">85</option>
<option value="90">90</option>
<option value="95">95</option>
<option value="100">100</option>
</select> <? echo '<button type="submit" value="' . $show['id']. '" name="submit">Bewerten?</button>'; }
\t \t
\t \t elseif ($rolle == 9) {
\t \t \t
\t \t \t echo '<button type="freigeben" value="' . $show['id']. '" name="freigeben">Freigeben?</button>';
\t \t \t
\t \t }?></td>
</tr>
</tbody>
<? }
}?>
</table>
只有 「等級」 中的最後一行將被傳遞到
if (isset($_POST['submit'])) {
\t echo $_POST['rating'];
\t echo $_POST['submit'];
\t //mysql_query("SET CHARACTER SET 'utf8'");
\t
\t $db = mysql_connect("localhost", "xx", "xx");
\t mysql_select_db("cx",$db);
\t
\t //Rating eingeben
\t $sql = "UPDATE wp_awa_upload SET count = count + '$_POST[rating]' WHERE id = '$_POST[submit]'";
\t $result = mysql_query($sql,$db);
\t
\t //Session eintragen
\t
\t $sql_insert = "INSERT into wp_awa_session (upload_id, user_id) VALUES('$_POST[submit]', '$_SESSION[id]')";
\t $result = mysql_query($sql_insert,$db);
\t
\t echo $sql_insert;
\t echo $sql;
}
所有行會被顯示出來,但是當我按在提交按鈕上,那麼評級下拉菜單中的變量只會被傳遞最後一行的按鈕已被按下。
感謝您的幫助!
親切的問候,
斯特凡
在打開PHP標記 (例如'<?php error_reporting(E_ALL);)後立即將錯誤報告添加到文件頂部。 ini_set('display_errors',1);'然後你的代碼的其餘部分,看看它是否產生任何東西。 還要將'或者死(mysql_error())'添加到'mysql_query()'並確保你已經開始了會話。 –
親愛的弗雷德,error_reporting已打開,並沒有顯示任何東西。我假設錯誤在按鈕 - 因爲只有最後一個按鈕獲得正確的「評級」數字... – Bosstone