如何创建一个提交按钮,根据从下拉列表中选择的输入显示结果

How to create a submit button that display the result based on selected inputs from dropdown list

我在 WordPress 上使用 PHP 和 MySQL 数据库。

我在 table 中创建了 4 个下拉列表,其中每个列表都包含从数据库中检索的数据,并且我创建了一个提交按钮。

我需要的是让提交按钮从每个下拉列表中获取选定的输入并查询 return 所需的数据并在 table 或网格中显示结果。

代码:

        <?php
    /*
    Template Name: search info
    */

    get_header();
    ?>

    <?php
    // code for submit button ation
    if(isset($_POST['submit']))
    {
    //needed code
    $site_name=$_POST['site_name'];
    $owner_name=$_POST['owner_name'];
    $company_name=$_POST['Company_name'];
    $Subcontractor_name=$_POST['Subcontractor_name'];
    ?>
    <table width="30%" >
        <tr>
           <td>Site Name</td>
           <td>Owner Name</td>
           <td>Company Name</td>
           <td>Subcontractor Name</td>
         </tr>
         <tr>
            <td><?php echo $site_name ; ?></td>
            <td><?php echo $owner_name ; ?></td>
            <td><?php echo $company_name ; ?></td>
            <td><?php echo $Subcontractor_name ; ?></td>
         </tr>
    </table>
    <?php }  ?>

    <!--create  dropdown list site names-->

    <form method = "POST" action = ''>
        <table width="30%">
            <tr>
               <td>Site Name</td>
               <td>Owner Name</td>
               <td>Company Name</td>
               <td>Subcontractor Name</td>
             </tr>
             <tr>
               <td><select id="site_name"  name = 'site_name'>

                 <?php
                     $query_site_name =$wpdb->get_results ("select DISTINCT siteNAME  from site_info");
                      foreach($query_site_name as $site_name)
                      {
                       $site_name = (array)$site_name;
                       echo "<option value = '{".$site_name ['siteNAME']."}'>".  $site_name['siteNAME']."</option>";
                      } 
                 ?>

                <!--create  dropdown list owner names-->
                </select></td>

                <td><select id="owner_name"  name = 'owner_name'>
                <?php
                      $query_owner_name =$wpdb->get_results ("select DISTINCT ownerNAME  from owner_info");
                      foreach($query_owner_name as $owner_name)
                      {
                         $owner_name = (array)$owner_name;
                         echo "<option value = '{".$owner_name ['ownerNAME']."}'>".  $owner_name['ownerNAME']."</option>";
                      } 
                  ?>
                </select></td>

                <!--create  dropdown list Company names-->
                </select></td>

                <td><select id="Company_name"  name = 'Company_name'>
                <?php 
                     $query_Company_name =$wpdb->get_results ("select DISTINCT companyNAME  from company_info");
                     foreach($query_Company_name as $Company_name)
                     {
                       $Company_name = (array)$Company_name;
                       echo "<option value = '{".$Company_name ['companyNAME']."}'>".  $Company_name['companyNAME']."</option>";
                     }  
                 ?>
                </select></td>

                <!--create  dropdown list Subcontractor names-->
                </select></td>

                <td><select id="Subcontractor_name"  name = 'Subcontractor_name'>
                <?php 
                    $query_Subcontractor_name =$wpdb->get_results ("select DISTINCT subcontractorNAME  from subcontractor_info");
                     foreach($query_Subcontractor_name as $Subcontractor_name)
                     {
                       $Subcontractor_name = (array)$Subcontractor_name;
                       echo "<option value = '{".$Subcontractor_name ['subcontractorNAME']."}'>".  $Subcontractor_name['subcontractorNAME']."</option>";
                      } 
                   ?>
                </select></td>
            <tr>
         <td></td>
         <td></td>
         <td></td>
         <td></td>
         <td>
            <input type = "submit" name="submit" value = "Search">

        </td>
       </tr>

        </table>
    </form>
<?php
    get_footer();
    ?>

如果有人可以帮助我继续代码以便:

更新代码后页面如下所示: web page based on the @Prateek Verma code

此代码仅在 PHP 中,但是您也可以使用 javascript/jquery 来提交表单。无论如何,在点击提交按钮后,我想给你两个选择。

  1. 您可以将所有下拉列表放在一个表单标签中,对于该表单标签,您可以在表单的 action 属性中定义新页面,您可以在其中通过 $_REQUEST 或 get 或 post 并且如果您愿意,可以将此数据提交到数据库,或者通过携带此数据数组重定向到另一个页面。

  2. 你可以写一个简单的jquery/javascript代码来提交带有ajax的代码。我不会编写代码,但如果您需要,请告诉我,我会给您更详细的介绍。

