【问题标题】:PHP Use select value to search and display result to textboxPHP使用选择值搜索并显示结果到文本框
【发布时间】:2014-02-20 05:16:14
【问题描述】:

飞机表中我的选择框项目

<select name="selectaircraft">
<option id="0">-- Select Aircraft -- </option>
<?php
require("dbc.php");
$getallaircraft = mysql_query("SELECT * FROM aircrafttable");
while($viewallaircraft = mysql_fetch_array($getallaircraft)){
?>
<option id="<?php echo $viewallaircraft['ID']; ?>">
<?php echo $viewallaircraft['aircraft'] ?> </option>
<?php } ?>
</select>

大家好,我正在尝试使用 selectaircraft 的值来搜索并将结果显示到文本框。这是我目前的代码

<?php
   require("dbc.php");
       $getallconfig = mysql_query("SELECT * FROM aircrafttable WHERE aircraft LIKE 'PR200'");  
   while($viewallconfig= mysql_fetch_array($getallconfig)){

?>
   <input type="text" name="aconfig "value="<?php echo $viewallconfig['config'];      ?>" />
<?php } ?>

如您所见,我只将 PR200 用于搜索,我的问题是如何使用选择值代替?我还希望每次单击选择框时都会发生搜索查询。

大家可以帮帮我吗?我知道如何在 VB6 中编写代码,它会是这样的

假设:选择名称或在 VB6 组合框 = 选择框

Private Sub Combo3_Click()
adodc1.recorsource ="Select * from aircrafttable where aircraft = " & selectbox & "'"
adodc1.refresh


Text1.Text = Adodc1.Recordset("aircraft")

每次我单击组合/选择框时,查询都会执行并对文本框给出不同的答案。 我不知道如何在 PHP 中执行此操作,请帮助!

已编辑添加所有代码

    <form action="addrecord.php" method="post" >


    <table border=1>
    <tr><td bgcolor="#999999">
    <strong>Area:</strong> </td>
    <td>

 <input type="text" required="required" name="aarea" size=10 /><br /></td></tr>

    <tr><td bgcolor="#999999">
    <strong>Aircraft:</strong></td>





<td>

<form method="post" action="aircraft.php">
 <select name="selectaircraft" onchange="this.form.submit();">
     <option id="0">Aircraft</option>
<?php
      require("dbc.php");
      $getallaircraft = mysql_query("SELECT * FROM aircrafttable");
      while($viewallaircraft = mysql_fetch_array($getallaircraft)){
?>
      <option id="<?php echo $viewallaircraft['ID']; ?>">
<?php 
      echo $viewallaircraft['aircraft'] ?> </option>
<?php } ?>
    </select>



<?php
        require("dbc.php");
        if(isset($_POST)){
        $takeaircraft = mysql_real_escape_string($_POST['selectaircraft']);     

{

?>
   <input type="text" name="aaircraft" size=3 value="<?php echo $takeaircraft;  ?>" />
<?php } 
}?>


</form>


</td></tr>

<tr><td bgcolor="#999999">
<strong>Flight:</strong> </td>
 <td><input type="text"  name="aflight" size=10  /><br /></td></tr>

 <tr><td bgcolor="#999999">
<strong>Configuration:</strong> </td>
 <td>



 <?php
        require("dbc.php");
        if(isset($_POST)){
        $selectaircraft = mysql_real_escape_string($_POST['selectaircraft']);     
         $getallconfig = mysql_query("SELECT * FROM aircrafttable WHERE aircraft LIKE '".$selectaircraft."'"); 
 while($viewallconfig= mysql_fetch_array($getallconfig)){

?>
   <input type="text" name="aconfig" value="<?php echo $viewallconfig['config'];      ?>" />
<?php } 
}?>

 <br /></td></tr>
  <tr><td bgcolor="#999999">
<strong>Month:</strong> </td>
 <td>
 <select name="amonth">
        <option value="na">Month</option>
        <option value="January">January</option>
   </select>
 </td></tr>

 <tr><td bgcolor="#999999">
<strong>Frequency:</strong> </td>
 <td><span style="font-size:11px; font-weight:bolder" >

    Mon<input type="checkbox" id='check1' onClick='checkmon()'>
<input type="hidden"  id="txt1" name="hiddenmon" value="n/a">


   Tue<input type="checkbox" id='check2' onClick='checktue()'>
<input type="hidden"  id="txt2" name="hiddentue" value="n/a">

   Wed<input type="checkbox" id='check3' onClick='checkwed()'>
<input type="hidden"  id="txt3" name="hiddenwed"  value="n/a">


   Thu<input type="checkbox" id='check4' onClick='checkthu()'>
