2016-06-15 15 views
0

私はこれに慣れていないので、私のli要素のIDを使用してSQLへのリクエストをしたかったのですが、遅すぎて実現できませんでした。今、私は立ち往生しています。私は、これを長い道のりで行い、各liを個別にコーディングする以外に、どのように進むべきか分かりません。ここPHPからSQLへのリクエスト

は私のコードである:

  <li style="float: right;">Themes 
      <ul> 

      <?php 
       $id_count = 0; 
       $db=mysql_connect('localhost','root',''); 
       if(!$db) { 
        die('Could not connect: '.mysql_error()); 
       } 
       $connection_string=mysql_select_db('Mydb',$db); 
       $selectSQL='SELECT * FROM color_patterns';  
       $queryset=mysql_query($selectSQL); 
       $num=mysql_num_rows($queryset); 
       if(0==$num) { 
        echo "No record"; 
        exit; 
       } else { 
        while($row=mysql_fetch_assoc($queryset)) {?> 
        <li id="<?php echo($id_count) ?>" onclick=" 
           $sql='SELECT * FROM color_elements WHERE pat_ID = "the index of the li"';  
           $query=mysql_query($sql); 
           $hex1 = "hex code in row 1" 
           $hex2 = "hex code in row 2" 
           $hex3 = "hex code in row 3""> 
         <?php echo($row['name']); 
         $id_count++; 
         ?></li><?php 
        } 

       } 
      ?> 


      </ul> 
     </li> 

テーマリスト要素は、whileループによって取り込まれ、ドロップダウンリストを持っている(これはテーブルcolor_patternsに行ごとに新しいリチウムを作成し、名前を置きます行のタイトルとして、この部分は完全に動作します)。ユーザーがドロップダウンリストでliのいずれかをクリックすると、color_elementsテーブルにSQLリクエストを送信したが、ここではid = "クリックされたliインデックス"になり、3行のテーブルが取得され、各行の "hex_code"カラムに3つのphp変数の1つが入ります。とにかくこれを行うことはできません(主にクリックされたliインデックスをSQLに送ります)、それは可能か、別の方法で行う必要がありますか(私は別の方法を知っていますが、例えば

: マイcolor_patternsテーブルは、whileループは2 LiはAおよび他のB、 ユーザがクリックすると、SQLコマンドが実行された標識されたものを標識作成名前AとBとの2行、

を有します:

$sql='SELECT * FROM color_elements WHERE pat_ID = 1'; //here 1 is the index of A 

これは、3行のテーブルを返し、Iは第1、第2および第3行に基づいて $ HEX1、$ HEX2、$ hex3値を代入する "hex_code" カラムを使用します。

助けを借りてください。ありがとうございました。

+5

[mysql_ *関数の使用をやめる](http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php)ください。 [これらの拡張機能](http://php.net/manual/en/migration70.removed-exts-sapis.php)はPHP 7で削除されました。[prepared](http://en.wikipedia.org/ [PDO](http://php.net/manual/en/pdo.prepared-statements.php)および[MySQLi](http://php.net/manual/en/mysqli.quickstart)のwiki/Prepared_statement)ステートメント.prepared-statements.php)、PDOの使用を検討してください。[これは本当に簡単です](http://jayblanchard.net/demystifying_php_pdo.html)。 –

+0

JavaScriptはクライアント側で、PHPはサーバー側です。 JavaScriptで直接クエリを実行することはできません.AJAXを使用して必要なデータを取得し、AJAXリクエストをPHPスクリプトに書き込んでデータベースに問い合わせます。 –

+0

PDOについて私は気づいていませんでしたが、私はそれを読んでいますが、それはli索引の問題を解決していますか?それは私が持っている最大の問題です。ユーザがliをクリックしたときにliのインデックスをSQLに送信する方法がわかりません。 –

答えて

0
while($row=mysql_fetch_assoc($queryset)) {?> 
        <li id="<?php echo($id_count) ?>" onclick=' 
           $sql="SELECT * FROM color_elements WHERE pat_ID = $id_count"';  
           $query=mysql_query($sql); 
           $hex1 = "hex code in row 1" 
           $hex2 = "hex code in row 2" 
           $hex3 = "hex code in row 3""> 
         <?php echo($row['name']); 
         $id_count++; 
         ?></li><?php 
        } 

なぜMySQlがPHPで利用可能な場合、その値を取得したいのですか?

関連する問題