我正在整合 PHP 和 MySQL。以下代码工作正常:
<?php
include_once("conf.php");
$sql = "SELECT Name,Address FROM customers";
$rs = mysqli_query($connect,$sql) or die("can't connect to DB");
$temp = mysqli_num_rows($rs);
while($row = mysqli_fetch_array($rs))
{
$convert = mb_convert_encoding ($row['Name'],"UTF-8","gbk");
$print .= "<tr><td>".$convert."</td><td>".$row['Address']."</td><td>".$sql2."</td></tr>\n";
}
此代码正在运行,但现在我需要根据此表的结果(名称)从另一个表中选择特定信息。
所以,这将是另一个 MySQL 选择:
$sql2 = "select History from Delivery where Name="$convert";
根据我客户的“姓名”(来自客户表),我需要在交付表中获取他的“历史记录” 。
所以,我会打印他的:姓名+地址+历史
最好的解决方案是什么?
@@@@@@@@@ 解决了 @@@@@@@@@@
$sql = 'SELECT * FROM customers c
INNER JOIN Delivery d
ON c.Name = d.Name';
$result = mysqli_query($connect, $sql);
$temp = mysqli_num_rows($rs);
while($row = mysqli_fetch_array( $result))
{
$convert = mb_convert_encoding ($row['Name'],"UTF-8","gbk");
$print .= "<tr><td>".$convert."</td><td>".$row['Address']."</td><td>".$row['History']."</td></tr>\n";
}
我目前的情况是:我需要从三个表中获取信息。
表:客户、用户、历史。
从客户那里我需要大量的客户。
从交货开始,我需要历史记录(基于客户数量)。
来自用户我需要姓名(实际上它几乎是一个昵称)。
由于这三个表有一个“名称”列并且我不能更改列名,我如何使用该 INNER JOIN 语句从用户而不是客户或交付中获取名称?