Zum Inhalt springen

Problem mit SQL abfrage mit PHP aus zwei Tabellen


Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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]

Link zu diesem Kommentar
Auf anderen Seiten teilen

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:

>

>

bild1.png

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...