Tabellen mit for-schleife!?

Toxictype

New member
Hi,

ich tüftel mal wieder herum und stehe auch mal wieder vor einem Rätsel. Mit einer for-Schleife generiere ich per PHP und MySQL mehrere Daten aus einer DB.
Wenn mehrere Daten vorhanden sind, spuckt er mir natürlich auch mehrere Tabellen aus.

Das Problem:
Ich möchte die Tabellen gerne nebeneinander und nicht untereinander gelistet haben.

Wie schaffe ich es, dass er mir die Anzahl der generierten Daten, die mit "$menge= mysql_num_rows($qu);" ermittelt werden eben nicht untereinander, sondern nebeneinander aufreiht???

Tox
 
Mmmmhh...irgendwie haut´s net hin!

Hier mal die "Situation"! Vielleicht versteht man es dann besser!

PHP:
<table width="500" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td bgcolor="#E0EEFE"><font color="#000099"><strong>intern:</strong></font></td>
    <td bgcolor="#EEEEEE"><font color="#000099"><strong>extern:</strong></font></td>
  </tr>
  <tr>
    <td nowrap>
      <?php
	//
	for ($i=0; $i<$menge ;$i++) 
		{ 
		$id= mysql_result($qu,$i,"id");
		$Preis= mysql_result($qu,$i,"Preis");
		$Datum= mysql_result($qu,$i,"Datum");
		$Anbieter= mysql_result($qu,$i,"Anbieter");
		$Werbung= mysql_result($qu,$i,"Werbung");
		$EK = mysql_result($qu,$i,"EK");
		$DatumEK= mysql_result($qu,$i,"DatumEK");
		$Lieferant= mysql_result($qu,$i,"Lieferant");
		$VK= mysql_result($qu,$i,"VK");
	//
	if ((!$menge) or ($menge==1))
	{
	//echo "1 Tabelle";
	echo '<table align="left" width="100%" border="0" cellpadding="0" cellspacing="0">';
    echo '<tr>';
    echo '<td nowrap><strong>Preis '.($i+1).'</strong></td>';
    echo '</tr>';
  	echo '<tr>';
    echo '<td nowrap>'.$Preis.'</td>';
    echo '</tr>';
    echo '<tr>';
    echo '<td nowrap><strong>Datum:</strong></td>';
    echo '</tr>';
    echo '<tr>';
    echo '<td>'.$Datum.'</td>';
 	echo '</tr>';
    echo '<tr>';
    echo '<td nowrap><strong>Anbieter:</strong></td>';
 	echo '</tr>';
    echo '<tr>';
    echo '<td>'.$Anbieter.'</td>';
 	echo '</tr>';
    echo '<tr>';
    echo '<td nowrap><strong>Werbung:</strong></td>';
 	echo '</tr>';
    echo '<tr>';
    echo '<td>'.$Werbung.'</td>';
    echo '</tr>';
    echo '</table>';
	}
	elseif ($menge==2)
	{
	//echo "2 Tabellen";
	echo '<table align="left" width="100%" border="0" cellpadding="0" cellspacing="0">';
    echo '<tr>';
    echo '<td nowrap><strong>Preis '.($i+1).'</strong></td>';
    echo '</tr>';
  	echo '<tr>';
    echo '<td nowrap>'.$Preis.'</td>';
    echo '</tr>';
    echo '<tr>';
    echo '<td nowrap><strong>Datum:</strong></td>';
    echo '</tr>';
    echo '<tr>';
    echo '<td>'.$Datum.'</td>';
 	echo '</tr>';
    echo '<tr>';
    echo '<td nowrap><strong>Anbieter:</strong></td>';
 	echo '</tr>';
    echo '<tr>';
    echo '<td>'.$Anbieter.'</td>';
 	echo '</tr>';
    echo '<tr>';
    echo '<td nowrap><strong>Werbung:</strong></td>';
 	echo '</tr>';
    echo '<tr>';
    echo '<td>'.$Werbung.'</td>';
    echo '</tr>';
    echo '</table>';
	}
	elseif ($menge > 2)
	{
	echo "3 Tabellen";
	}
	}
	?>
</td>
    <td> 
      <?php
		for ($i=0; $i<$menge ;$i++) 
		{ 
		$id= mysql_result($qu,$i,"id");
		$Preis= mysql_result($qu,$i,"Preis");
		$Datum= mysql_result($qu,$i,"Datum");
		$Anbieter= mysql_result($qu,$i,"Anbieter");
		$Werbung= mysql_result($qu,$i,"Werbung");
		$EK = mysql_result($qu,$i,"EK");
		$DatumEK= mysql_result($qu,$i,"DatumEK");
		$Lieferant= mysql_result($qu,$i,"Lieferant");
		$VK= mysql_result($qu,$i,"VK");
	//
	if ((!$menge) or ($menge==1))
	{
	//echo "1 Tabelle";
	echo '<table align="left" width="100%" border="0" cellpadding="0" cellspacing="0">';
  	echo '<tr>';
    echo '<td nowrap><strong>EK '.($i+1).'</strong></td>';
  	echo '</tr>';
  	echo '<tr>';
    echo '<td nowrap>'.$EK.'</td>';
    echo '</tr>';
  	echo '<tr>';
    echo '<td nowrap><strong>Datum:</strong></td>';
  	echo '</tr>';
  	echo '<tr>';
    echo '<td>'.$DatumEK.'</td>';
  	echo '</tr>';
  	echo '<tr>';
    echo '<td nowrap><strong>Lieferant:</strong></td>';
  	echo '</tr>';
  	echo '<tr>';
    echo '<td>'.$Lieferant.'</td>';
  	echo '</tr>';
  	echo '<tr>';
    echo '<td nowrap><strong>VK '.($i+1).'</strong></td>';
  	echo '</tr>';
  	echo '<tr>';
    echo '<td nowrap>'.$VK.'</td>';
  	echo '</tr>';
	echo '</table>';
	}
	elseif ($menge==2)
	{
	echo "2 Tabellen";
	}
	}
	?>
    </td>
  </tr>
