DB Abfrage + Darstellung

toboli

Erfahrenes Mitglied
Hallo,

ich habe die Urlaubsvertretung für meinen Kollegen übernehmen müssen und
stehe nun vor einem Problem mit einer DB-Anfrage. Da ich leider nicht allzu viel
Ahnung von Programmierung und PHP habe, hoffe ich das mir hier jemand
weiterhelfen kann.

Aus einer DB sollen verschieden Produkte abgefragt werden. Diese unterteilen
sich in drei verschieden Bereiche.

6 Ausführung, 8 Ausführung, 10 Ausführung

Zusätzlich gibt es wieder rum verschiedene Produktbezeichnungen wie z.B.

G 10, G 20, G40, G60 etc.

Mit der Abfrage

PHP:
<?php
// Liste ausgeben
if ($action==details) { 
$db = MYSQL_CONNECT($db_server,$db_user,$db_passwort) or die (mysql_error());
$db_select = MYSQL_SELECT_DB($db_name);
$result= @mysql_query("SELECT * FROM prod_details WHERE bform = '$bform'") or die (mysql_error());
?>
<table width="500" border="0" cellspacing="0" cellpadding="0">
<?php while($row = mysql_fetch_object($result)){ ?>
<tr>
<td><? echo $row->bform ?></td>
<td><? echo $row->bkat ?></td>
<td><? echo $row->breihe ?>&nbsp;Bar</td>
<td><? echo $row->bformtext ?></td>
</tr>
<?php } ?>
</table>

erhalte ich eine Ausgabe wie folgt :

G 10: 10 Bar F(max)=ca. 10 kN bei p(max)=10 bar
G 10: 8 Bar F(max)=ca. 10 kN bei p(max)=8 bar
G 10: 6 Bar F(max)=ca. 10 kN bei p(max)=6 bar

G 20: 6 Bar F(max)=ca. 20 kN bei p(max)=6 bar
G 20: 8 Bar F(max)=ca. 20 kN bei p(max)=8 bar

G 40: 10 Bar F(max)=ca. 40 kN bei p(max)=8 bar

G 300: 10 Bar F(max)=ca. 300 kN bei p(max)=10 bar
G 300: 6 Bar F(max)=ca. 300 kN bei p(max)=6 bar

Hier kommt nun das eigentliche Problem. Wie muss die Abfrage aussehen, damit die Aufstellung wie folgt aussieht:

10 Bar | 8 Bar | 6 Bar
------------------------------------------------------------------------------------
G 10 Text | Text | Text
G 20 Text | Text | Text
....
G 300 Text | Text | Text

Die Db ist wie folgt aufgebaut:

Felder:
id
bkat -> z.B.: 10, 20 ...
bform -> z.B.: G, U ...
breihe -> z.B.: 10,8,6
bformtext -> Beschreibender Text


Für Hilfe wäre ich echt dankbar. Danke jetzt schon...
 
Original geschrieben von toboli
<table width="500" border="0" cellspacing="0" cellpadding="0">
<?php while($row = mysql_fetch_object($result)){ ?>
<tr>
<td><? echo $row->bform ?></td>
<td><? echo $row->bkat ?></td>
<td><? echo $row->breihe ?>&nbsp;Bar</td>
<td><? echo $row->bformtext ?></td>
</tr>
<?php } ?>
</table>

Das hat nichts mit der Abfrage an sich zu tun, sondern wie Du die Abfrage in der Tabelle ausgibst.

Formatiere die Tabelle in HTML deinen Wünschen entsprechend.

Hier gibts Hilfe.
 
hallo,

danke erstmal. Habe ich auch schon versucht.

Allerdings scheitert es bei mir daran, dass eben z.B. dieses G 10 nur einmal, an erster Stelle in der Zeile erscheinen soll. Dahinter sollen dann die einzelnen Kategorien 10,8, und 6 erscheinen. Danach soll es mit der G 20 etc weitergehen.
Und genau hier komme ich nicht weiter.
 
Du brauchst dafür 2 Tabellen eine die sich wiederholt und eine die sich nicht wiederholt.

In die nicht wiederholende Tabelle kommt dann das rein

6 Ausführung, 8 Ausführung, 10 Ausführung

und in Die wiederholende Tabelle deine Mysql Abfragen und fertig ist es

Gruß Mirko
 
sorry das ich micht jetzt erst wieder melde. habe das thema ein par wochen verschoben.

vom prinzip kann ich mir deine antwort vorstellen, ich bekomme das bloß nicht umgesetzt. ich steh grad völlig auf dem schlauch.

kannst du mir evtl ein bsp. posten ?

grüße

tobias
 
Zurück