如何从查询中的一个字段获取信息以在另一个查询中使用?

妈妈

我仍在尝试完成我的详细信息页面的修复,我还需要一件来修复它。

我从这个查询开始。

注意: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 或更高,我需要它执行以下操作:

  1. 查看当前项目的“长度”。
  2. 从 master_list 中选择 type_id 为 1、2 或 3 且长度与第一个匹配的所有项目。
  3. 选择 1 个随机匹配。
  4. 以与第一个相同的方式输出“name、img和item_code”。

如果最初选择的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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在基于MySQL中另一个字段的子查询中使用LIMIT

如何在查询中添加基于另一个字段的字段

如何查询一个字段大于另一个字段x天的记录?

在Elasticsearch中查询一个字段不等于另一个字段

从同一查询中的另一个表中获取信息

查询一个字段等于另一个数组字段?

SQL查询以获取一个字段为另一个特定字段重复的次数

如何在Spring中按一个字段查询并按另一个字段排序?

如何查询MongoDB的一个字段值是否以字符串的形式出现在另一个字段值中?

mongoose - 查询存在于另一个字段中的字段

如何使用 FilterUserMixin 过滤 Django 中的一个字段或另一个字段

Mongodb在一个字段上查询取决于另一个字段

如何通过random()和另一个字段排序mysql查询结果?

如何在弹性搜索中查询大于和小于另一个字段的字段值?

是否可以在GraphQL查询的最终响应中添加另一个字段?

从一个函数中获取信息并在另一个函数中使用它

mysql查询以获取一个字段的总和小于另一个字段分组的限制

合并2个查询-在一个查询中获取列名,在另一个查询中使用结果

如何查询在另一个字段中与该行的值共享相同值的所有值?

如何将 SQL 查询中一个字段的值用于 Oracle Apex 上另一个字段的值列表?

MySQL查询来查找一个字段出现在另一个字段中

如何使用另一个字段的值对 Oracle Apex 表单中的字段中的默认值进行 sql 查询?

使用布尔值注释查询集,其中一个字段等于或不等于另一个字段

如何在Rails验证中使用另一个字段

如何在另一个字段的计算中使用别名

在golang中使用相同结构中的func引用另一个字段

如何在对另一个字段的ajax响应中获取数组

查询以获取按字段值分组的所有行以及另一个字段的条件

用另一个表字段丰富一个字段的信息