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 に答える