2016-08-15 68 views
-1

我的问题是:如何在单击按钮时将number(int)插入countTable?如何只记录int值从html(php)到mysql数据库表?

这是我的示例代码,谢谢。

HTML

<form action="check.php" method="POST"> 
    <button name="a">a</button> 
    <button name="b">b</button> 
    <button name="c">c</button> 
</form> 

check.php

require('connect.php'); 
$A = $_POST["a"]; 
$B = $_POST["b"]; 
$C = $_POST["c"]; 
$sql = "INSERT INTO countTable (numA,numB,numC) 
VALUES(:numA,:numB,:numC)"; 
$pre = $conn->prepare($sql); 

$pre->bindValue(':numA',$A); 
$pre->bindValue(':numB',$B); 
$pre->bindValue(':numC',$C); 

$r = $pre->execute(); 

MySQL的countTable

create table countTable (
id varbinary(64) not null, 
numA int(100), 
numB int(100), 
numC int(100), 
primary key(id) 
); 
+1

该代码失败的方式是什么? – David

+0

@David 当我点击A按钮时出现错误,其余的B和C按钮就像这样 - >注意:未定义索引.... – Tuang

+1

a,b,c不是整数,所以试图将它们放入整数字段没有意义 – 2016-08-15 02:33:35

回答

1

的按键用于创建事件,与其说是捕捉表单输入。你实际上并没有设置或捕捉任何值,所以你应该期望你的POST变量是空的。

根据您所要完成的是什么,我想提出以下建议:

<form action="check.php" method="POST"> 
    <input type="hidden" name="option" value="A" /> 
    <input type="submit" value="A" /> 
</form> 

<form action="check.php" method="POST"> 
    <input type="hidden" name="option" value="B" /> 
    <input type="submit" value="B" /> 
</form> 

<form action="check.php" method="POST"> 
    <input type="hidden" name="option" value="C" /> 
    <input type="submit" value="C" /> 
</form> 

//PHP side 
$selected_value = $_POST['option']; 

//... do more stuff 

他,我们有3种不同形式,都带有隐藏的价值代表。提交表单后,此隐藏值将通过POST发送。

+0

谢谢,我希望这可能有用,但如果值不是字符串=“A”, 我想int值,该int值是增加和记录到表格当我点击按钮 – Tuang

+0

您将需要验证值。在PHP文档中查看'filter_var()'和'is_numeric()' – Chris

相关问题