1

イベントと日付を含むテーブルと、これらの各夜のゲストリストを含むテーブルがあります。私はそのように夜を印刷することができます:

$day = date("l");
$date = getFullDateString($day);

$result = mysql_query("SELECT * FROM nights WHERE day = '$day' AND promoter = 'blah'") or die(mysql_error);

while ($row = mysql_fetch_array($result)) {
    echo "<h2>";
    echo $row[name];
    echo " (";
    echo getFullDateString($row[day]);
    echo ")</h2>";
}

問題は、これらのイベントごとに、ゲストリストをその下に印刷することです。別のループを中に入れてみましwhileたが、テストエコーでも機能しません。

$result2 = mysql_query("SELECT DISTINCT guest FROM guestlists WHERE night = '$row[name]' AND date = 'getFullDateString($row[day])'") or die(mysql_error ());

    while($row2 = mysql_fetch_array($result2)) {
        echo $row2[0];
        echo "test";
        echo "<br />";
}

基本的に私は次のものが欲しいです:

イベント1

名前1

名前2

名前3

イベント2

名前1

名前2

名前3

4

3 に答える 3

1

クエリ文字列内に実行されないメソッドがあります。

試す:

$sql = "SELECT DISTINCT guest FROM guestlists WHERE night = '".$row['name']."' AND `date` = '".getFullDateString($row['day'])."'"

また、dateこれはMySQLの予約語であり、バッククォート内にカプセル化するか、別のものに変更する必要があります。

さらに、これらのmysql_関数は非推奨になっているため、PDOまたはMySQLiに置き換えることをお勧めします。

于 2012-06-16T09:53:44.230 に答える
1

文字列に変数を埋め込む適切な方法を学ぶために、文字列解析の複雑な(中程度の)構文を見てください。

于 2012-06-16T09:54:44.477 に答える
0

これを試して...

$result = mysql_query("SELECT * FROM nights WHERE day = '".$day."' AND promoter = 'blah'") or die(mysql_error);

while ($row = mysql_fetch_array($result)) {
    echo "<h2>".$row[cname]."</h2>";

    $result2 = mysql_query("SELECT DISTINCT guest FROM guestlists WHERE night = '$row[name]' AND date = '".getFullDateString($row[day])."'") or die(mysql_error);

   while ($row2 = mysql_fetch_array($result2))  
    {
        echo $row2[cname];  
    }

}
于 2012-06-16T09:55:07.797 に答える