我想问一下当按下HTML按钮时如何调用Sql查询。我看了几个教程,但从来没有让它正常工作,这就是为什么我想在这里问。
所以..我有一个显示的项目列表,列表是从数据库生成的。代码如下所示:
<table width="100%" border="1" cellspacing="1" cellpadding="5" style="background-color:#FFC" >
<td>Id</td>
<td>Text</td>
<td>Solved?</td>
<td></td>
<?php
while( $array = mysql_fetch_assoc($queryRun) ) {
?><tr>
<td><?php echo $id = $array['id'].'<br />';?></td>
<td><?php echo $text = $array['text'].'<br />';?></td>
<td><?php echo $reseno = $array['solved'].'<br />';?></td>
<td><input type="button" value="Solve it" /></td>
</tr><?php
}?>
</table>
现在,在这个循环中生成的每个项目在表的末尾都有一个“Solved”按钮,我想在用户点击该按钮时这样做,做一个Sql查询,改变一个值来解决0(假)到1(真)。
答案 0 :(得分:0)
你需要ajax。写按钮onclick并进行ajax调用。
答案 1 :(得分:0)
我没有对此进行测试,但它应该有效。
基本上我已经将一个类应用于任何东西以便在jQuery中轻松选择:
<?php while ($array = mysql_fetch_assoc($queryRun)) { ?>
<tr class="row">
<td class="cell_id">
<?php echo $array['id']; ?>
</td>
<td class="cell_text">
<?php echo $array['text']; ?>
</td>
<td class="cell_solved">
<?php echo $array['solved']; ?>
</td>
<td class="cell_solve_it">
<input class="button_solve_it" type="button" value="Solve it" />
</td>
</tr>
<?php } ?>
然后我创建了这个简短的jQuery脚本:
$('.row').each(function(){
$('.button_solve_it', this).click(function(e){
e.preventDefault();
$.post(
'solve_query.php',
{
id: $('.cell_id', this).html(),
text: $('.cell_text', this).html()
},
function (data) {
$('.cell_solved', this).html('1');
}
);
});
});
简而言之:
单击.button_solve_it
按钮时,向solve_query.php
发出AJAX请求,在那里执行SQL查询。
然后,它会将Solved?
列中的行内容设置为1
(或true
或您想要的任何内容。)