</table>
 
Habe ich das nicht?

PHP:
<table> // Tabelle übergeordnet
<tr>
<td>
<table>
je nach Anzahl von $menge -> 1, 2 oder 3 Tabellen
</table>
</td>
<td>
<table>
je nach Anzahl von $menge -> 1 oder 2 Tabellen
</table>
</td>
</tr>
</table>

:(
 
Also Deine Programmierung ist ziemlich konfus und es sieht nicht so aus, als daß der Code das macht, was vorgeschlagen wurde, bzw. Du im Sinn hast.

Am besten nimmst Du einen HTML Editor und erstellst die Tabellenstruktur mal im "Trockenen" so wie es sein soll und baust das erst später in Dein PHP ein.
 
Hi an alle und erstmal danke für die Posts!

Den HTML-Editor habe ich schon hinter mir, da ich dachte, ich habe mich irgendwo verhauen. Deswegen sieht das "Script" auch so "geleckt" aus! ;)

Ehrlich gesagt, weiß ich gar nicht, ob es so, wie ich es haben möchte, überhaupt möglich ist!!! (Gimme a comma!)

Vielleicht mal zur Erklärung:

- Ich habe eine Tabelle mit 2 Spalten und 2 Zeilen.
- In Zeile 1 steht "intern" (Spalte 1) und "extern" (Spalte 2).
- In Zeile 2 (Spalte 1) sollen so viele Tabellen generiert werden,
wie die Anzahl der Ergebnisse von "intern" aus der DB.
- In Zeile 2 (Spalte 2) sollen so viele Tabellen generiert werden,
wie die Anzahl der Ergebnisse von "extern" aus der DB.

Es hat auch schon geklappt! Allerdings immer nur so, dass die Tabellen untereinander und nicht nebeneinander standen.

P.S.: Ich hoffe, ihr versteht mich! Es ist gar nicht so einfach einen
kranken Gedanken zu beschreiben!
 
Ist das so schwer????

Du nimmst einfach den PHP Code, in der Schleife schreibst du <table align="left">, dann den Rest, am Ende </table>.

Bsp:
PHP:
while($x>=0)
{
  #Hier Variablen aus MySQL auslesen
  echo('<table align="left">');
  echo('<tr><td>'.$variable1.'</td></tr>');
  echo('<tr><td>'.$variable2.'</td></tr>');
  echo('</table>');
}
 
Aber das habe ich doch so!
Nur mit einer for-Schleife! Und das kann doch nicht der Schlüssel sein!

PHP:
      <?php 
    // 
    for ($i=0; $i<$menge ;$i++) 
        { 
        $id= mysql_result($qu,$i,"id"); 
        $Preis= mysql_result($qu,$i,"Preis"); 
        $Datum= mysql_result($qu,$i,"Datum"); 
        $Anbieter= mysql_result($qu,$i,"Anbieter"); 
        $Werbung= mysql_result($qu,$i,"Werbung"); 
        $EK = mysql_result($qu,$i,"EK"); 
        $DatumEK= mysql_result($qu,$i,"DatumEK"); 
        $Lieferant= mysql_result($qu,$i,"Lieferant"); 
        $VK= mysql_result($qu,$i,"VK"); 
    // 
    if ((!$menge) or ($menge==1)) 
    { 
    //echo "1 Tabelle"; 
    echo '<table align="left" width="100%" border="0" cellpadding="0" cellspacing="0">'; 
    echo '<tr>'; 
    echo '<td nowrap><strong>Preis '.($i+1).'</strong></td>'; 
    echo '</tr>'; 
      echo '<tr>'; 
    echo '<td nowrap>'.$Preis.'</td>'; 
    echo '</tr>'; 
    echo '<tr>'; 
...
...
 
Nochmal kurz und bündig, nachdem der PHP-Code interpretiert wurde sieht es so aus:

<html>
<body>
<table align="left" width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td>variable 1</td>
</tr>
</table>
<table align="left" width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td>variable n</td>
</tr>
</table>

</body>
</html>
 
Oooohhhh Scheiße!!!:mad:

Es war das width=100% !!!!!!!!!!!!!!!!!!!!!!!!!!

So eine K....!
Und damit beschaftigt man sich Tage und denkt, der Code paßt nicht!

Naja, man macht seine Lektion!

Vielen Dank für Eure Geduld!
 
sanchez, deine posts haun mich wirklich um!!!!

"If you have nothing constructive to say, please say nothing." - Keith Andrews (Graz)
 
Zurück
Oben