我仍在尝试完成我的详细信息页面的修复,我还需要一件来修复它。
我从这个查询开始。
注意:recordID 实际上是通过单击一个项目从上一页进入的。此外,name、img、item_code 和 type_id 是我表中的字段,而不是外部来源。
$recordID = $_GET['recordID'];
$query_master_details = "SELECT * FROM master_list WHERE master_list.master_id = $recordID";
$master_details = mysqli_query($conn, $query_master_details) or die(mysqli_error());
$row_master_details = mysqli_fetch_assoc($master_details);
$totalrows_master_details = mysqli_num_rows($master_details);
现在,我创建了它来确定如何显示有关所述项目的详细信息:
<div class="container2">
<div class="category"><h2><?php echo $row_master_details['name']; ?></h2></div>
<?php
$crafted = "SELECT * FROM `master_list` WHERE `type_id` <= 3 AND `length` = $row_master_details.length ORDER BY RAND() LIMIT 1";
$result = mysqli_query($conn, $crafted);
$crafted = array();
if (mysqli_num_rows($result) > 0) {
while($row = mysqli_fetch_assoc($result)) {
$crafted[] = $row;
}
}
if ($row_master_details['type_id'] > 3) {?>
<p><strong>Code 1</strong></p>
<p><?php echo $crafted['name']; ?></p>
<p><img src="img/<?php echo $crafted['img']; ?>" /></p>
<p><?php echo $crafted['item_code']; ?></p>
<br><br>
<p><strong>Code 2</strong></p>
<p><?php echo $row_master_details['name']; ?></p>
<p><img src="img/<?php echo $row_master_details['img']; ?>" /></p>
<p><?php echo $row_master_details['item_code']; ?></p>
<p><?php echo $row_master_details['length']; ?> Characters</p>
<?php }else { ?>
<p><?php echo $row_master_details['name']; ?></p>
<p><img src="img/<?php echo $row_master_details['img']; ?>" /></p>
<p><?php echo $row_master_details['item_code']; ?></p>
<p><?php echo $row_master_details['length']; ?> Characters</p>
<?php
mysqli_free_result($master_details);
?>
<?php } ?>
<!-- end .container2 --></div>
解释这里发生的事情:
这会查看在上一页上单击的项目并找到有关它的信息。如果它的 type_id 为 4 或更高,我需要它执行以下操作:
如果最初选择的item的type_id小于4,则只发布原始信息。这部分有效。第二个查询中的部分没有。
我有一种感觉,我需要另一个 $_GET[],但不确定如何去做。recordID get 附加到用作链接的图像。
谁能帮我查询这个以便我得到我想要的?
这是我试图做的事情的图片,以帮助更有意义:
这是通过手动选择要匹配的项目并将它们放在一起来完成的。我想要一个随机项目来显示。
这是当前代码的样子。这与我从 MiK 的回答中得到的相同:
我终于通过调整和 MiK 的答案的组合设法解决了这个问题。
这是我最终得到的最终代码:
<div class="container2">
<div class="category"><h2><?php echo $row_master_details['name']; ?></h2></div>
<?php
$crafted = "SELECT * FROM `master_list` WHERE `type_id` <= 3 AND `length` = ". $row_master_details['length']." ORDER BY RAND() LIMIT 1";
$result = mysqli_query($conn, $crafted);
$citem = array();
if (mysqli_num_rows($result) > 0) {
while($row = mysqli_fetch_assoc($result)) {
$citem[] = $row;
}
}
if ($row_master_details['type_id'] > 3) {?>
<p><strong>Code 1</strong></p>
<p><?php echo $citem[0]['name']; ?></p>
<p><img src="img/<?php echo $citem[0]['img']; ?>" /></p>
<p><?php echo $citem[0]['item_code']; ?></p>
<br><br>
<p><strong>Code 2</strong></p>
<p><?php echo $row_master_details['name']; ?></p>
<p><img src="img/<?php echo $row_master_details['img']; ?>" /></p>
<p><?php echo $row_master_details['item_code']; ?></p>
<p><?php echo $row_master_details['length']; ?> Characters</p>
<?php }else { ?>
<p><?php echo $row_master_details['name']; ?></p>
<p><img src="img/<?php echo $row_master_details['img']; ?>" /></p>
<p><?php echo $row_master_details['item_code']; ?></p>
<p><?php echo $row_master_details['length']; ?> Characters</p>
<?php
mysqli_free_result($master_details);
?>
<?php } ?>
<p><h4>(Need a different crafted item? Refresh the page!)</h4></p>
<!-- end .container2 --></div>
MiK 提供的答案修复了查询,但结果没有显示,因为我在数组中有一个数组并且不得不调用内部数组。另外,我必须修复数组名称,因此它与查询不同。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句