einfaches auslesen und sortieren aus der DB?!

Dieses Thema im Forum "Web-Programmierung" wurde erstellt von eyz, 04.11.2004.

  1. eyz

    eyz Thread Starter MacUser Mitglied

    Beiträge:
    176
    Zustimmungen:
    0
    MacUser seit:
    29.12.2003
    ho!i

    also ich will daten gruppiert und geordnet ausgeben.. diese daten befinden sich in 2tables.. die mit einer key-spalte in einer der beiden tables miteinander verbunden sind

    meine tables:
    A[ID,NAME]
    B[ID,AID,NAME]

    so will ich die ausgabe haben:
    A.NAME(id=1)
    B.NAME(id=1,aid=1)
    B.NAME(id=2,aid=1)
    B.NAME(id=x,aid=1)
    A.NAME(id=2)
    B.NAME(id=3,aid=2)
    B.NAME(id=4,aid=2)
    B.NAME(id=x,aid=2)
    A.NAME(id=3)
    A.NAME(id=4)


    mein lösungsansatz:
    PHP:
    <?php
        $sql
    ="SELECT A.ID AS AID, A.NAME AS ANAME, B.NAME AS BNAME, B.ID AS BID 
            FROM A, B 
            WHERE B.AID=A.ID 
            ORDER BY A.ID"
        
    while($row=mysql_fetch_array($sql)){
            
    $aid = ($row["AID"]);
            if(
    $aid!=$lastaid){
                if(
    $aid 1) echo("</table></div>");
                echo(
    "<div><table>");
                
    $aname = ($row["ANAME"]);
                echo(
    "<tr><td>$aname</td></tr>".
            }
            
    $bid = ($row["BID"]);
            
    $bname = ($row["BNAME"]);
            if(!
    $bid){
                echo(
    "<tr><td>leer</td></tr>");
            }else{
                echo(
    "<tr><td>$bname</td></tr>");
            }
            
    $lastaid $aid;
        }
    ?>
    mein problem:
    sobald ich in table A einen neue "zeile" einfüge.. wird diese nicht ausgegeben, da ja keine zeile in B mit der richtigen AID vorhanden ist __also das unterstrichene in meinem ausgabebeispiel wird NICHT ausgegeben... :/

    jetzt sitz ich am schlauch! :) .. plz help
     
  2. rash65

    rash65 unregistriert

    Beiträge:
    111
    Zustimmungen:
    0
    MacUser seit:
    27.10.2004
    Mit einem Left-Join auf A sollten die unterstrichenen Zeilen auch auftauchen.

    SELECT A.ID, A.Name, B.Name, b.id
    FROM A
    LEFT JOIN B
    ON A.id=b.aid

    kanns gerade zwar nicht testen, aber müsste eigentlich so gehen :)
     
  3. eyz

    eyz Thread Starter MacUser Mitglied

    Beiträge:
    176
    Zustimmungen:
    0
    MacUser seit:
    29.12.2003
    hmmmmm.. ich habs nochmal mit dem leftjoin probiert

    leider funktioniert das nicht :/

    er gibt mir dann aus:
    .. ich mach einfach mal [DLMURL="http://web5.brainpain.at/mysite/forum/index.php"]> link <[/DLMURL]

    cat ist in dem fall A und die foren sind B :)

    also eigentlich hätte ich schon 5categories, wobei 4 von ihnen foren behinhalten(mit f.CID=c.ID also)

    die 5. categorie zeigt er mir gar nicht an :/ ..mit meiner vorherigen lösung

    edit//////
    arrrrrrrr es geht!! *freu*.. so wies aussieht muss ich mir die JOINS noch genauer ansehehn!

    danke vielmals!
     
    Zuletzt von einem Moderator bearbeitet: 24.10.2015
  4. rash65

    rash65 unregistriert

    Beiträge:
    111
    Zustimmungen:
    0
    MacUser seit:
    27.10.2004
    puh, also wie du das in einem schritt rausbekommst bin ich gerade zu faul zu überlegen, aber wie wäre es mit einem zwischenschritt?

    du könntest die "vergessenen" zeilen ja per Hand raussuchen (das sind ja die As, zu denen keine B existiert) und die dann noch dazupacken.
     
Die Seite wird geladen...
Ähnliche Themen - einfaches auslesen sortieren
  1. mad dog
    Antworten:
    19
    Aufrufe:
    2.085
    MacEnroe
    14.08.2015
  2. chndsor
    Antworten:
    1
    Aufrufe:
    1.085
    Schempi
    22.08.2009
  3. em-si
    Antworten:
    7
    Aufrufe:
    984
    em-si
    20.04.2009
  4. batuda
    Antworten:
    2
    Aufrufe:
    2.702
    batuda
    23.05.2007
  5. ulik
    Antworten:
    5
    Aufrufe:
    631
    thebigc
    27.11.2003