php - 输出mysql结果的问题

标签 php mysql

我创建了一个表格来注册公司并插入到数据库中。还创建了一个表格来插入每个公司的成本和售价。所有这些都已插入数据库后,我尝试将其输出到表中,但它显示的是公司 ID 而不是名称...请在下面更好地说明

公司数据库

|id | company_name |
|1  | Oliva Ltd    |
|2  | Bone Mill    |

comp_product 数据库

|id | company_id   | cp     | sp    |
|3  | 2            | 20000  | 18000 |
|4  | 1            | 3000   | 100   |

我需要的帮助是通过用公司数据库中的 company_name 表示 company_id 从 comp_product DB 输出所有数据。

输出表

| company_id   | cp     | sp    |
| Bone Mill    | 20000  | 18000 |
| Oliva Ltd    | 3000   | 100   |

我试过下面的代码,但我只显示了一行。

<table>
                          <thead>
                          <tr>
                              <th>company_id</th>
                              <th>cp</th>
                              <th>sp</th>
                          </tr>
                          <?php 

                          $result = mysql_query("SELECT * FROM comp_product ORDER BY id DESC");
                                while($row = mysql_fetch_array($result))
                                {
                                    $result = mysql_query("SELECT * FROM company WHERE id ='".$row['company_id']."'");
                                            while($rowz = mysql_fetch_array($result))
                                                { $name = $rowz['company_name']; }
                                    ?>
                          <tr>
                              <td><?php echo $name ?></td>
                              <td><?php echo $row['cp'] ?></td>
                              <td><?php echo $row['cp'] ?></td>
                          </tr>
                          <?php 
                                }
                                ?>
                      </table>

显示我可以这样做吗?感谢理解

最佳答案

你需要一个 JOIN 查询

SELECT `company`.`company_name`, `comp_product`.`cp`, `comp_product`.`sp`
FROM `company`
LEFT JOIN `comp_cp`
ON `company`.`id` = `comp_product`.`company_id`

你不需要两个查询,你可以只循环一个的结果。如果您需要将此限制为一家公司,您可以添加一个 WHERE 子句。


此外你还需要stop using mysql_* functions . These extensions已在 PHP 7 中删除。了解 prepared PDO 的声明和 MySQLi并考虑使用 PDO,it's really pretty easy .

关于php - 输出mysql结果的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37614902/

相关文章:

php - Laravel 多模型关系返回计数

php - 从多维数组数据生成json字符串

mysql - SQL查询具有多个条件的数据

mysql - 在输入 SQL 之前如何从 JSON 文件中清除 'emojis'

php - 无法在 html 文本框中显示 0 值

php - 为什么这个数组键被设置为零?

PHP动态数组显示 double

javascript - 以安全的方式使用 ajax 传递 ID 值

mysql - 将 SQL 更改部署到客户数据库(更改表、函数等)

如果在获取期间数据为 Null 或为空,PHP Mysqli 将替换逗号