mysql SQL,PHP:when submit plus 1 in table_field specified from SQL

x759pob2  于 9个月前  发布在  Mysql
关注(0)|答案(3)|浏览(119)

嗨,伙计们,我一直在寻找在这里的许多职位关于使用php加1在一个table_field指定的php页面上的一个PHP的.我是非常新的,所以我只是尝试了一些东西,看看我是否可以让它工作,但对我来说,这是不容易的:)
所以我们走吧。正如你可以看到在代码中有一个下拉,从成员表中获取数据。在这个表中有一个字段“isMcount”当一个人从下拉列表中选择了一个成员,然后按下提交我需要它到+1在“isMcount”列中的指定成员,这是在下拉列表中的活动希望你能帮助。

<?php 

if(isset($_POST['submit'])){

    $row1 = $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 $row1 = username");
    $_SESSION['success'] = 'Page Updated';
    header('Location: '.DIRADMIN);
    exit();

}

?>
<select name="owner">
<?php 
$sql = mysql_query("SELECT username FROM members");
while ($row1 = mysql_fetch_array($sql)){
echo "<option value=\"owner1\">" . $row1['username'] . "</option>";
}

?>

</select>
<form method="post"><input type="submit" name="owner" value="submit"/></form>

字符串

j91ykkif

j91ykkif1#

请检查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>";


希望这对你有帮助。
Peace!

jljoyd4f

jljoyd4f2#

您的代码中存在一些可疑区域

<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

ao218c7q

ao218c7q3#

你有错误的HTML部分。尝试下面的选项。“username”是选择的字段名称,将在$_POST ['username']上可用,并为您的用户提供username值。

<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 . "'");

相关问题