【问题标题】:how can i get all record for user on select type如何获取用户选择类型的所有记录
【发布时间】:2012-05-16 09:14:24
【问题描述】:

我有一个 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>

【问题讨论】:

  • 为了安全问题,您应该停止使用旧的 mysql 函数并升级到 PDO 或 mysqli 库。
  • 关闭,现在只需将您的&lt;input/&gt; 行下方的所有内容移动到一个名为“php_page.php”的单独文件中另外,您没有&lt;select&gt; 的开始标签,请将其放在“php_page”的顶部.php”页面
  • 另外,建议始终使用&lt;?php 而不是较短的&lt;?,因为不推荐使用短标签。

标签: php html ajax select


【解决方案1】:

我会这样做,但结果是让我在选择时获得所有记录,我不会只记录我输入 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>
<? } ?>

【讨论】:

    【解决方案2】:

    使用 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.
    

    【讨论】:

    • 我假设作者知道如何使用 ajax。让我编辑一下。
    • 对不起,但我需要在输入类型中插入数字时,在其他 div 上打开选择类型有所有记录,然后我选择我需要的
    • 其实你就是这样做的,让我为你展开更多。
    • 对不起,但我需要在输入类型中插入数字时,在其他 div 上打开选择类型有所有记录,然后我选择我需要的
    • 啊,碰一下。我明白你的意思。我倾向于总是假设那些询问的人完全迷失了(没有冒犯哈立德),因为我知道我以前去过那里。
    【解决方案3】:

    将您的 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>
    

    【讨论】:

    • 我提供了指向 jquery 库 ajax 函数以及 mysqli 库的链接。你必须在这里做一些研究,不能为你做这一切。如果您没有,请下载它here 并将其放在您的文档顶部&lt;script src="your_path_to_jquery_file"&gt;&lt;/script&gt;
    • 我添加了对原始问题的评论。你已经接近了,现在只需将 行下方的所有内容移动到一个名为“php_page.php”的单独文件中,另外,你没有
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-04-08
    • 2022-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-15
    • 1970-01-01
    相关资源
    最近更新 更多