【发布时间】:2015-07-11 14:51:25
【问题描述】:
当我按下提交按钮时,变量“评级”只会从最后一行传递。其他的都是空的。
<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') { ?>
<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>'; }
elseif ($rolle == 9) {
echo '<button type="freigeben" value="' . $show['id']. '" name="freigeben">Freigeben?</button>';
}?></td>
</tr>
</tbody>
<? }
}?>
</table>
只有最后一行的“评分”会被传递给
if (isset($_POST['submit'])) {
echo $_POST['rating'];
echo $_POST['submit'];
//mysql_query("SET CHARACTER SET 'utf8'");
$db = mysql_connect("localhost", "xx", "xx");
mysql_select_db("cx",$db);
//Rating eingeben
$sql = "UPDATE wp_awa_upload SET count = count + '$_POST[rating]' WHERE id = '$_POST[submit]'";
$result = mysql_query($sql,$db);
//Session eintragen
$sql_insert = "INSERT into wp_awa_session (upload_id, user_id) VALUES('$_POST[submit]', '$_SESSION[id]')";
$result = mysql_query($sql_insert,$db);
echo $sql_insert;
echo $sql;
}
将显示所有行,但是当我按下提交按钮时,只有在按下最后一行的按钮时,才会传递评分下拉列表中的变量。
感谢您的帮助!
亲切的问候,
斯蒂芬
【问题讨论】:
-
将错误报告添加到文件顶部,紧跟在打开 PHP 标记之后,例如
<?php error_reporting(E_ALL); ini_set('display_errors', 1);,然后是其余代码,以查看它是否产生任何结果。还将or die(mysql_error())添加到mysql_query()并确保您已经开始了会话。 -
亲爱的 Fred,error_reporting 已开启且未显示任何内容。我假设错误出在按钮上 - 因为只有最后一个按钮获得正确的“评级”数字......
标签: php mysql while-loop