2016-01-06 184 views
-2

我是一个总的noob在PHP中,也谈到如果while循环条件。请耐心等待。首先,我有两张桌子。我打算从右表(子表)显示特定的行,但是却以奇怪的方式显示了从左(父)和右表(子)中的所有行,因为如果我在会话中回显结果,它只会显示右表第一行。但是在做了一些细微的修改之后,我可以得到结果,但是我可以从左右两个表中获得所有结果。我首先道歉,如果我的问题听起来很愚蠢或不符合主题。我只是想不出一个恰当的问题。任何帮助将非常感激。 TQ。而循环条件

下面是摘录脚本;

//呼吁从表用户和表useradvert记录,加入

$query = "SELECT u.*, ua.* FROM users u INNER JOIN useradvert ua ON u.users.id = ua.useradvert.id"; 

$stmt = $conn->prepare($query); 
$stmt->execute(); 
$res = $stmt->get_result(); 
$row2 = $res->fetch_array(); 



$_SESSION['name2'] = $row2['name2']; 
$_SESSION['color2'] = $row2['color2']; 
$_SESSION['hobby2'] = $row2['hobby2']; 
$_SESSION['radiobtn'] = $row2['radiobtn']; 
$_SESSION['kupon'] = $row2['kupon']; 
$_SESSION['image'] = $row2['image']; 
$_SESSION['image2'] = $row2['image2']; 

继续下面的提取物;

 $output = array(); 
while($row2 = $res->fetch_array()) { 
$output[] = $row2; 
} 
+0

我不明白为什么有些人downvote我的问题的输出?当某些情况或问题都不相同并且需要特定和不同的处理时。 –

回答

1

SQL:

SELECT u.*, ua.* FROM users u INNER JOIN useradvert ua ON u.id = ua.id 

PHP的一部分建议

你需要输出它们在一个循环或将它们以不同的方式在$_SESSION阵列存储,否则就会被覆盖它们将它们反复设置为$_SESSION阵列。

编辑

$output = []; 
while($row = $res->fetch_array()) { 
    $output[] = $row; 
} 

然后格式化在正确的地方

+0

tqs @Sergey Shcherbin。你有没有任何想法如何循环或存储他们在不同的方式?我很感谢你的帮助。 –

+0

@ ml2请检查更新的答案,如果你觉得它有用upvote。 –

+0

嗨@谢尔盖谢尔宾。请耐心等待。 $ output = [];我得到语法错误; –