更新 ( *代码正常运行,我更新了完整代码:) * )
更新(**编辑建议仍然无效:) **)
大家好,我一直在寻找这里的许多帖子,关于在php页面上的下拉列表中指定的table_field中使用php加1。我对此非常陌生,所以我只是尝试了一些东西,看看我是否可以让它工作,但对我来说这并不容易:)
所以我们走了。 正如您在代码中看到的那样,从成员表中获取数据会产生困难。在此表中有一个字段“isMcount”,当一个人从下拉列表中选择一个成员然后按下提交我需要它在“isMcount”列中为该指定成员+1,该成员在下拉列表中处于活动状态 希望你会帮忙。 这是表格设置: isMcount Type = int(100)Null = No Default =(as defiend)= 1
<?php
require('includes/config.php'); ?>
<?php
if(isset($_POST['submit'])){
$row1 = $_POST['username'];
$row1 = mysql_real_escape_string($row1);
mysql_query("UPDATE members SET isMcount = isMcount + 1 WHERE username = '".$row1."' ") or die(mysql_error());
$_SESSION['success'] = 'Page Updated';
header('Location: '.DIRADMIN);
exit();
}
?>
<form method="post">
<select name="username">
<?php
$sql = mysql_query("SELECT username FROM members");
while ($row1 = mysql_fetch_array($sql)){
echo "<option value=\"" . $row1['username'] . "\">" . $row1['username'] . "</option>";
}
?>
</select>
<input type="submit" name="submit" value="Submit" class="button" />
</form>
答案 0 :(得分:1)
你有错误的HTML部分。尝试以下选项。 &#34;用户名&#34;是select的字段名称,将在$ _POST [&#39;用户名&#39;]上显示,其值为您的用户的用户名。
<form method="post">
<select name="username">
<?php
$sql = mysql_query("SELECT username FROM members");
while ($row1 = mysql_fetch_array($sql)){
echo "<option value=\"" . $row1['username'] . "\">" . $row1['username'] . "</option>";
}
?>
</select>
<input type="submit" name="owner" value="submit"/>
</form>
你可以在PHP中从$ _POST中删除isMCount,因为你不需要它。
然后你更新查询将是:
mysql_query("UPDATE members SET isMcount = isMcount + 1 WHERE username = '" . $row1 . "'");
答案 1 :(得分:1)
请检查if条件中的陈述:
$row1 = $row['username']; // It should be $_POST['owner']
$mc = $row['isMcount']; // You don't even need this
mysql_query("UPDATE members SET isMcount = isMcount + 1 WHERE $row1 = username");
您只需从通过表单提交的POST数据中获取用户名。
所以,你的查询应该是这样的:
mysql_query("UPDATE members SET isMcount = isMcount + 1 WHERE username = '".$row1."' ") or die(mysql_error());
此外,您应该将HTML更改为:
echo "<option value=\"" . $row1['username'] . "\">" . $row1['username'] . "</option>";
希望这有帮助。
和平!的xD
答案 2 :(得分:1)
您的代码中有一些可疑区域
<form action="#" method="POST">
<?php
if(isset($_POST['submit'])){
$username = $row['username'];
$mc = $row['isMcount'];
$row1 = mysql_real_escape_string($row1);
$mc = mysql_real_escape_string($mc);
mysql_query("UPDATE members SET isMcount = isMcount + 1 WHERE username = '$username'");
$_SESSION['success'] = 'Page Updated';
header('Location: '.DIRADMIN);
exit();
}
?>
<select name="username">
<?php
$sql = mysql_query("SELECT username FROM members");
while ($row1 = mysql_fetch_array($sql)){
echo "<option value='".$row1['username']."'>".$row1['username']."</option>";
}
?>
</select>
<input type="submit" name="submit" value="submit"/>
</form>
建议:使用mysqli或pdo代替mysql