使用mysqli查询显示第二个查询,同时仍显示第一个查询

时间:2013-10-26 20:09:59

标签: php mysqli

我想要两个单独的查询。第一个查询我想在表格中以降序显示一堆数字(非常简单)。那么我想要做的是第二个查询,对于每个匹配的数字,我想显示相应的数据。我想单独执行它而不是将它全部合并到一个查询中的原因是,我可以显示第一个查询的所有结果,无论它是否有数据。 IE: 1 - (空白) 2 - 我有数据 3 - 我也有数据 4 - (空白) 5 - 我有更多数据

到目前为止,我使用的代码是:

// Perform number query
$number_query = mysqli_query($con,$num_query);
while($numbers = mysqli_fetch_array($number_query)) {

// Do data query
$data_query = mysqli_query($con,$d_query);
    while($data = mysqli_fetch_array($data_query)) {
    if ($numbers['number'] == $data['number']) {
        echo $numbers['number'];
        echo $data['content'];
        echo '<br>';
        }
    else {
        echo $numbers['number'];
        echo '<br>';
    }
    }

}

我不认为我采取了正确的方法,但似乎我得到了部分正确的结果,因为它显示数据旁边的数据与内容。问题是,对于数据库中的每个数据,正在复制$ numbers ['number']。因此,如果$ data ['content']有5个数据库条目,则$ numbers ['number']的每个条目将被复制5次。

------- -----编辑

好的,我意识到为什么我的问题没有意义(也许)。我将使用这些表的示例:

表1

unique_id |号码|标识符|等

数据库表1可能每月更新一次,并且所有数字和标识符必须始终显示在页面上。查询需要保持独立,因为它在其他页面上被多次使用(超过10次),因此我将它包含在页面外的头文件中。

表2

unique_id |号码|描述|等

数据库表2需要通过数字列引用,这个内容每隔10-15分钟就会改变一次,现在表1可能只有50行数据,而表2可能接近100+一天新行。查询嵌入在页面上,因为它将是唯一实际使用此特定查询的页面。

布局的想法是这样的:

<table>
<tr>
<td>Number & Identifier</td>  (taken from Table 1)
<td>Description</td> (content from table 2)
<td>(more content from table 2)</td>
etc 

回过头来看我的问题是问题是,对于每个描述和页面上显示的具有相应数字和标识符信息的其他内容,所有没有描述或内容的数字和标识符都在被复制与有描述和内容的条目相同的次数。

如果我删除了else条件语句,那么问题就是空白条目根本不显示,这不符合我的要求。这些空白条目需要存在的原因是该页面可以打印出来,因此不使用计算机的人可以用钢笔/铅笔填写空白区域,并且可以在事后手动输入。

1 个答案:

答案 0 :(得分:0)

我现在明白你的问题,但我仍然认为使用我之前发布的加入的解决方案是你最好的选择。

http://www.sqlfiddle.com/#!2/26854/2