TripleD Geschrieben 28. Dezember 2004 Teilen 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
robotto7831a Geschrieben 28. Dezember 2004 Teilen 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 28. Dezember 2004 Teilen 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] Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
TripleD Geschrieben 29. Dezember 2004 Autor Teilen 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: Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
robotto7831a Geschrieben 29. Dezember 2004 Teilen Geschrieben 29. Dezember 2004 Hallo, da fehlt mindestens eine } Klammer und im zweiten SQL Statement sollte doch eine where Bedingung sein oder nicht? Frank Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 29. Dezember 2004 Teilen 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.