有2个办法,第一种直接使用sql的多表联查,效率高,但是得到的数据table1会被扩展成table2一样的条目数 要再次处理
成都创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都网站制作、成都网站设计、始兴网络推广、重庆小程序开发、始兴网络营销、始兴企业策划、始兴品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联为所有大学生创业者提供始兴建站搭建服务,24小时服务热线:028-86922220,官方网址:www.cdcxhl.com
select * from table1 a,table2 b where a.orderid = b.orderid
第二种方法,先得到table11的数据,在循环中匹配table2到一个新的列名中
$conn = mysqli_connect("127.0.0.1", "root", "123", "test");
$sql = "select * from table1";
$rs = mysqli_query($conn, $sql);
$Arr = array();
while ($row = mysqli_fetch_assoc($rs)) {
$sql = "select * from table2 where orderid =" .$row["orderid"];
$row["order_sku"] = mysqli_fetch_all(mysqli_query($conn, $sql), MYSQLI_ASSOC);
$Arr[] = $row;
}
print_r($Arr)
如果你是刚开始学php 建议直接抛弃mysql用mysqli 因为PHP5.5已经废弃mysql方法了
while ( $row = mysql_fetch_array ( $result ) ) {
echo ("P" . $row['这里填你的字段名'] . "/P");
}
个人觉得你while了又foreach实际应用上应该是很少这样子用的。
首先你要说你用的是什么数据库。用最普通的mysql数据库来说,php自带了一些操作数据库的函数。
首先你将语句写入一个变量:
$Query = "select * from A_table";
然后用mysql_query这个函数执行这条语句,并将输出结果放在一个变量中:
$Result = mysql_query($Query);
这个$Result变量就是一个资源变量,包含了所有符合条件的结果。要将结果处理,需要用另一个函数
mysql_fetch_assoc:
while($Row = mysql_fetch_assoc($Result))
{
//这里$Row就是遍历了结果的每一行。假设有个字段叫A_field,你要把它输出
echo $Row["A_field"];
//其他操作类似。
}
?php
$mysql_server = "127.0.0.1";
$mysql_username = "root";
$mysql_password = "";
$mysql_dbname = "a";
if (isset($_GET['username']) !empty($_GET['username'])) {
$con = mysql_connect($mysql_server, $mysql_username, $mysql_password) or die ('Could not connect to mysql server!');
mysql_select_db($mysql_dbname) or die('Could not select database!');
$username = $_GET['username'];
$sql = "SELECT 表列名 FROM b";
$arrays=mysql_fetch_assoc(mysql_query($sql));
foreach($arrays['列名'] as $v) { echo $v." "; }
mysql_close($con);
}
?