2017-08-21 17 views
1

我有一個下拉框如何通過值來查詢在同一頁中的PHP?

<select> 
<option value=1>A</option> 
<option value=2>B</option> 
</select> 

在php代碼我有一個查詢

<?php $sql='select * from table where id='.'SELECTOPTIONVALUE' ?> 

我需要通過在條款(ID = SELECTOPTIONVALUE)選擇的值 如何通過在值從下拉菜單...任何幫助條款..

感謝,

納瓦茲

+1

注意https://en.wikipedia.org/wiki/SQL_injection –

+0

此代碼是爲您的服務器難以置信的危險,因爲你是directy注入的變量進入您的查詢。請考慮使用PDO代替這種變量處理,此代碼會將您暴露給潛在的SQL注入,在嘗試將變量傳遞給其他頁面之前應該避免這種情況;) – briosheje

+0

這不是最佳做法,和html代碼在同一頁上。分開它們並使用ajax或表單提交事件來傳遞選定的下拉列表的值 – Lalit

回答

0

我想下面的代碼可以幫助您解決問題

<?php 
    $sql = 'select * from table where id = '.$_GET['selected'].' ' ; 
    ?> 
    <select name="selected" id="model"> 
     <option value="">Select</option> 
     <option value="1" <?php if($_GET['selected'] == 1) echo 'selected';?> >A</option> 
     <option value="2" <?php if($_GET['selected'] == 2) echo 'selected';?>>B</option> 
    </select> 
    <script type="text/javascript"> 
     var select = document.getElementById("model"); 
     select.onchange = function(){ 
      var selectedString = select.options[select.selectedIndex].value; 
      window.location = "http://localhost/stack/stack-q/2.php?selected="+selectedString; 
     } 
    </script> 
+0

表單沒有提交 –

+0

那麼你需要javascript –

+0

請編輯你的答案解決這個錯誤:'<?php $ sql ='select * from table where id = $ _POST ['selected']?>'不會工作,應該是像'<?php $ sql =「select * from table where id = {$ _POST ['selected']}「; ?>'。 –

相關問題