【问题标题】:Create php array from one of all column that retrieve from mysql从从 mysql 检索的所有列之一创建 php 数组
【发布时间】:2016-04-15 15:38:37
【问题描述】:

我是 PHP、MySQL 和 HTML 的新手。

我有一个关于 php 数组的问题。

我在 php 中创建了连接 2 个表的 MySQL 查询。从这个加入,我将获得一个产品的信息,但有多个 JIG。

$sql = "SELECT product.product_number,product.product_name,product.product_jitqty,product.product_desc,jit.jit_number,jit.jit_name,jit.jit_drawer,jit.jit_port,jit.jit_specpath 
FROM product 
JOIN production_jit 
ON production_jit.product_number = product.product_number 
JOIN jit 
ON jit.jit_number = production_jit.jit_number
WHERE product.product_number = '$productnumber'";

$result = mysqli_query($conn, $sql);


if (mysqli_num_rows($result) > 0) {

while($row = mysqli_fetch_assoc($result)) 

    {   }

从上面的查询,我会得到如下图所示的结果。

所以我想为列jit.jit_number 创建一个数组。便于将两个或一个数据传输到另一个页面。

我试过下面的代码。

        $sql = "SELECT product.product_number,product.product_name,product.product_jitqty,product.product_desc,jit.jit_number,jit.jit_name,jit.jit_drawer,jit.jit_port,jit.jit_specpath 
            FROM product 
            JOIN production_jit 
            ON production_jit.product_number = product.product_number 
            JOIN jit 
            ON jit.jit_number = production_jit.jit_number
            WHERE product.product_number = '$productnumber'";

    $result = mysqli_query($conn, $sql);


    if (mysqli_num_rows($result) > 0) {
    // output data of each row
    ?>

    <?php
    while($row = mysqli_fetch_assoc($result)) 

    {   

    $jig = array ($row['jit_number']);

    echo "This is JIG " . $jig[0] . ", " . $jig[1] . ".";

    }

但结果如下图所示。

谁能帮帮我?因此,如果我想将这两个数据传输到另一个页面,我可以使用$jig[0]$jig[1]。或者任何人都可以告诉我将多个数据从 mysql 传输到另一个页面的更好方法。

【问题讨论】:

    标签: php html mysql arrays


    【解决方案1】:

    我不太确定您想要实现什么,但$jig 不会有两个索引,因为$row['jit_number'] 本身只是一个数字。如果您尝试将所有 jit_numbers 存储在一个单独的数组中,您可以尝试这样的操作:

    $numbers = array();
    while($row = mysqli_fetch_assoc($result)) 
    {   
        $numbers[] = $row['jit_number'];
    }
    

    你也应该尽量防止 MySQL 注入,WHERE product.product_number = '$productnumber'"; 从安全的角度来看是相当可怕的。建议使用准备好的语句或至少进行一些清理/转义。

    【讨论】:

    • 对不起,如果您不明白。我给你我想要的例子。我从 mysql 检索产品编号为“123456”的数据。对于该产品,有 2 个夹具,即“abc”和“def”,如我上面要求的图。所以我想将“abc”和“def”作为 $jig1 和 $jig2 转移到另一个页面,因为我想创建验证部分。我对“验证”部分的意思是,我们的操作员将扫描夹具条形码,在“验证”部分我想用这样的方式进行 if else 语句..[if ($jigcode1==$jig1 && $jigcode2== $jig2)]。如果夹具正确,我们的操作员将显示​​我们的产品规格。
    【解决方案2】:

    试试这个->

    $jig = array();
    array_push($jig, $row['jit_number']);
    

    【讨论】:

      猜你喜欢
      • 2010-12-05
      • 1970-01-01
      • 2017-05-21
      • 2011-03-25
      • 2021-12-14
      • 1970-01-01
      • 2011-07-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多