Php 在里面,在结果里
我试图从里面获取数据。 首先,我获取文档,第二,我试图获取与文档相关的附加值 我得到数据,但第二次的结果是这样复制的:Php 在里面,在结果里,php,Php,我试图从里面获取数据。 首先,我获取文档,第二,我试图获取与文档相关的附加值 我得到数据,但第二次的结果是这样复制的: INDEX A - Value A INDEX B - Value A INDEX C - Value A INDEX D - Value A INDEX A - Value B INDEX B - Value B INDEX C - Value B INDEX D - Value B INDEX A - Value C INDEX B - Value C
INDEX A - Value A
INDEX B - Value A
INDEX C - Value A
INDEX D - Value A
INDEX A - Value B
INDEX B - Value B
INDEX C - Value B
INDEX D - Value B
INDEX A - Value C
INDEX B - Value C
INDEX C - Value C
INDEX D - Value C
INDEX A - Value D
INDEX B - Value D
INDEX C - Value D
INDEX D - Value D
我希望得到的预期结果是:
这是我的密码:
$query = "
SELECT *
FROM documents
WHERE document_folder_id=$folder_id";
$result = mysql_query($query) or die(mysql_error());
$num = mysql_numrows($result);
<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
<thead>
<tr>
<th>Document</th>
<th>Date</th>
<th>Classification</th>
</tr>
</thead>
<tbody>
<?php
$i=0;
while ($i < $num) {
$document_id = mysql_result($result,$i,"document_id");
$document_number = mysql_result($result,$i,"document_number");
$document_classification_id = mysql_result($result,$i,"document_classification_id");
$document_classification_description = mysql_result($result,$i,"document_classification_description");
?>
<tr>
<td><?php echo $document_number; ?></td>
<td><?php echo $document_date; ?></td>
<td><?php echo $document_classification_description; ?>
<?php
// get indexes
$query2 = "SELECT * FROM documents_indexes_values
LEFT JOIN document_indexes ON value_index_id = value_id
WHERE value_document_id = $document_id";
$result2 = mysql_query($query2) or die(mysql_error());
while($row2 = mysql_fetch_array($result2)){
echo "<br />";
echo $row2['index_description']. " - ". $row2['value_text'];
echo "<br />";
}
?>
</td>
<? } ?>
</tr>
<?php
$i++;
}
?>
</tbody>
</table>
我想知道一个正确的方法来处理while,我错在哪里?查询$result2的结果是什么?通常的警告是,请参见您的代码还输出了另外两列,其中包含文档编号和日期。在您的问题中包含这一点会很有用,以查看哪些行属于哪些外部循环迭代。添加了代码的第一部分,@Stah,$result2 return Resource65I是指实际数据@HidDencum
$query = "
SELECT *
FROM documents
WHERE document_folder_id=$folder_id";
$result = mysql_query($query) or die(mysql_error());
$num = mysql_numrows($result);
<table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
<thead>
<tr>
<th>Document</th>
<th>Date</th>
<th>Classification</th>
</tr>
</thead>
<tbody>
<?php
$i=0;
while ($i < $num) {
$document_id = mysql_result($result,$i,"document_id");
$document_number = mysql_result($result,$i,"document_number");
$document_classification_id = mysql_result($result,$i,"document_classification_id");
$document_classification_description = mysql_result($result,$i,"document_classification_description");
?>
<tr>
<td><?php echo $document_number; ?></td>
<td><?php echo $document_date; ?></td>
<td><?php echo $document_classification_description; ?>
<?php
// get indexes
$query2 = "SELECT * FROM documents_indexes_values
LEFT JOIN document_indexes ON value_index_id = value_id
WHERE value_document_id = $document_id";
$result2 = mysql_query($query2) or die(mysql_error());
while($row2 = mysql_fetch_array($result2)){
echo "<br />";
echo $row2['index_description']. " - ". $row2['value_text'];
echo "<br />";
}
?>
</td>
<? } ?>
</tr>
<?php
$i++;
}
?>
</tbody>
</table>