Darstellungsproblem - help please!

quidnovi

Erfahrenes Mitglied
Hi @ all!

Nach der Abfrage der Tabelle werden die Einträge in einen Array gespeichert und...ja, da liegt mein Problem!
Ich möchte die Ausgabe in Gruppen ausgeben. Das funktioniert ja auch, aber nicht so wie gewünscht.
Nachdem die Einträge gereiht sind, sollte die Darstellung wie folgt aussehen:
Zuerst das Bild der Gruppe und darunter die dazugehörigen Einträge, dann das nächste Bild mit den dazugehörigen Daten usw.
Es will aber nicht, denn bei jedem Eintrag wird ein Bild gesucht. Das verursacht einen leeren Table. Schaut ziemlich bescheuert aus.
Der Code sieht so aus:
PHP:
foreach($myArtikelarray as $myarray) {
        echo '<table class="content" border="1" cellpadding="0" cellspacing="0" height="0"  width="100%" align="center">'."\n";
        echo ' <tr class="content">'."\n";
        echo ' <td class="content" colspan="2">'."\n";
        echo ' <a name="Ziel'.$myarray->ID.'" class="content"></a>'."\n";
        echo ' </td>'."\n";
        echo ' </tr>'."\n";
        echo ' <tr class="content">'."\n";
        echo "<td class='content' align='center'><font color='#fe0003'><b><u>".$myarray->kategorie."</b></u></font></td>";
		echo "</tr>";
		echo "<tr>";

        // falls vorhanden, Thumbnail als Link darstellen
        if ($myarray->bild_klein != ""){
            echo '<td class="content" width="'.$SpaltenBreite.'" rowspan="2" VALIGN=top><center><img src="./ProdukteBilder/'.$myarray->bild_klein.'" border="0"></center></td>'."\n";
        } // end of if
        else{
            echo '<class="content" width="'.$SpaltenBreite.'" rowspan="0" VALIGN=top><center></center>';
        }
		echo "<td class='content'>".$myarray->Bezeichnung."</td>";
		echo "</tr><tr>";
		echo "<td class='content'>".$myarray->Beschreibung."</td>";
		echo "</tr><tr>";
		echo "</table>";
		if ($myarray->status == 1)
			{
			echo "<table border='10' cellspacing='0' cellpadding='0'><colgroup><col width='20%'><col width='20%'><col width='10%'><col width='10%'><col width='10%'><col width='15%'><col width='15%'></colgroup><tr>";
		    echo "<td align='center' >Name</td>";
		    echo "<td align='center'>Bezeichnung</td>";
		    echo "<td align='center'>Farbe</td>";
		    echo "<td align='center'>Ma&szlig;e</td>";
		    echo "<td align='center'>Einheit</td>";
		    echo "</tr><tr>";
		    echo "<td class='content' align='center'>".$myarray->nummer."</td>";
		    echo "<td class='content' align='center'>".$myarray->name."</td>";
		    echo "<td class='content' align='center'>".$myarray->farbe."</td>";
		    echo "<td class='content' align='center'>".$myarray->mass."</td>";
		    echo "<td class='content' align='center'>".$myarray->einheit."</td></tr>";
			}
		}// End foreach 
      echo '</table>';

Bitte helft mir
THX Gü
 
Meinst du diese Zeilen?
PHP:
        // falls vorhanden, Thumbnail als Link darstellen 
        if ($myarray->bild_klein != ""){ 
            echo '<td class="content" width="'.$SpaltenBreite.'" rowspan="2" VALIGN=top><center><img src="./ProdukteBilder/'.$myarray->bild_klein.'" border="0"></center></td>'."\n"; 
        } // end of if 
        else{ 
            echo '<class="content" width="'.$SpaltenBreite.'" rowspan="0" VALIGN=top><center></center>'; 
        }
Falls ein Bild irgendwo eingefügt wird verschiebt sich deine Tabelle. Du brauchst deshalb in der ELSE Anweisung auf jeden Fall eine Leere Spalte <td></td>.

Ist das src="./Produkte etc" so gewollt?
 
Hi won_gak

Dank erstmal für die schnelle Antwort.

Das src="./Produkte etc" stimmt schon so - auch wenn's eigenartig aussieht.

Habe jetzt eine leere Spalte eingefügt - das war aber leider nicht des "Pudels Kern".

Ich versuche das Problem noch einmal darzustellen.
Die Db - Abfrage und Reihung funktioniert. Ich bekomme sogar - wie gewollt - nur einmal ein Bild pro Gruppe!
Nur bei der Darstellung muß ich einmal eine Überschrift ausgeben lassen.
Darunter sollten sich nun die Artikel für diese eine Kategorie versammeln. Tun sie auch, aber jeder Artikel hat auch diese Überschrift (z.B.: 6 Artikel, 6 Überschriften - Furchtbar!)
Wie um alles in der Welt bringe ich diese überflüssigen Überschriften weg?
That's the problem!
Hoffe, man kann nun mit dieser Problemanalyse etwas mehr anfangen

 
PHP:
        echo "<td class='content' align='center'><font color='#fe0003'><b><u>".$myarray->kategorie."</b></u></font></td>";

Ist das also des Pudels Kern?
 
Hi won_gak and all

Mann, Mann, Mann, wie blind man doch werden kann, wenn man stundenlang das gleiche Script anstiert! Bin schon versucht zu behaupten, wenn man das lange genug durchzieht, sieht man sogar die "Mona Lisa" zwischen dem Code nicht mehr herauslachen! Is ja krass!
Jetzt zur Lösung:

Man braucht nur die Überschrift zwischen:
PHP:
if ($myarray->bild_klein != ""){
und
PHP:
if ($myarray->status == 1)
packen. Damit wird die Überschrift so wie das Bild einer jeden Gruppe nur einmal ausgegeben.

Vielen Dank Won_gak für Deine Bemühungen.
Have a nice day!
 
Zurück