PHP/Mysql 条件语句

标签 php mysql conditional-statements increment

我有一个简单的页面/数据库设置,您可以在其中增加或减少 A 或 B 的总分。

我得到了一些帮助,将一些东西放入它们自己的函数中来清理东西。我是 php 和 mysql 的新手;阅读我所拥有的内容,我理解所有的逻辑,我只是​​不知道如何完成它,从某种意义上说,就像现在一样,任何按钮都会添加一个点;我也需要让减点按钮正常工作。

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

这是我所拥有的:

<?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  );

?>

最佳答案

看来您也不一定需要第一个 SQL 查询。例如,只要点字段是数字而不是字符串,您就可以使用数据库中的当前值并让它自行更新。对代码的主要 PHP 部分尝试此操作。

<?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'];
}

?>

关于PHP/Mysql 条件语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4169479/

相关文章:

javascript - Jquery - 条件下拉列表不保持打开状态

php - 通过键名仅从 JSON 获取特定键/值,而不是全部

php -::PHP 5.4 中的等效类

javascript - Angular 无法正确发送 http post

mysql - 修复多列唯一约束 E 上的 "maximum key length...."警告的最佳方法

javascript - 使用 javascript/jquery 伪造 Gif

java - Android 应用程序在登录和注册时崩溃

javascript - Google Charts 动态数组 PHP 不带 SQL

php - 从 bool 变化表中进行高效的 SELECT

R:独特的组合(避免a-b和b-a以及相同的例如a-a,b-b)