2016-08-02 8 views
0

私はドロップダウンリストに以下のコードを入力しています。 タイプ= xをユーザー入力ボタンから所定のオプションに変更したいと考えています。これが可能かどうかわかりません。特に、最初のクエリからプルダウンが既に入力されているため、ページの更新は必要ありません。ボタンのクリックまたはドロップダウンでMySQLクエリを変更してください

ページを更新せずに選択したユーザーに基づいて動的なクエリが必要です。たぶん私はAngularのような別の言語を見る必要があります。

<?php 
echo "<b>Start:<b/>"; 
echo "<select id='start' class=''>"; 

$list_query = mysqli_query($server, "SELECT `id`, `street`, `description`, `lat`, `lng`, `note`, `type` FROM `markers` WHERE `type` = 'red' ORDER BY `street`"); 
while($run_list = mysqli_fetch_array($list_query)){ 
    $u_id = $run_list['id']; 
    $u_street = $run_list['street']; 
    $u_desc = $run_list['description']; 
    $u_note = $run_list['note']; 
    $u_type = $run_list['type']; 
    $u_lat = $run_list['lat']; 
    $u_lng = $run_list['lng']; 

    echo "<option value='$u_lat,$u_lng'>$u_street</option>"; 
} 

echo "</select>"; 
?> 

更新

"コールバック" のIDと本部で次リターン "赤"。代わりに、これでどのようにクエリ文字列を更新するのですか?

例ボタン:

<button id="b1" value="red" onclick="submit_1()">button 1</button> 

アヤックス:

function submit_1() { 
var b1 = document.getElementById("b1").value; 
console.log(b1); 

var dataString = 'b1=' + b1; 

$.ajax({ 
    type: "POST", 
    url: "php/getdata.php", 
    data: dataString, 
    cache: false, 
    success: function(data) { 
     $("#callback").html(data); 
    } 
}); 
} 

シンプルgetdat.php:

<?php 
$b1 = $_POST['b1']; 

if ($b1 == "red") { 
    echo $b1; 
} else { 
    echo 'Not '. $b1; 
} 
?> 
+1

を学ぼうか! –

+0

可能なajaxを使用します。あなたは読んで、何かを試して、ここにあなたのコードを載せるのはどうですか?その後、私たちはあなたを助けてくれるでしょう –

+0

@RafaelShkembi、それは素晴らしいことですが、私は同じページでこれを行う方法については不明です。どんな例? –

答えて

0

AJAXを使用してください。それはPHPとjavascriptで完全に可能です。基本的には、AJAX(onChange)で選択肢を送信し、「GET」メソッドを使用して、成功すると置き換えたいHTML(または対応するデータを返し、それに従ってHTMLを変更します)を返します。

EDITここは一例です:基本的に

あなたはいくつかのアクションを行うと、このようなコードを呼び出す:

「データ」ビュー・ページに保存されているドロップダウン情報である
$.ajax({ 
     url: <?php echo $your_action_url/user_choice;?>, 
     type: 'GET', 
     success: function(data) { 
      $("#dropdown").replaceWith(data); 
     } 
     }); 

(この特定の例ではMVCを使用しています)。基本的には、既存のドロップダウンを正しい情報を含むドロップダウンに置き換えています。あなたは、PHP関数をドロップダウンを置き換えるhtmlを返します。

+0

私はPOSTを使ってフォームを送信するのにAjaxを使用しますが、あなたが推奨しているものがどのように動作しているかはわかりません。任意のヒントや例? –

+0

私の編集例を見てください。 – ccopland

0

Ajaxを使用してサーバにリクエストするクエリ文字列を追加します。

$list_query = mysqli_query($server, "SELECT `id`, `street`,`description`, `lat`, `lng`, `note`, `type` FROM `markers` WHERE `type` = $_GET['type'] ORDER BY `street`"); 
+0

sanitisationなしでは、実際には非常に危険です。私はそれが最初にPHPにタイプを戻す方法である問題を解決するとは思いません。 – moopet

+0

彼は彼がページをリフレッシュしたくないと言った –

関連する問題