Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/255.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在下拉列表中的用户选择和选择查询之间建立关系_Php_Mysql_Wordpress - Fatal编程技术网

Php 如何在下拉列表中的用户选择和选择查询之间建立关系

Php 如何在下拉列表中的用户选择和选择查询之间建立关系,php,mysql,wordpress,Php,Mysql,Wordpress,我有一个PHP脚本,允许用户从4个下拉列表中进行选择,这些下拉列表包括从MySQL数据库检索到的值 当我在phpMyAdmin控制台上尝试SQL查询时,它运行良好。当我在PHP脚本中尝试时,它不起作用,并且没有检索到任何内容 @巴尔马 首先 <td><select id="site_name" name = "site_name"> <?php $query_site_name =$wp

我有一个PHP脚本,允许用户从4个下拉列表中进行选择,这些下拉列表包括从MySQL数据库检索到的值

当我在phpMyAdmin控制台上尝试SQL查询时,它运行良好。当我在PHP脚本中尝试时,它不起作用,并且没有检索到任何内容

@巴尔马

首先

<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>";
                      } 
                 ?>
我将$site\u名称声明为全局变量

SQL查询: 其中$site_name是下拉列表中的变量

下拉列表代码:

站点名称
所有者名称
公司名称
分包商名称

站点名称周围需要引号,因为它是一个字符串:

where 
    site_info.siteNAME = '".$site_name."'

但是如果您使用一个预先准备好的语句,而不是将变量替换到SQL中,则会更好,请参见。

$query\u submit->site\u info.siteNAME
不是有效的PHP。它可能是
$query\u submit->siteNAME
,如果您打开错误报告,您应该会从该代码中收到很多警告,这将使您陷入问题。@Barmar>site\u info.siteNAME以指定表名,因为在此查询中,我必须从5个不同的表中检索数据
ARRAY\u A
表示结果是一个关联数组,为什么要将其作为对象访问?另外,
$query\u submit
是一个二维数组。第一个维度是行,第二个维度是列。你需要在所有行上循环。仍然不起作用我试图加引号,但没有显示任何内容你确定查询确实找到了什么吗?你试过用手操作吗?是的,我确定这就是我问这个问题的原因。。。我试过phpmyadmin控制台,效果很好,,,$site\u name是处理下拉列表中用户选择的变量,根据此选择,查询将显示所需的值问题是处理下拉列表中用户选择的变量与sql查询之间的关系您如何设置
$site\u name
      $query_submit =$wpdb->get_results ("select site_info.siteID,site_info.siteNAME ,site_info.equipmentTYPE,site_coordinates.latitude,site_coordinates.longitude,site_coordinates.height ,owner_info.ownerNAME,owner_info.ownerCONTACT,company_info.companyNAME,subcontractor_info.subcontractorCOMPANY,subcontractor_info.subcontractorNAME,subcontractor_info.subcontractorCONTACT from `site_info`
    LEFT JOIN `owner_info`
    on site_info.ownerID = owner_info.ownerID
    LEFT JOIN `company_info` 
    on site_info.companyID = company_info.companyID
    LEFT JOIN `subcontractor_info` 
    on site_info.subcontractorID = subcontractor_info.subcontractorID
    LEFT JOIN `site_coordinates` 
    on site_info.siteID=site_coordinates.siteID 
    ");

foreach ($query_submit as $obj) {
             echo $site_name;
    echo "<table width='30%' ";
echo     "<tr>";
echo         "<td>".$obj->siteNAME."</td>";
echo         "<td>".$obj->ownerNAME."</td>";
echo         "<td>".$obj->companyNAME."</td>";
echo         "<td>".$obj->subcontractorNAME."</td>";
echo         "<td>".$obj->siteID."</td>";
echo         "<td>".$obj->equipmentTYPE."</td>";
echo         "<td>".$obj->latitude."</td>";
echo         "<td>".$obj->longitude."</td>";
echo         "<td>".$obj->height."</td>";
echo         "<td>".$obj->ownerCONTACT."</td>";
echo         "<td>".$obj->subcontractorCONTACT."</td>";
echo         "<td>".$obj->subcontractorCOMPANY."</td>";
echo     "</tr>";
echo "</table>";
    } 


 ?>  
 where 
        site_info.siteNAME = ".$site_name."
<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>
where 
    site_info.siteNAME = '".$site_name."'