我仍在尝试完成我的详细信息页面的修复,我还需要一件修复它。
我从这个查询开始。
NOTE:recordID实际上是通过单击项目从上一页进入的。另外,名称,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或更高,则需要执行以下操作:
如果最初选择的项目的type_id小于4,则仅发布原始信息。这部分有效。来自第二个查询的部分没有。
我有一种感觉,我需要另一个$ _GET [],但不确定如何操作。 recordID get附加到用作链接的图像上。
有人可以帮我查询这个问题,以便得到我想要的吗?
这里是我正在尝试做的事情以帮助理解的图片:
这是通过手动选择要匹配的项目并将它们放在一起来完成的。我想要显示一个随机项目。
这里是当前代码的样子。这与MiK的答案是一样的:
代替
$crafted = "SELECT * FROM `master_list` WHERE `type_id` <= 3
AND `length` = $row_master_details.length ORDER BY RAND() LIMIT 1";
尝试
$crafted = "SELECT * FROM `master_list` WHERE `type_id` <= 3
AND `length` = ".$row_master_details['length']." ORDER BY RAND() LIMIT 1";
您的查询未能找到匹配的项目,因为它将与字符串“ Arraylength”而不是实际值匹配。