2017-05-20 8 views
1

質問がありますか?チェックボックスをオフにしたり、チェックボックスをチェックしてブール値フィールドを更新すると、データベースをどのように更新できますか? mysql?whileループMysqlの更新チェックボックスどこから起動するのですか

<? 
    $result= mysql_query("SELECT * FROM cars"); 
    $counter = 1; 

    while($row = mysql_fetch_array($result)) { 
     echo '<tr> 
      <td>' . $counter++ . '</td> 
      <td><input type="checkbox"'; 
      if ($row['show'] == true) { 
       echo 'checked></td>'; 
      } else { 
       echo 'unchecked></td>'; 
      } 
      echo '<td><img src="../xml/'.$row['cars_id'].'-1.JPG" width="120px"></td>';   
      echo "<td><h3> ", $row['brand']," " . $row['model'], " " . $row['type'], 
      " &euro; " . $row['price'], " </h3></td>"; 
     echo '</tr>'; 
    } 
?> 

P.S.:私は、フォームを作成する方法を知っているか、それはここでwhileループの内部で検証されて かどうかを確認していない問題であるため、この問題で立ち往生日については、私のコードです私はmysqliまたはpdoにmysqlを認識していますが、それは巨大なスクリプトです...

+0

DBを動的に更新しますか?同様に、ユーザーがチェックボックスをクリックすると、ユーザーはフォームを送信する必要なく、DBを更新します。その場合は、Javascriptを使用してリスナーをチェックボックスに追加し、onchangeを使用してSQLを実行してDBを更新するPHPスクリプトをAJAX呼び出しします。 jqueryのようなJavascriptライブラリは、リスナを追加して、ajaxをもっと簡単かつシンプルに呼び出します。 – RToyo

+0

はい、それは私がしたいことです。 – Lightme

+0

@ CoderSamの答えを見てください。また、jqueryライブラリの使い方や、フォーム要素を "聴く"方法、そしてajax呼び出しを送る方法についていくつかの研究を行います。 – RToyo

答えて

0

ああ!ここに解決策はありません。 jqueryとajaxを試してみてください。例えば。

if ( $("#chkbx").prop('checked') == true) { 
    // do ajax call to update the database 
} else { 
    // do anything if check box is unchecked 
} 

私はajax呼び出しを記述していません。jquery ajaxマニュアルを参照してください。あなたは何か問題に直面した場合は戻ってくる。

上記のコードを参照すると、DOMにイベントリスナーが作成されるので、チェックボックスをオンにするとイベントが発生します。 これで、ajax呼び出しを表示するようにコードを拡張しました。

ここでPHPファイルで、データベースの更新部分または必要なものを実行します。 done関数は、phpファイルが正しく実行された場合に返されるmsgを表示します。あなたが使用することができますajaxには数多くの機能があります。また、jqueryを使用しようとすると、使いやすく便利です。

+0

私の答えをより明快に編集しました。 – CoderSam

+0

こんにちはコーダーサム、ありがとう!実際に私の最後の1つの質問も...どのように私はそれがそれをしていない部分が動作しますが、チェックボックスのIDが送信されていないtest.phpファイルを送信することができます(私のコードは、 – Lightme

0

は今、私が唯一のデータベースはアヤックス

でどのように機能するかに注力しなければならない。これは、私が追加するものであり、これで私はそれが残りの部分は、ブール値の行を変更何であるか、今の仕事をすることをエコーすることができ、ありがとうございました私はかなり遠く、すべてが1つのparticulairの事を除いて動作していることだ

<script type="text/javascript"> 

function change_checkbox(el){ 
    if(el.checked){ 
     alert("On"); 
    }else{ 
     alert("Off"); 
    } 
} 

0

[ 'ショー']。

私は今顔が、私はこれは私がこれまでに思い付いたものですどのように私はこれを行うことができ、正しいチェックボックスからtest.phpをページにデータIDのを送ることができないことは何か問題:

<? 
$result= mysql_query("SELECT * FROM cars"); 
$counter = 1; 

while($row = mysql_fetch_array($result)){ 
     echo '<tr> 
      <td>' . $counter++ . '</td> 
      <td><input id="'.$row['cars_id'].'" onchange="change_checkbox(this)" type="checkbox"'; 
      if ($row['toon'] == true){ 
       echo 'checked></td>'; 
      }else 
      { 
      echo 'unchecked></td>'; 
     } 
    echo '<td><img src="../xml/'.$row['cars_id'].'-1.JPG" width="120px"></td>';   
    echo "<td><h3> ", $row['brand']," " . $row['model'], " " . $row['type'], " &euro; " . $row['price'], " </h3></td>"; 
    echo '</tr>'; 
} 
?> 
       </tbody> 
      </table> 
     </section> 
<script type="text/javascript"> 

    function change_checkbox(el){ 
    var id = null; 
    if(el.checked){    
     alert("On"); 
      $.ajax ({ 
      method: "POST", // type:post or get 
      url: "test.php", // your php file 
      data: { id: id } // data that I want to send 
     }).done(function(msg) { 
      alert("Data Saved: " + msg); // after success show msg 
     })   
    }else{ 
     alert("Off"); 
      $.ajax ({ 
      method: "POST", // type:post or get 
      url: "test.php", // your php file 
      data: { name: "test"} // data that I want to send 
     }).done(function(msg) { 
      alert("Data Saved: " + msg); // after success show msg 
     }) 
    } 
    } 

関連する問題