PHP/Mysql条件语句

PHP/Mysql条件语句,php,mysql,conditional,increment,Php,Mysql,Conditional,Increment,我有一个简单的页面/数据库设置,您可以增加或减少个人a或个人B的总分 我得到了一些帮助,把一些东西放到它们自己的功能中去清理。我不熟悉php和mysql;翻阅我所拥有的,我理解所有的逻辑,我只是不知道如何完成它,在这个意义上,就像现在一样,任何按钮都会增加一个点;我需要让减法点按钮也工作 我的数据库是表“user”,其中包含点和名称 以下是我所拥有的: <?php function print_r_dump( $val ) { echo '<pre>'; print_r( $v

我有一个简单的页面/数据库设置,您可以增加或减少个人a或个人B的总分

我得到了一些帮助,把一些东西放到它们自己的功能中去清理。我不熟悉php和mysql;翻阅我所拥有的,我理解所有的逻辑,我只是不知道如何完成它,在这个意义上,就像现在一样,任何按钮都会增加一个点;我需要让减法点按钮也工作

我的数据库是表“user”,其中包含点和名称

以下是我所拥有的:

<?php
function print_r_dump( $val )
{
echo '<pre>';
print_r( $val );
echo '</pre>';
}

//if ( isset( $_POST ) || isset( $_POST['Add point'] ) )
if ( isset( $_POST ) )
{

//Prints what's in post
print_r_dump( $_POST );

$str = "select * from user where name = '";
$str .= $_POST['person'];
$str .= "'";

$link = mysql_connect('mysql.xxxxx.net', 'xxxxx', 'xxxxx');
mysql_select_db('xxxxx_points', $link);
$result = mysql_query( $str , $link);

$row = mysql_fetch_assoc($result) ;
$points = $row['points'];

$str = 'update user set points = '. ($points+1) . ' where name = \''. $_POST['person'] . '\'';
$result = mysql_query( $str , $link);
}




$link = mysql_connect('mysql.xxxxx.net', 'xxxxx', 'xxxxx');
mysql_select_db('xxxxx_points', $link);

$str = "SELECT points FROM user WHERE name='Person A'" ;
$str = "SELECT * FROM user ";
$result = mysql_query( $str , $link);


$results = array();
while ( $row = mysql_fetch_assoc($result) )
{
$results[ $row['name'] ] = $row['points'];
}

?>

Person A's count: <?php echo $results['Person A']; ?>
<br>


<form method="post" action="index.php">
<input type="submit" name="submit_button" value="Add point" />
<input type="submit" name="submit_button" value="Subtract point" />
<input type="hidden" name="person" value="Person A" />
</form>

<br>

Person B's count: <?php echo $results['Person B']; ?>
<br>

<form method="post" action="index.php">
<input type="submit" name="submit_button" value="Add point" />
<input type="submit" name="submit_button" value="Subtract point" />
<input type="hidden" name="person" value="Person B" />
</form>

<?

print_r_dump( $results  );

?>
<?php
function print_r_dump( $val )
{
echo '<pre>';
print_r( $val );
echo '</pre>';
}

if ( isset( $_POST ) )
{

//Prints what's in post
print_r_dump( $_POST );

$link = mysql_connect('mysql.xxxxx.net', 'xxxxx', 'xxxxx');
mysql_select_db('xxxxx_points', $link);

$str = "";

    if ($_POST['submit_button']=='Add point')
    {
    $str = 'update user set points = points+1 where name = \''. $_POST['person'] . '\'';
    }
    else if ($_POST['submit_button']=='Subtract point')
    {
    $str = 'update user set points = points-1 where name = \''. $_POST['person'] . '\'';
    }
    if ($str)
    {
    $result = mysql_query( $str , $link);
    }
}

$str = "SELECT points FROM user WHERE name='Person A'" ;
$str = "SELECT * FROM user ";
$result = mysql_query( $str , $link);


$results = array();
while ( $row = mysql_fetch_assoc($result) )
{
$results[ $row['name'] ] = $row['points'];
}

?>

有很多错误:

  • 您不需要创建新链接 每次运行查询时
  • 这一行根本不安全:$str.=$\u POST['person'];任何人都可以黑客 你的密码
  • 您应该检查您的结果(从mysql返回)是否有效
我试着把它清理一下。这里和那里可能会有一些错误(我没有测试),但请演示我刚才所说的:


A人的计数:


B人的计数:

看起来您也不一定需要第一个SQL查询。例如,只要points字段是数字而不是字符串,就可以使用数据库中的当前值并使其自身更新。对于代码的主要PHP部分,请尝试使用此方法


你的问题是什么,你希望我们为你做什么?现在,任何一个按钮都会增加分数。我需要区分,所以减法按钮会递减。请给我们显示输入的表单代码。这就是全部。。这是我的index.phpYes,我知道这个代码是不安全的,但这将不是一个公开或已知的页面。只有少数人分享。让我检查一下,我不能理解条件语句。。如果(isset($\u POST[submit\u button]=='Add point'))是我想到的…最好不要在命名时使用这些空格。。。添加点比使用添加点更简单。原因是在不同的层中以不同的方式处理空格。其想法是,由于两个按钮都有相同的名称,但返回的值不同,因此您可以检查这些值,而不是使用不同的名称,并检查是否有任何按钮是使用isset()单击的我唯一不明白的是你使用“人A”的那一行,你能解释一下你在那里是如何使用的,但在其他地方没有使用人B吗?如果不是A,那么是不是其他的一切,因为我们只有一个选择?如果你指的是行($str=“SELECT points FROM user WHERE name='Person A'”),我只是把它放在那里,因为你有它。该行没有任何作用,因为下一行($str=“SELECT*FROM user”;)将覆盖它并从用户表中选择所有数据。你可以把A个人的电话拔出来,我只是觉得你有调试的目的。
<?php
function print_r_dump( $val )
{
echo '<pre>';
print_r( $val );
echo '</pre>';
}

if ( isset( $_POST ) )
{

//Prints what's in post
print_r_dump( $_POST );

$link = mysql_connect('mysql.xxxxx.net', 'xxxxx', 'xxxxx');
mysql_select_db('xxxxx_points', $link);

$str = "";

    if ($_POST['submit_button']=='Add point')
    {
    $str = 'update user set points = points+1 where name = \''. $_POST['person'] . '\'';
    }
    else if ($_POST['submit_button']=='Subtract point')
    {
    $str = 'update user set points = points-1 where name = \''. $_POST['person'] . '\'';
    }
    if ($str)
    {
    $result = mysql_query( $str , $link);
    }
}

$str = "SELECT points FROM user WHERE name='Person A'" ;
$str = "SELECT * FROM user ";
$result = mysql_query( $str , $link);


$results = array();
while ( $row = mysql_fetch_assoc($result) )
{
$results[ $row['name'] ] = $row['points'];
}

?>