单选按钮测试的结果不会插入数据库,哪有错误?

时间:2015-02-13 12:42:33

标签: php mysql database forms radio-button

对不起简单的问题,但我试了太长时间,不能这样做。

  

所以问题是:我测试了三个无线电选项,并且   对于每个选项被按下我希望该选项增加1或   我想要的任何数字,然后添加每个单选按钮的计数   被压到数据库???我有一个名为'test'的mysql表   有三个元素:'gr' - varchar - 255 - utf8general_ci,'re' -   int - 10,'ye' - int - 10。所以当有人按下例如收音机时   值为绿色的按钮,我想在我的sql表'test'中'gr'   增加1。

PHP代码:

<?php

$a=mysql_connect('xxxx','xxxx','xxxx');

$b=mysql_select_db('xxxx',$a);

$red=1;
$green=1;
$yellow=1;

if ($_POST){


if ($_POST['color']=='green'){

$green+=1;

$query='UPDATE test SET gr='.$green.'';

mysql_query($query);

 }

 if ($_POST['color']=='red'){

 $red+=1;

$query='UPDATE test SET re='.$red.'';

mysql_query($query);

 }

 if ($_POST['color']=='yellow'){

$yellow+=1;


$query='UPDATE test SET ye='.$yellow.'';

mysql_query($query);

 }

 }

?>

这是我的HTML代码:

<form action="indexni.php" method="POST ">
    <input type="radio" name="color" value="green" />Green<br>
    <input type="radio" name="color" value="red" />Red<br>
    <input type="radio" name="color" value="yellow" />Yellow<br>
    <input type ="submit" />
    </form>

2 个答案:

答案 0 :(得分:1)

但是你每次都将那些$ red,$ green,$ blue计数器设置为1?这样每次从1开始。你应该只增加当前值:

$query='UPDATE test SET ye=ye+1';

但如果你不为每种颜色都有不同的表......我希望你不要......然后你必须以某种方式区分行......你需要WHERE条件。

无论如何你的表格结构如何?

我们假设您的表格test包含字段colorclicks,并且假设您有3行表color字段包含值(每行)redgreenyellow。 在这种情况下,您可以使用mySql查询来增加颜色计数器,如下所示:

$query='UPDATE test SET clicks = clicks+1 WHERE color = "yellow"';

类似的东西。

答案 1 :(得分:1)

你的错误是空间&#39;。请参阅此method="POST "。更改此method="POST",这对您有用。