2012-06-22 36 views
0

在瀏覽器的文本框中輸入數據時,它應該從數據庫中提取數據並相應顯示。 (例如:像谷歌)。 這裏是我的PHP代碼:在php和html上編輯文本過濾器錯誤

<?php 
    mysql_connect("localhost","root","MobixMySQL") or die(mysql_error()); 
    mysql_select_db("filter") or die(mysql_error()); 
    $partialStates = $_POST['partialStates']; 
    $states = mysql_query("SELECT name FROM list1 WHERE name LIKE "%$partialStates%""); 
    while($state = mysql_fetch_assoc($states)) { 
    echo "<div>".$state['name']."</div>"; 
    } 
    ?> 

而下面是我的html代碼:

<html> 
    <head> 
    <script type="text/javascript" src="jquery.js"></script> 
    <script type="text/javascript"> 
    function getStates(value){ 
    $.post("getStates.php",{partialStates:value},function(data){ 
    $("#results").html(data); 
    }); 
    } 
    </script> 
    </head> 
    <body> 
    <input type="text" onKeyUp="getStates(this.value)" > 
    <div id="results"></div> 
    </body> 
    </html> 

PLS建議我在哪裏,我錯了....!

+0

有什麼錯誤? –

+0

雖然在文本字段中輸入數據,但它並沒有從數據庫中提取數據 – naveen

回答

0

SQL中的引號錯誤...與注入一起。退房PDO未來發展

$partialStates = mysql_real_escape_string($_POST['partialStates']); 
$states = mysql_query("SELECT `name` FROM list1 WHERE `name` LIKE '%$partialStates%'"); 

編輯

由於您使用jQuery試圖改變你的onkeyup事件。如果您仍然收到錯誤,請使用FireBug或您的瀏覽器JavaScript調試器來檢查更多錯誤。請嘗試以下(未經測試):

<script type="text/javascript"> 
$(document).ready(function() { 
    $('input#myFilter').keyup(function(event) { 
     $.post("getStates.php",{partialStates:$(this).val()},function(data){ 
      $("#results").html(data); 
     }); 
    }).keydown(function(event) { 
     if (event.which == 13) { 
      event.preventDefault(); 
     } 
    }); 
}); 
</script> 
</head> 
<body> 
<input type="text" id="myFilter"> 
<div id="results"></div> 
+0

我試過了,但它無法將數據從數據庫讀取到editext。同時輸入edittext – naveen

+0

驗證你的'list1'表有合適的數據。使用命令行來運行您的查詢以查看檢查您的查詢是否構建正確。 –

+0

的php代碼是正確的。我覺得在html代碼中有錯誤。請建議 – naveen

0

試試這個

$states = mysql_query("SELECT name FROM list1 WHERE name LIKE '%".mysql_real_escape_strings($partialStates)."%'"); 

取而代之的是

$states = mysql_query("SELECT name FROM list1 WHERE name LIKE "%$partialStates%""); 
+0

'「。%'」'應該是'。「%'」'在您的代碼末尾 –

+0

我試過但它無法從數據庫中將數據提取到editext。同時輸入到edittext – naveen

+0

@AaronW。修正了,謝謝 – 2012-06-22 12:59:42