[英]How to fetch and echo the results of a JOIN in PHP
幾周前在這里發布了一個問題,但仍在努力中。
因此,我要做的就是顯示創建任務的用戶名,該用戶名將顯示在以下頁面上: https : //vloggi.com/commission/21
目前,在控制器頁面中,我有以下查詢:
$sql = "SELECT * FROM users_gor WHERE usrg_usr_id = ".$db->quote($user_info['usr_id'])." LIMIT 1";
$rows = $db->select($sql);
$users_gor = $rows[0];
$sql = "SELECT * FROM users_vgr WHERE usrv_usr_id = ".$db->quote($user_info['usr_id'])." LIMIT 1";
$rows = $db->select($sql);
$users_vgr = $rows[0];
$sql = "SELECT * FROM users WHERE usr_id = ".$db->quote($user_info['usr_id'])." LIMIT 1";
$rows = $db->select($sql);
$users = $rows[0];
$sql = "SELECT * FROM vlog-ops WHERE vlop_usr_id ".$db->quote($user_info['usr_id'])." LIMIT 1";
$rows = $db->select($sql);
$users = $rows[0];
$sql = "SELECT usr_name AS vlop_usr_name FROM users WHERE usr_id = ".$db->quote($user_info['usr_id'])." LIMIT 1";
$result = mysql_query($sql);
$row = mysql_fetch_array($result);
$sql = "SELECT usr_name FROM users WHERE usr_id='".$db->quote($user_info['usr_id'])." LIMIT 1";
$creator = $db->select1($sql);
$users = $rows[0];
$query = "SELECT u.usr_name, g.usrg_orgname, v.vlop_usr_id FROM users u
JOIN vlog-ops v on u.usr_id = v.vlop_usr_id
JOIN users_gor g on u.usr_id = g.usrg_usr_id";
然后在模板頁面中,進行以下提取和回顯。
<?php
$result = mysqli_query($connection, $query);
while($row = mysqli_fetch_assoc($result)) {
echo 'User name = ' . $row['u.usr_name'];
echo 'Org name = ' . $row['g.usrg_orgname'];
echo 'Job posting user id = ' . $row['v.vlop_usr_id'];
}
?>
但這是行不通的。 我嘗試了Paulo Hgo的代碼,但也不起作用。
因此,我了解了JOIN的基本概念,但實際上需要一些幫助來回顯或打印變量。
很抱歉重新發布。
首先,您錯誤地檢索了該列,結果關聯數組不包含u.usr_name或u.anyfields之類的任何點(。),它將返回實際的表字段。 要檢查關聯數組中的行,可以按如下所示進行打印(只是為了查看生成的結構或數組鍵)
<?php
$result = mysqli_query($connection, $query);
while($row = mysqli_fetch_assoc($result)) {
echo '<pre>';
print_r($row);
echo '</pre>';
die(); //just return 1 iteration.
}
?>
輸出如下:
Array
(
[usr_name] => john
[usrg_orgname] => doe
...
)
然后,您可以直接參考其字段/鍵。 如果每個表中都有相同名稱的字段,請使用字段別名。
使用實際的字段名稱來修復上述代碼,請參見以下內容:
<?php
$result = mysqli_query($connection, $query);
if($result) {
while($row = mysqli_fetch_assoc($result)) {
echo 'User name = ' . $row['usr_name'];
echo 'Org name = ' . $row['usrg_orgname'];
echo 'Job posting user id = ' . $row['vlop_usr_id'];
}
} else {
echo 'Something went wrong.';
}
?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.