如何在选择类型上获取用户的所有记录

时间:2012-05-07 21:16:14

标签: php html ajax select

我有一个HTML文本输入字段 - 例如:

<input id="CustID" name="CustID" dir="rtl" value="<? echo $CustID;?>" size="35" required="true" maxlength="9" >

当我插入用户号码时,我需要打开一个选择框以显示该用户的所有票证。

例如

    <select name="ticket" id="ticket" >
<? 
$query="SELECT * FROM ticket where CustID='$CustID' ";
$result=mysql_query($query) or die("error: " . mysql_error());
while($row=mysql_fetch_array($result))
{
?>  
    <option  value="<?php echo $row['ticket'] ; ?>"><?php echo $row['ticket'] ; ?></option>   
<? }  ?>
    </select>

我如何在AJAX中使用它?

这是我到目前为止所做的:

<script src="js/jquery.js"></script>
<script language="javascript">
function getData(id) {
        $.ajax ({
           url: "php_page.php",
           type: "POST",
           data: {custid:id},
           success: function(data){
                    $("#return").html(data)
                    }
        )} // i have error her why ??
}

</script>

   <input type="text" value="<?php echo $CustID;?>" onkeyup="getData(this.value)"/>
    <?   
    include("functions/connect.php");
    $query = "select * from customers2 ,  tickets where customers2.CustID='".$CustID."' and tickets.CustNo=customers2.CustomersNo";
    $result=mysql_query($query) or die("error: " . mysqli_error());
    while($row=mysql_fetch_array($result))
    {
    ?>  
      <option  value="<?php echo $row['ticket'] ; ?>"><?php echo $row['ticket'] ; ?></option>   
    <? }  ?>
    </select>

3 个答案:

答案 0 :(得分:0)

使用AJAX将CustID传递给选择页面。

的index.php

<script>
function callAjax(str)
{
 ajax
}
</script>
<input type = "text" name = "CustID" onblur="callAjax()"/>
<div id = "show">where to display the ajax results</div>

ajax.php

all that code with the select and options.

答案 1 :(得分:0)

将您的php放在名为php_page.php的单独页面上。使用显示页面上的jquery库创建ajax来电:

function getData(id) {
        $.ajax ({
           url: "php_page.php",
           type: "POST",
           data: {custid:id},
           success: function(data){
                    $("#return").html(data)
                    }
        )}
}

在您的表单页面上创建一个id为“return”的div,您希望显示所选的选项,并通过单击按钮或onkeyup调用此功能:

   <input type="text" value="<?php echo $CustID;?>" onkeyup="getData(this.value)"/>

哦,你的mysql连接应该使用mysqli library

    $con=mysqli_connect($host,$username,$password,$database);
    $query = //same as before
    $result=mysqli_query($query) or die("error: " . mysqli_error());
    while($row=mysqli_fetch_array($result))
    {
      ?>  
      <option  value="<?php echo $row['ticket'] ; ?>"><?php echo $row['ticket'] ; ?></option>   
    <? }  ?>
    </select>

答案 2 :(得分:0)

我会这样做,但结果是让我在select上记录所有记录我只会记录我输入ID的用户

的index.php

<script src="js/jquery.js"></script>
<script language="javascript">
function getData(id) {
        $.ajax ({
           url: "php_page.php",
           type: "GET",
           data: {custid:id},
           success: function(data){
                    $("#return").html(data)
                    }
        })
}


</script>
<input type="text" id="CustID" name="CustID" onkeyup="getData(this.value)"/>
<div id="return"></div>

php_page.php

<select>
<option  value="">عرض الكل</option>
<?   
include("functions/connect.php");
if(isset($_GET['CustID']))
{
$CustID = $_GET['CustID'];
$sql_check = mysql_query("select * from customers2 , omra , haj , tickets where customers2.CustID='".$CustID."' and tickets.CustNo=customers2.CustomersNo") or die(mysql_error());
if(mysql_num_rows($sql_check)){
    while($rows = mysql_fetch_array($sql_check)){

?>  
<option  value="<?php echo $rows['TicketType'] ; ?>">تذكرة <?php echo $rows['TicketType'] ; ?> برقم <?php echo $rows['TicketRealNo'] ; ?></option>   
<? } } ?>
</select>
<? } ?>