Php 如何创建“提交”按钮,根据下拉列表中选定的输入显示结果

Php 如何创建“提交”按钮,根据下拉列表中选定的输入显示结果,php,mysql,wordpress,button,submit,Php,Mysql,Wordpress,Button,Submit,我正在WordPress上使用PHP和MySQL数据库 我在一个表中创建了4个下拉列表,每个下拉列表都包含从数据库检索到的数据,我还创建了一个提交按钮 我需要的是使submit按钮从每个下拉列表中获取所选输入,并进行查询以返回所需数据,并在表格或网格中显示结果 代码: 站点名称 所有者名称 公司名称 分包商名称 站点名称 所有者名称 公司名称 分包商名称 如果有人可以帮助我继续代码,以便: 在PHP代码中使用从下拉列表中选择的数据 在表格或网格中显示结果 更新代码后,页面看起来像: 此代

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

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

我需要的是使submit按钮从每个下拉列表中获取所选输入,并进行查询以返回所需数据,并在表格或网格中显示结果

代码:


站点名称
所有者名称
公司名称
分包商名称
站点名称
所有者名称
公司名称
分包商名称
如果有人可以帮助我继续代码,以便:

  • 在PHP代码中使用从下拉列表中选择的数据
  • 在表格或网格中显示结果
更新代码后,页面看起来像:

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

  • 您可以将所有下拉列表放在表单标记中,对于表单的form tag in action属性,您可以定义新页面,在该页面中,您可以通过$\u请求或get或post获取所有值,然后根据需要将此数据提交到数据库,或者通过携带此数据数组重定向到另一个页面

  • 您可以编写一个简单的jquery/javascript代码,用ajax提交代码。我不打算写代码,但如果你需要,让我知道我会给你更多的简要介绍

  • 如果您不想提交数据,并单击“提交”按钮,则希望在表中显示所选数据。然后创建一个表,在其中显示数据,并使用css将其隐藏。之后,使用javascript/jquery获取下拉列表的选定索引/值,并在该网格或表中显示它们


    希望能有所帮助。

    请将表结构放入标记中,然后执行提交操作

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

    <?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(); ?>
    
    
    站点名称
    所有者名称
    公司名称
    分包商名称
    站点名称
    所有者名称
    公司名称
    分包商名称
    

    希望,这可能会对您有所帮助。

    这两个选项有什么不同?我不想在同一页的下拉列表下方的新页面中显示结果。太好了。然后它可以通过一个非常简单的javascript/jquery代码来完成。告诉我你知道jquery,如果是,那么点击按钮的事件获取表中所有选择框的值,然后将它们显示在一个新创建的表中,我已经告诉过你使用css将其隐藏。在我使用你的代码后,页面看起来就是这样的。。。查看我更新的问题我忘记在问题中添加错误的开头在哪里,但它存在于代码中当我第一次运行代码时,系统显示此错误未定义索引:4个变量的站点名称。。。我需要的第二件事是显示所选值的所有相关信息。。。假设所有者名称有一个联系电话,因此当用户选择指定的所有者名称和下拉列表的其他值时,我需要能够显示结果。结果将是站点名称XXX所有者名称XXXX所有者联系人XXX公司名称XXX分包商名称XXX分包商联系人XXXX…我不知道我是否在中描述了我的想法正确的方法我已经再次更新了代码,请复制并粘贴整个代码,如果仍然不工作,那么我知道的想法,对不起。
    <?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(); ?>