如果您不想提交数据并且点击提交按钮想要在 table 中显示所选数据。然后在要显示数据的地方创建一个 table,并使用 css 将其隐藏。之后使用 javascript/jquery 选择 index/value 下拉菜单并在该网格或 table.

中显示它们

希望对您有所帮助。

请将 table 结构放入标签内,然后执行提交操作。

请在下面找到您的更新代码:

<?php
    /*
    Template Name: search info
    */
    
    get_header();
    ?>
    
    <?php
    // code for submit button ation
    global $wpdb,$_POST;
    if(isset($_POST['query_submit']))
    {
    //needed code
    if(isset($_POST['site_name'])) { $site_name=$_POST['site_name']; } else { $site_name=""; }
    if(isset($_POST['owner_name'])) { $owner_name=$_POST['owner_name']; } else { $owner_name=""; }
    if(isset($_POST['Company_name'])) { $company_name=$_POST['Company_name']; } else { $company_name=""; }
    if(isset($_POST['Subcontractor_name'])) { $Subcontractor_name=$_POST['Subcontractor_name']; } else { $Subcontractor_name=""; }
    ?>
    <table width="30%" >
        <tr>
           <td>Site Name</td>
           <td>Owner Name</td>
           <td>Company Name</td>
           <td>Subcontractor Name</td>
         </tr>
         <tr>
            <td><?php echo $site_name ; ?></td>
            <td><?php echo $owner_name ; ?></td>
            <td><?php echo $company_name ; ?></td>
            <td><?php echo $Subcontractor_name ; ?></td>
         </tr>
    </table>
    <?php }  ?>
    
    <!--create  dropdown list site names-->
    
    <form method ="post" action ="" name="submit_form">
        <table width="30%">
            <tr>
               <td>Site Name</td>
               <td>Owner Name</td>
               <td>Company Name</td>
               <td>Subcontractor Name</td>
             </tr>
             <tr>
               <td><select id="site_name"  name = "site_name">
                    
                 <?php
                     $query_site_name =$wpdb->get_results ("select DISTINCT siteNAME  from site_info");
                      foreach($query_site_name as $site_name)
                      {
                       $site_name = (array)$site_name;
                       echo "<option value = '{".$site_name ['siteNAME']."}'>".  $site_name['siteNAME']."</option>";
                      } 
                 ?>
    
                <!--create  dropdown list owner names-->
                </select></td>
    
                <td><select id="owner_name"  name ="owner_name">
                <?php
                      $query_owner_name =$wpdb->get_results ("select DISTINCT ownerNAME  from owner_info");
                      foreach($query_owner_name as $owner_name)
                      {
                         $owner_name = (array)$owner_name;
                         echo "<option value = '{".$owner_name ['ownerNAME']."}'>".  $owner_name['ownerNAME']."</option>";
                      } 
                  ?>
                </select></td>
    
                <!--create  dropdown list Company names-->
                </select></td>
    
                <td><select id="Company_name"  name ="Company_name">
                <?php 
                     $query_Company_name =$wpdb->get_results ("select DISTINCT companyNAME  from company_info");
                     foreach($query_Company_name as $Company_name)
                     {
                       $Company_name = (array)$Company_name;
                       echo "<option value = '{".$Company_name ['companyNAME']."}'>".  $Company_name['companyNAME']."</option>";
                     }  
                 ?>
                </select></td>
    
                <!--create  dropdown list Subcontractor names-->
                </select></td>
    
                <td><select id="Subcontractor_name"  name ="Subcontractor_name">
                <?php 
                    $query_Subcontractor_name =$wpdb->get_results ("select DISTINCT subcontractorNAME  from subcontractor_info");
                     foreach($query_Subcontractor_name as $Subcontractor_name)
                     {
                       $Subcontractor_name = (array)$Subcontractor_name;
                       echo "<option value = '{".$Subcontractor_name ['subcontractorNAME']."}'>".  $Subcontractor_name['subcontractorNAME']."</option>";
                      } 
                   ?>
                </select></td>
            <tr>
         <td></td>
         <td></td>
         <td></td>
         <td></td>
         <td>
            <input type ="submit" name="query_submit" value ="Search" />

        </td>
       </tr>

        </table>
    </form>
    
    <?php get_footer(); ?>

希望这对您有所帮助。