0

我想问当按下 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>

现在,在此循环中生成的每个项目在表的末尾都有一个“已解决”按钮,我想这样做,所以当用户单击该按钮时,执行一个 Sql 查询,将已解决的值从 0 更改为) 到 1 (真)。

4

2 回答 2

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');
            }
        );
    });
});

简而言之:当您单击按钮时,您会向执行 SQL 查询的地方.button_solve_it发出 AJAX 请求。solve_query.php然后,它将列中行的内容设置Solved?1true或任何您想要的)。

于 2013-01-11T12:34:33.177 回答
0

你需要ajax。编写按钮 onclick 并进行 ajax 调用。

于 2013-01-11T09:57:44.080 回答