<input type="hidden"  id="txt4" name="hiddenthu" value="n/a">

  Fri<input type="checkbox" id='check5' onClick='checkfri()'>
<input type="hidden"  id="txt5" name="hiddenfri"  value="n/a">

  Sat<input type="checkbox" id='check6' onClick='checksat()'>
<input type="hidden"  id="txt6" name="hiddensat"  value="n/a">

  Sun<input type="checkbox" id='check7' onClick='checksun()'>
<input type="hidden"  id="txt7" name="hiddensun" value="n/a">


 </span>
 <br /></td></tr>



<tr><td bgcolor="#999999">
<strong>Menu:</strong> </td>
<td><input type="text" name="amenu" size=10 /><br /></td></tr>



<tr><td bgcolor="#999999">
<strong>Cycle:</strong> </td>
 <td>
 <select name="acycle">
        <option value="na">Cycle</option>
        <option value="Cycle 1">Cycle 1</option>

        </select>


<tr><td bgcolor="#999999">
<strong>Items:</strong> </td>
 <td>
 <select name="aitem">
        <option value="na">Items</option>

                </select>



<tr><td bgcolor="#999999">
<strong>STD Time:</strong> </td>
<td><input type="text" name="astdtime" size=5 /><br /></td></tr>


<tr><td bgcolor="#999999">
<strong>Quantity:</strong> </td>
<td><input type="text" name="aqty" size=5 /><br /></td></tr>


<tr>
<td colspan="2" align="right" bgcolor="#999999">
<input type='submit' name="add" value="Add Records" />
</td>
</tr>
 </table>



    </form>

【问题讨论】:

    标签: php html mysql search


    【解决方案1】:

    在选择框更改时触发提交,如下所示

    <form action="path/to/your/query/file.php" method="post"> //if query in same page leave your action blank
       <select name="selectaircraft" onchange="this.form.submi();">
         <option id="0">-- Select Aircraft -- </option>
    <?php
          require("dbc.php");
          $selected_aircraft=isset($_POST['selectaircraft'])?$_POST['selectaircraft']:"";
          $getallaircraft = mysql_query("SELECT * FROM aircrafttable");
          while($viewallaircraft = mysql_fetch_array($getallaircraft)){
          $selectstr="";
          if($selected_aircraft==$viewallaircraft['aircraft'] ){
             $selectstr="selected='selected'";
          }
    
    ?>
          <option id="<?php echo $viewallaircraft['ID']; ?>" <?php echo $selectstr ?> >
    <?php 
                 echo $viewallaircraft['aircraft'] ?> </option>
    <?php } ?>
        </select>
    </form>
    

    并改变你的查询如下:

     <?php
            require("dbc.php");
            if(isset($_POST)){
            $selectaircraft = mysql_real_escape_string($_POST['selectaircraft']);     
             $getallconfig = mysql_query("SELECT * FROM aircrafttable WHERE aircraft LIKE '{ $selectaircraft}'"); 
     while($viewallconfig= mysql_fetch_array($getallconfig)){
    
    ?>
       <input type="text" name="aconfig "value="<?php echo $viewallconfig['config'];      ?>" />
    <?php } 
    }?>
    

    更新更新代码以保持选择框的状态。

    【讨论】:

    • 你好,实际上我不知道如何将代码放在 onchange :( 到底该放在哪里?ty
    • 嗨,谢谢。但我不希望每次更改选择框时都提交表单。我只想自动为我的配置文本框赋值。这是来自我选择的飞机的配置。
    • 嗨,它可以工作,但每次我点击它时,选择框都会返回---选择飞机---。好像让人耳目一新
    • 你的意思是要维护选择框的统计数据
    • 您好,我添加了所有代码。如您所见,当用户填写某些字段并单击带有查询 this.form.submit 的选择框时,我有很多字段,所有文本字段都将被清除似乎令人耳目一新。你有什么解决办法吗?非常感谢!
    【解决方案2】:

    试试这样;

    $aircraft = mysql_real_escape_string($_POST['selectaircraft']);  //or $_GET
    
    $getallconfig = mysql_query("SELECT * FROM aircrafttable WHERE aircraft LIKE '".$aircraft."'");
    

    【讨论】:

    • 嗨,我希望每次单击选择框时都会发生搜索查询。这可能吗?
    • 是否要刷新选择框onchange中的结果..?
    • 我实际上希望我选择飞机时配置结果是自动的。
    【解决方案3】:

    您可以将选择框(第一个)保留在表单中,在更改时将表单提交到下一页。

    并获取POST/GET值,用于选择查询进行搜索。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多