Ankündigung

Einklappen
Keine Ankündigung bisher.

letztes Datum aus mehreren Tabellen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • letztes Datum aus mehreren Tabellen

    Hallo zusammen,

    ich würde gerne das letzte Datum (datestamp) aus mehreren Datenbank Tabellen auslesen.
    Mit der Syntax erhalte ich das letzte Datum von JEDER Tabelle
    Code:
    $result = mysql_query("SELECT id,thread,subject,datestamp FROM $forum[table] order by datestamp desc Limit 1");
    Es handelt sich dabei um mehrere Foren (c.a. 30). Jedes Forum besitzt (leider) eine eigene Tabelle. Jetzt hätte ich gerne den letzten Foren Eintrag (nach Datum) von ALLEN Foren. Denke das man das mit Arrays realisieren kann. Leider weis ich nicht wie man das macht.
    Falls jemand eine Idee hat wäre es nett wenn Ihr ein Beispiel posten könntet.


  • #2
    Wenn alle Tabellen gleich aufgebaut sind, musst du nur die Tabellennamen wissen:

    Code:
    $tableNames = array("table1","table2","table3");
    
    foreach ($tableNames as $val)
    {
    $result = mysql_query("SELECT datestamp FROM `$val`order by datestamp desc Limit 1");  
    
    (... Überprüfungen, ob Daten vorhanden ...)
    
    $row = mysql_fetch_assoc($result);
    echo $row['datestamp']."
    " ;
    
    }
    Gruß KiBa

    Kommentar


    • #3
      Ja alle Tabellen sind gleich aufgebaut.
      Aber es geht leider nicht.
      Ich erhalte das geliche Ergebnis wie vorher.
      Aus allen Foren erhalte ich das letzte Datum.
      Aber ich will ja nur eins

      Kommentar


      • #4
        Ändere
        Code:
        $row = mysql_fetch_assoc($result);
        in
        Code:
        $row[] = mysql_fetch_array($result, MYSQL_NUM);
        Dann sortierst Du die Ergebnisse und nimmst das größte:
        Code:
        rsort($row);
        echo $row[0];
        Edit: Achte auf ein sortierbares Ausgabeformat.

        Kommentar


        • #5
          Sorry, geht nicht ganz, weil Arrays. Die veränderte Zeile muß
          Code:
          $row[] = mysql_result($result, 0, 0);
          heißen.

          PS: Als Abfrage geht auch
          Code:
          mysql_query('SELECT MAX(datestamp) FROM '.$val);

          Kommentar


          • #6
            Funktioniert Super.
            Vielen Dank für die Hilfe

            Kommentar


            • #7
              Sorry ist doch noch ein fehler drin.
              Ich erhalte zwar das letzte Datum allerdings steht das jetzt mehrmals da.
              Also immer das gleiche (letzte Datum)
              Und zwar genau so oft wie ich Tabellen habe.

              Edit: Doch nicht. Hat sich erledigt. :wink:

              Kommentar

              Lädt...
              X