私は3つのテーブルを持っています
+----+--------+----+ +----+--------+----+ +----+--------+
+ id + name +perc+ + id + name +perc+ + id + name +
+----+--------+----+ +----+--------+----+ +----+--------+
+ 12 + banana +100 + + 2 + mario +100 + + 1 + apple +
+ 5 + apple + 50 + + 5 + luigi +100 + + 2 + banana +
+ 7 + luigi + 30 + + 99 + apple + 20 + + 3 + input +
+----+--------+----+ + 14 + input + 10 + + 4 + luigi +
+----+--------+----+ + 5 + mario +
+----+--------+
3 番目のテーブルは、1 番目と 2 番目のテーブルから作成されました。私の HTML ファイルには、テーブル 3 からすべての「名前」を取得するテーブルがあります。最初の列にはすべての table3.name があり、2 番目、3 番目の列には、変数が次のように 100 であるかどうかを確認する必要があります: [V =チェックするが 100 ではない、X=チェックしない、G=100 でチェックする]
+--------+------+------+
+ name + tab1 + tab2 +
+--------+------+------+
+ apple + V + V +
+ banana + G + X +
+ input + X + V +
+ luigi + V + G +
+ mario + X + G +
+--------+------+------+
私のコード:
$result = $data->query("SELECT t3.name,t2.id t2_id,t1.id t1_id
FROM table3 t3
LEFT JOIN table2 t2 ON t2.name=t3.name
LEFT JOIN table1 t1 ON t1.name=t3.name");
while($line = mysql_fetch_array($result))
{
echo '<tr><td>'.$line['name'].'</td>';
if(!empty($line['t2_id'])) {
echo 'tick'; //for each column
} else { //for each column
echo 'cross';//for each column
}
}
echo "</table>";
「perc」に対する私のクエリ:
$perc_1 = $data->query("SELECT `perc`FROM `tab1`");
$globe1 = mysql_fetch_array($perc_1);
$perc_2 = $data->query("SELECT `perc`FROM `tab2`");
$globe2 = mysql_fetch_array($perc_2);
私はちょうどこれを試してみましたが、動作しません:
$compare=100;
while($line = mysql_fetch_array($result)){
echo '<tr><td>'.$line['name'].'</td>';
if(!empty($line['t2_id'])) {
if ($globe1 == $compare){
echo 'gold';
} else {
echo 'trick';
}
} else {
echo 'cross';
}
編集:いくつかの問題を修正します.しかし、それは私の問題を解決しません.PHPの問題はありませんが、varが100であるかどうかを確認する方法がわかりません.