2 つのテーブルを結合する mysql データベースのクエリがあります。最初のテーブルでは、ID に基づいてレコードを取得するだけです。2 番目のテーブルでは、最初のテーブルの値に基づいて一致する場合と一致しない場合があります。一致するものがある場合は一致を取得したいのですが、そうでない場合は、結果のレコード セットの値が空であると考えられます。
クエリは正しい数のレコードを生成するようです。ただし、存在するはずのいくつかの変数の値にアクセスしようとすると、間違った名前を呼び出しているか、何らかの形でレコードセットにないため、何も取得できません。私はmysqlクエリについて少し曖昧なので、アドバイスをいただければ幸いです..
表1 公園
id | name | stateid
表 2 訪れた公園
id | visited | parkid | userid
PHP スクリプト
$sql = "SELECT *
FROM `parks` p
LEFT JOIN `parksvisited` pv
ON p.id = pv.parkid
WHERE p.stateid = '44'"
クエリを実行...
while($row = mysql_fetch_array($res))
{
if ($row['visited'] == 1) {
$visited = 1; }
else {
$visited = 0; }
<a href="javascript:void(0);" onclick="loadParks(\''.$row['stateid'].'\',\''.$row['p.id'].'\',\''.$visited.'\');">Visited</a>
}
基本的に、stateid は取得しますが、p.id や Visited は取得していません。間違った名前を付けているか、結果から除外されている可能性があります...提案をありがとう。