0
私はmysqlデータベースに2つのテーブルを持っています。2つのテーブルから最新の5社のデータを取得する方法
a)の会社
cid company_name
===================
1 AstraZeneca
2 Emirates
3 Development Bank of Singapore
4 Royal Copenhagen
5 xxx
6 xxx
2)歴史
hid user_id view_id is_save mark_as view date
==============================================================
1 2 2 0 3 2016-08-25 22:06:12
2 3 3 1 3 2016-08-25 22:07:12
3 3 3 0 1 2016-08-25 22:08:12
4 3 2 0 1 2016-08-25 22:09:12
5 2 4 0 1 2016-08-25 22:10:12
6 4 5 0 1 2016-08-25 22:11:12
7 4 6 0 1 2016-08-25 22:12:12
このview_id
はcid
値を含むされます。
は今、常に私はhistory
テーブルview_id
に基づいて昇順としてcompany
テーブルから5 company_name
を最新表示したいです。
そのために、私は次の質問をしています。例えば
$getViewID3 = mysqli_query($link, "SELECT view_id, hid, is_save FROM history WHERE user_id = '$user_id' AND mark_as = 3 GROUP BY view_id ORDER BY view_date DESC LIMIT 5 ");
if(mysqli_num_rows($getViewID3) > 0) {
while($fetchViewId3 = mysqli_fetch_array($getViewID3)) {
$viewid3 = (int) $fetchViewId3['view_id'];
$hid3 = (int) $fetchViewId3['hid'];
$is_save3 = (int) $fetchViewId3['is_save'];
$getCompany = mysqli_query($link, "SELECT company_name FROM company WHERE cid = '$viewid3' ORDER BY company_name DESC");
if(mysqli_num_rows($getCompany) > 0) {
while ($fetchCompany2 = mysqli_fetch_array($getCompany)) {
$cName = htmlspecialchars($fetchCompany2['company_name']);
$url_link = "{$url}company.php?cid=$viewid";
if($is_save3 == 1) {
$checked = 'checked = "checked"';
} else {
$checked = '';
}
echo "<li><a onClick='window.document.location=\"$url_link\"'> $cName </a> <input type='checkbox' class='data_save' $checked data-hid='$hid' data-saveid='$viewid3' name='save_history'></li>";
}
}
}
:しかしcompany_name
はどちらかASC
またはDESC
ためここで
表示されていないことは、クエリで結果が表示される:A、E、D、R、Lの文字の順序。 それは示す必要があります:A、D、E、L、Rの文字列company_name
列から。
あなたのサンプルデータ内のいくつかの特徴的な会社名を入れて、あなたの期待を含むことができ、出力? – 1000111
JOINsを参照してください – Strawberry
@ 1000111更新中です... \ –