MySql: Username als Tabellenname benutzen

Kannst ja mal testen, ob es in dieser Form auch klappt, dann brauchst Du nicht alle User in der Schleife durchgehen:
PHP:
$time = time() - 1200;

$sql = <<<QUERY
    SELECT
        ID,
        Nickname
    FROM
        User
    WHERE
        SessionID IS NOT NULL
    AND
        Letzte_Aktion > {$time}
    ORDER BY
        Nickname ASC;
QUERY;

$result = mysql_query( $sql ) OR die ( "<pre>\n" . $sql . "</pre>\n" . mysql_error() );

while ( $row = mysql_fetch_assoc( $result ) )
{
    echo '<a href="profil.php?id=' . $row['ID'] . '">' . $row['Nickname'] . "</a>\n";
}

Gruß
 
PHP:
echo $row['Nickname']."</a>\n";
Falls der Nickname HTML enthält, so wird dieser natürlich vom Browser interpretiert!

Deshalb noch ein [phpf]htmlentities[/phpf]:
PHP:
echo htmlentities($row['Nickname'])."</a>\n";
 
Sorry wenn ich nerven sollte, aber habt Ihr eine Idee wie ich ein Insert hinbekomme ?
Also ich springe noch mal ein wenig zurück :rolleyes:
Ein User kann sich eine eigene Tabelle machen und diese möchte ich sofort mit ID ( nicht Auto_increment da sie immer wieder auf 1 sein muss) und seinen Nickname füllen.
Nachfolgendes gibt mir leider keinen Fehler aus aber funktioniert auch nicht :(
PHP:
$result = mysql_query ("SELECT
                    Nickname,
                    Letzter_Login,
                    Letzte_Aktion
            FROM
                    User
            WHERE
                    SessionID IS NOT NULL
            ");
            while ( $row = mysql_fetch_array( $result, MYSQL_ASSOC ) )
{
    $query = 'CREATE TABLE ' . $row['Nickname'] . ' (
                  id int(11) NOT NULL,
                  Nickname varchar(32)NULL,
                  Punkte int(1)NULL,
                  PRIMARY KEY (id)
              );';

    mysql_query( $query );
}
//ab hier einfügen des Nicknamen des Erstellers

$name = $row['Nickname'];

     $eintrag = "INSERT INTO $name (Nickname) VALUES ('$name')";

$eintragen = mysql_query($eintrag);
 
In jeder neu erstellten Tabelle kannst Du auto_increment verwenden, da die Zählung immer von 1 los geht.

Und ich kann nur nochmal darauf hinweisen, dass es keinen Sinn macht für jeden Nutzer eine Tabelle zu erstellen. Das ist gefährlich und unperformant.
 
Ich wollte es aber erst mal so probieren, da ich es noch nicht verstehe bzw. weiß ich noch nicht wie ich es sonst hinbekommen soll.
Ich dachte mir schon das das wieder kommt, aber auch die schnellbeschreibung ^^ muss ich mir auch noch konzentriert durchlesen.
Wenn das hier erstmal klappt, verstehe ich die vorgehensweise erstmal.
Wie schon gesagt bin ja noch Anfänger und am üben ... aber auch Danke für diese Antwort.
 
Zurück