tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von Yaslaw
ERLEDIGT
JA
ANTWORTEN
1
ZUGRIFFE
124
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    asolution asolution ist offline Mitglied
    Registriert seit
    Jun 2010
    Beiträge
    20
    Hallo zusammen

    Mein Problem ist ein SQL und PHP Problem...
    Ich möchte aus der vordersten Zeile die höchste ID auslesen und den gewünschten Text aus der 2 Spalte ausgeben. Die Verbindung zur DB funktioniert!

    So sieht die Tabelle aus:
    Code sql:
    1
    2
    3
    4
    
        12  <div ist eine<b> Organisation<...   2002-04-11 00:00:00     1 
        20  Content hier erweitern.........     2002-07-11 00:00:00     1   
        19  Letzter eintrag 1   2002-06-11 00:00:00     1   
        18  TESTEST     2002-06-11 00:00:00     1


    und so das php
    PHP-Code:

    class loadContent {
        function 
    loadInfo() {
            
    $sql "SELECT MAX(ContId), Content ".
                      
    "FROM tblContent "
                      
    "WHERE SiteId = 1 ".
                    
    "GROUP BY SiteId ".
                    
    "HAVING MAX(ContId)"
            
    $result mysql_query ($sql);
            
    $data mysql_fetch_array ($result);
            echo 
    $data[0];
        }


    Wenn ich nur die 0 spalte also die ContId ausgebe kommt das richtige bei der 1 also dem Content kommt nix... respektive nur das mit der ID 12!

    ich finde leider nicht heraus wiso? kann mir jemand helfen?
     

  2. #2
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Dein SQL ist falsch. Content ist nicht Teil des GROUP BY

    Code sql:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    
    SELECT
        mydata.max_contid,
        con.content
    FROM
        tblContent AS con
        INNER JOIN (
                        SELECT 
                            SiteId,
                            MAX(ContId) AS max_contid
                        FROM 
                            tblContent 
                        WHERE 
                            SiteId = 1
                        GROUP BY 
                            SiteId
                    ) AS mydata
            ON mydata.siteid = con.siteid
            AND mydata.max_contid = con.ContId
    asolution bedankt sich. 
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben