2

我的数据库出现问题并在其中设置了一些信息。我有一个复选框,当我点击它时,我希望它在我点击复选框时立即更改数据库中的值。我尝试了一些 if(isset($_POST['showToilet']){} 然后更改它。它不起作用,因为它可能必须重置页面。

我的一个朋友说这可能是一个javascript的东西。遗憾的是,我以前从未使用过 JS。

所以我的问题是:我可以通过单击复选框立即设置数据库信息吗?

您可以在下面找到我的代码:

    <h2 align='center'>Toilet gegevens</h2>
    <?php



    $queryToilet = "SELECT * FROM toilet;";
    $resultToilet = mysql_query($queryToilet);

    echo "<table border ='1' align='center'>
        <tr bgcolor= 'grey'>
            <th>Show</th>
            <th>Toilet</th>
            <th>Art. nr.</th>
            <th>Art. nr fab.</th>
            <th>EAN nr.</th>
            <th>Closet</th>
            <th>Closet Afvoer</th>
            <th>Bevest schrf</th>
            <th>Reservoir</th>
            <th>Hoekstop kr</th>
            <th>Closet zitting</th>
            <th>Imagenaam</th>
            <th>Documentnaam</th>
            <th>Edit</th>   
        </tr>";

    while($row2 = mysql_fetch_array($resultToilet))
        {
             echo "<tr bgcolor ='white'>";
             if($row2['Show'] == 1)
             {
                echo "<td><input type='checkbox' name='showToilet' value='true'  checked/></td>";
             }
             else
             {
                echo "<td><input type='checkbox' name='showToilet' value='true'/></td>";
             }

             if(isset($_POST['showToilet']))
             {
                $queryChangeShow = "Update toilet SET show ='" . $_POST['Show'] . "'";
             }
             echo "<td>" . $row2['Toilet'] . "</td>";
             echo "<td>" . $row2['Artnr'] . "</td>";
             echo "<td>" . $row2['ArtNrFabrikant'] . "</td>";
             echo "<td>" . $row2['EANnr'] . "</td>";
             echo "<td>" . $row2['Closet'] . "</td>";
             echo "<td>" . $row2['ClosetAfvoer'] . "</td>";
             echo "<td>" . $row2['Bevestigingsschroef'] . "</td>";
             echo "<td>" . $row2['Reservoir'] . "</td>";
             echo "<td>" . $row2['Hoekstopkraan'] . "</td>";
             echo "<td>" . $row2['Closetzitting'] . "</td>";
             echo "<td>" . $row2['ImagePath'] ."</td>";
             echo "<td>" . $row2['DocumentPath'] . "</td>";
             echo "<td><a href=EditToilet.php?id=" . $row2['Artnr'] . ">edit</a></td>";
             echo "</tr>";
         }  
        echo "</table><br />";
4

3 回答 3

1

如果没有 Javascript,就不可能在不重新加载页面的情况下向服务器发送请求。

使用 Javascript,您可以向服务器发出AJAX 请求,服务器可以立即处理该操作,并返回有关该过程成功或失败的信息。

于 2013-09-09T08:12:33.680 回答
1

您可以使用 ajax 请求使用 Javascript 来做到这一点,或者,如果您想让它更容易,可以使用 jQuery ajax 请求!

检查这个

例子:

$.ajax({
  type: "POST",
  url: "some.php",
  data: { name: "John", location: "Boston" }
}).done(function( msg ) {
  alert( "Data Saved: " + msg );
});
于 2013-09-09T08:14:26.417 回答
0

按着这些次序:

  1. 单击复选框捕获您需要设置的变量。
  2. 通过 Ajax Post 将其作为数据传递
  3. 在另一个php页面的处理页面中,使用普通的php查询获取数据并在数据库中更改它。
  4. 然后将必要的响应发送到您的主页。

最初,您需要时间来理解该过程。但它构成了任何基于 AJAX 的操作的基础。

一切顺利。

于 2013-09-09T12:55:45.257 回答