kostenloser Webspace werbefrei: lima-city


Nickname aus anderer Spalte auslesen?

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    x00r

    x00r hat kostenlosen Webspace.

    Href="/tag/all">allo,

    derzeit sucht das Script das ich benutze den Nickname im Datenbankeintrag "userdata". Ich möchte aber das er aus der Tabelle "beitraege" die Spalte "nick" benutzt um den Nickname auszulesen. Wie muss man diesen Msql-Code umändern das er das macht?

    $res = $user->queryf("SELECT be.*, us.username AS username FROM ".DB_PREF."beitraege AS be LEFT JOIN ".DB_PREF."userdata AS us ON be.creator = us.id ORDER BY be.timestamp DESC LIMIT %u, %u", ($page-1)*$persite, $persite);
    while($row = $res->fetch_array(MYSQLI_ASSOC)) {
            $thistext = $text->work($row['text']);
    ?>
    
             <div class="newposttitle">Erstellt von: <?php echo empty($row['username']) ? 'Anonym' : $user->get_profile_link($user->get_id($row['username']));
     ?> am <?php echo timeFormat($row['timestamp'], 1); ?></div>


    Wie man sehen kann sucht er in der Tabelle "Userdata" den Usernamen, wenn dort keiner vorhanden ist wird einfach Anonym angezeigt. Genau das soll es machen, nur das er eben in der Tabelle "beitrage" die Spalte "nick" benutzt und somit die Tabelle "Userdata" überflüssig wird. Ich hoffe ich konnte mich verständlich ausdrücken,

    Würde mich tierisch freuen wenn mir jemand hilft! Vielen dank :)

    Beitrag zuletzt geändert: 28.12.2013 22:52:52 von x00r
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. hsg-elbmarsch

    hsg-elbmarsch hat kostenlosen Webspace.

    Ersetz einfach die erste Zeile hierdurch, dann solltest du keine weiteren Änderungen machen müssen:
    $res = $user->queryf("SELECT be.*, be.nick AS username FROM ".DB_PREF."beitraege AS be ORDER BY be.timestamp DESC LIMIT %u, %u", ($page-1)*$persite, $persite);
  4. Autor dieses Themas

    x00r

    x00r hat kostenlosen Webspace.

    Hallo,

    danke für die Hilfe! Leider wird kein Nickname ausgegeben, aber er erkennt bereits ob ein Nickname in der Spalte steht oder nicht. Also wenn ein eintrag existiert ist es einfach leer und wenn keiner existiert kommt "Anonym"... Woran könnte das liegen?

    Vielleicht hilft es ja weiter wenn ich sage was ich vor habe bzw. gemacht habe..
    Dieses Formular geht eigentlich davon aus das ein Username angezeigt wird wenn jemand registriert ist, da ich es aber mit einem Input erweitert habe soll man auch ohne eine Anmeldung sich einen Nickname aussuchen können und wenn man es leer lässt einfach Anonym. Die Anmeldung habe ich komplett verbannt, daher auch die neue Spalte in der Tabelle "beitraege". Funktioniert soweit auch alles nur das der Nickname halt nicht angezeigt wird.

    Beitrag zuletzt geändert: 29.12.2013 4:55:00 von x00r
  5. I,Beitrag von hsg-elbmarsch fehlt noch der Left join, daher kann er dir keinen Usernamen ausgeben.
  6. hsg-elbmarsch

    hsg-elbmarsch hat kostenlosen Webspace.

    Sorry, übersehen! :) Änder noch:
    <div class="newposttitle">Erstellt von: <?php echo empty($row['username']) ? 'Anonym' : $user->get_profile_link($user->get_id($row['username']));

    in
    <div class="newposttitle">Erstellt von: <?php echo empty($row['username']) ? 'Anonym' : $row['username'];


    @all-in1: Soweit ich verstanden hatte, sollte die Tabelle userdata komplett rausfliegen, daher auch kein join.
  7. Dann wurde hoffentlich auch die Spalte nick entsprechend geändert. Denn dort waren ja vorher nur Zahlen drin, nun muss dann dort auch Text erlaubt sein. Und auch an die Länge der Zeichenkette sollte gedacht werden.
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!