kostenloser Webspace werbefrei: lima-city


Bestimmte Zeilen anders aus der Datenbank ausgeben

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    eragon95

    eragon95 hat kostenlosen Webspace.

    Hi,
    ich arbeite ja grad an einem PN-System.
    Die Nachrichten kommen an, aber wie hebe ich ungelesene Nachrichten hervor?
    Ich möchte sie gerne dick machen.
    Alle Nachrichten werden per While-Schleife ausgegeben.
    Hab da echt keine Idee wie ich einzelne ungelesene Nachrichten dick oder farbig machen kann.
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. benutzernaemelchen

    Kostenloser Webspace von benutzernaemelchen

    benutzernaemelchen hat kostenlosen Webspace.

    du fragst einfach in der while-schleife ab, ob die Nachricht gelesen wurde oder nicht.(wird per Eintrag "read" (true|false) in der Datenbank realisiert).
    Wenn read true ist, machst du einfach ein <strong>$blabla</strong>. Wenn nicht, einfach nur $blabla.
  4. Hallo,

    du solltest eine neue Spalte in der Tabelle einfügen: ungelesen. Diese setzt du standardmäßig auf 1. Wenn der Benutzer eine Nachricht liest, setzt du den Wert von ungelesen für diese Nachricht auf 0 (mit UPDATE).

    Um die Nachrichten fett hervorzuheben musst du in deiner while-schleife prüfen, ob das ungelesen-Feld auf 1 gesetzt ist. Also etwa so:

    if ($row["ungelesen"] == 1) {
    echo "<strong>" . htmlspecialchars($row["titel"]) . "</strong>";
    } else {
    echo htmlspecialchars($row["titel"]);
    }
  5. Autor dieses Themas

    eragon95

    eragon95 hat kostenlosen Webspace.

    Wie binde ich das in die While-Schleife mit ein?
    Bei mir sieht das etwa so aus:
    $abfrage = "SELECT * FROM mail WHERE empfanger LIKE '$username' AND status LIKE 'unread' OR ordner LIKE 'read' 
          ORDER BY '$order'";
         $ergebnis = mysql_query($abfrage);
    
    while($row = mysql_fetch_object($ergebnis))
       {
          $betreff = $row->betreff;
          $datum = date("d.m.Y H:i", $row->datum);
          $absender = $row->absender;
          $id = $row->id;
          echo "<tr><td><input type=\"checkbox\" name=\"mail[]\" value=\"$id\"></td><td><a href=\"mail.php?mode=read&id=$i\">
          $betreff</a></td><td>$datum</td><td>$absender</td></tr>";
       }

  6. Wie binde ich das in die While-Schleife mit ein?
    Bei mir sieht das etwa so aus:
    $abfrage = "SELECT * FROM mail WHERE empfanger LIKE '$username' AND status LIKE 'unread' OR ordner LIKE 'read' 
          ORDER BY '$order'";
         $ergebnis = mysql_query($abfrage);
    
    while($row = mysql_fetch_object($ergebnis))
       {
          $betreff = $row->betreff;
          $datum = date("d.m.Y H:i", $row->datum);
          $absender = $row->absender;
          $id = $row->id;
          echo "<tr><td><input type=\"checkbox\" name=\"mail[]\" value=\"$id\"></td><td><a href=\"mail.php?mode=read&id=$i\">
          $betreff</a></td><td>$datum</td><td>$absender</td></tr>";
       }


    also, wie dein Code aussieht, wird das nicht funktionieren. Es würde dann immer ein "<a href="mail.php?mode=read&id=x" ausgegeben.
    Du solltest nach "$id = $row->id;" noch Abfragen, was der Read-Status ist. (am Besten mit True oder False) Die Abfrage oben an mySQL ("status LIKE 'unread' OR ordner LIKE 'read') brauchst du dann nicht mehr.
    Unten bei der Ausgabe fügst du dann abhängig vom Read status (True oder False) einen HTML-Code-Abschnitt ein, ob es dick geschrieben wird oder nicht.

    Ich hoffe ich konnte dir helfen,

    MfG
    s1m13
  7. Autor dieses Themas

    eragon95

    eragon95 hat kostenlosen Webspace.

    Wann ist was true und wann false?
    Wenn es gelesen ist soll es auf true gesetzt werden?

    Ich hab das mit read und unread gemacht, weil ich auch da delete miteinbauen wollte, damit man die Nachrichten auch löschen kann.
  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!