TripleD Geschrieben 28. Dezember 2004 Geschrieben 28. Dezember 2004 Hallo zusammen, nun meld ich mich auch mal wieder. Habe ein Problem mit meiner Abfrage und komme nicht weiter. Hab schon im INternet gesucht aber nichts gefunden. Ich hab zwei Tabellen, eine mit Infos zu Firmen und eine mit den Ansprechpartnern. Jetzt möchte ich das zu jeder Firma jeder Ansprechpartner angezeigt wird, und die Firma aber nur einmal, und nicht für jeden Ansprechpartner. Meine Tabelle zur Ausgabe sieht folgendermaßen aus: Firmenname | Ansprechpartner | Telefon | Fax | Diverses1 | Diverses2 [/PHP] Tabellen in der mySQL - DB: [PHP] Tabelle1: - id | Firmenname | Diverses1 | Diverses2 Tabelle2: - id | tabelle1_id | Ansprechpartner | Telefon | Fax Hoffe mir kann jemand helfen, wie ich alle Firmen angezeigt bekomme (nur 1 mal) und alle Ansprechpartner jeweils zu den Firmen. Gruß TripleD
robotto7831a Geschrieben 28. Dezember 2004 Geschrieben 28. Dezember 2004 select firmenname, ansprechpartner from tabelle1, tabelle2 where tabelle1.id=tabelle2.tabelle1_id; Es ist logisch, dass Du folgende Ergebnisse bekommst. Firma, Ansprechpartner a, herr x a, frau b c, herr k d, frau z Was soll SQL denn machen. Er bekommt aus der zweiten Tabelle zwei Datensätze und aus der ersten nur einen passenden. Also fügt er den einen Satz nochmal vorne dran. Du mußt dann bei der Ausgabe eine kleine Abfrage machen. Frank
kills Geschrieben 28. Dezember 2004 Geschrieben 28. Dezember 2004 wieso nicht das ganze in 2 zügen machen? du verwendest PHP? ich geh ma davon aus... $sql = "select firma from tabelle1"; $res = mysql_query( $sql); echo "<table>"; while( $firm = mysql_fetch_assoc( $res)) { echo "<tr>"; $sql = "select person from tabelle2 where firmaId = ". $firm['id']; $res2 = mysql_query( $sql); echo "<td>". $firm['name'] ."</td>"; echo "<td>"; while( $person = mysql_fetch_assoc( $res2)) { echo $person['name'] . "<br/>"; } echo "</td>"; echo "</tr>"; } echo "</table>"; [/PHP]
TripleD Geschrieben 29. Dezember 2004 Autor Geschrieben 29. Dezember 2004 Hallo, erst mal danke für eure Hilfe. Aber irgendwie passt da was noch nicht, und ich komm nicht drauf. Hier mal der Quellcode: <html> <head> <title> Telefonliste Lieferant </title> <link rel="stylesheet" type="text/css" href="../../config/table.css"> <script language="JavaScript"> <!-- var nw; function detail(url) { nw=window.open(url,'Drucken','height=500,width=800'); if (window.focus) { nw.focus() } } //--> </script> </head> <body> <table> <colgroup> <col width="140"> <!-- Lieferant --> <col width="120"> <!-- Ansprechpartner --> <col width="100"> <!-- Telefon --> <col width="100"> <!-- Fax --> <col width="50"> <!-- Fracht --> <col width="150"> <!-- Zahlungsbedingungen --> </colgroup> <tr> <td> <font size="3"><b>Lieferant</b></font> </td> <td> <font size="3"><b>Ansprechpartner</b></font> </td> <td> <font size="3"><b>Telefon</b></font> </td> <td> <font size="3"><b>Fax</b></font> </td> <td> <font size="3"><b>Fracht</b></font> </td> <td> <font size="3"><b>Zahlungsbedingungen</b></font> </td> <td> LFR </td> <td> LFR </td> <td> AP </td> <td> AP </td> <td> <a href="javascript:detail('print.php');"><img src="../../images/print.png" border="0" width="15" height="15" alt="Drucken"></a> </td> <td> <a href="add.php"><img src="../../images/add.png" border="0" width="15" height="15" alt="Hinzufügen"></a> </td> </tr> <?php include('../connect.php'); $sql_lfr = "SELECT * FROM ".$T_LFR_LFR OR die('Fehler bei Abfrage: '.mysql_error()); $result_lfr = mysql_query($sql_lfr) OR die('Fehler bei Ausfürung: '.mysql_error()); while($lfr = mysql_fetch_assoc($result_lfr)) { ?> <tr> <td valign="top"> <?php echo '<font size="2"><b>'.$lfr['firma'].'</b></font><br>'; echo '<font size="2"><b>Kunden-Nr.: '.$lfr['kdnr'].'</b></font><br>'; echo '<font size="2"><b>'.$lfr['oz'].'</b></font>'; ?> </td> <?php $sql_ap = "SELECT * FROM ".$T_LFR_AP OR die('Fehler bei Abfrage: '.mysql_error()); $result_ap = mysql_query($sql_ap) OR die('Fehler bei Ausfürung: '.mysql_error()); while($ap = mysql_fetch_assoc($result_ap)) { ?> <td valign="top"> <?php echo '<font size="2">'.$ap['ap'].'</font>'; ?> </td> <td valign="top"> <?php echo '<font size="2">'.$ap['tel'].'</font>'; ?> </td> <td valign="top"> <?php echo '<font size="2">'.$ap['fax'].'</font>'; ?> </td> <?php } ?> <td valign="top"> <?php echo '<font size="2">'.$lfr['fracht'].'</font>'; ?> </td> <td valign="top"> <?php echo '<font size="2">'.$lfr['zb_div'].'</font>'; ?> </td> <td> <?php echo '<a href="edit.php?id='.$lfr[id].'"><img src="../../images/update.png" border="0" alt="Bearbeiten"></a>'; ?> </td> <td> <?php echo '<a href="del_go.php?id='.$lfr[id].'"><img src="../../images/delete.png" border="0" alt="Löschen"></a>'; ?> </td> <td> <?php echo '<a href="edit.php?id='.$ap[id].'"><img src="../../images/update.png" border="0" alt="Bearbeiten"></a>'; ?> </td> <td> <?php echo '<a href="del_go.php?id='.$ap[id].'"><img src="../../images/delete.png" border="0" alt="Löschen"></a>'; ?> </td> </tr> <?php } ?> </table> </body> </html> [/PHP] Und hier die dazugehörige ausgabe:
robotto7831a Geschrieben 29. Dezember 2004 Geschrieben 29. Dezember 2004 Hallo, da fehlt mindestens eine } Klammer und im zweiten SQL Statement sollte doch eine where Bedingung sein oder nicht? Frank
kills Geschrieben 29. Dezember 2004 Geschrieben 29. Dezember 2004 $sql_lfr = "SELECT * FROM ".$T_LFR_LFR OR die('Fehler bei Abfrage: '.mysql_error()); Hier kann niemals ein mysql_error auftreten, da du ne ganz normale String zuweisung machst... Gruß, Markus
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden