Schnelle Frage (If und Echo in While Schleife)

Dennis Wronka hat gesagt.:
@Gumbo: Du meinst wohl CSS. ;) Richtig verlinkt hast Du ja, aber im Eifer des Gefechtes falsch beschriftet.
Das passiert, wenn man mit den Gedanken ganz wo anders ist.

Der so genannte ternäre Operator könnte die Lösung deines Problems sein, GodWar:
PHP:
<?php

	$ausgaben .= '<td class="rahmen_text" align="left" valign="bottom">Bauzeit: '.($mitglied_bautyp == 'stufe_holz' ? date('d.m.y - H:i:s', $mitglied_baubis) : Transform_Bauzeit($holzfaellerhuette_bauzeit) ).'</td>';

?>
 
Wie würde das den aussehen? Ist ja das Problem! Ich gebe 5 Tabelen nacheinander aus der DB aus! Ich muss aber z.B. einen Wert Abfragen um zu sagen, das an der Stelle anstatt bauen, abbrechen steht. Ich habs momentan alles ohne Schleife aber das firsst Ladezeit! Möglich?

*EDIT*
Genau das was ich brauchte Gumbo! DANKE :)

Nun nur noch das mit den Tabellen nebeneinander :) Dann bin ich glücklich ^^
 
Das kann nicht mit CSS gelöst werden (!)

Also noma:

Hier die Schleife:

PHP:
while( $row = mysql_fetch_array($result) ){  

$ausgaben .= "<table width=\"302\" border=\"0\" cellspacing=\"2\" cellpadding=\"0\" background=\"images/rahmen_bg.gif\" style=\"background-repeat: repeat-x;\" ".($mitglied_baut == "1" && $mitglied_bautyp == "stufe_".stripslashes($row[kurzname])."" ? "" : 'class="rahmen_transparenz"' ).">\n";   

$ausgaben .= "<tr>\n";  
$ausgaben .= "<td width=\"100\" rowspan=\"7\" valign=\"top\"><img height=\"100\" width=\"100\" src='".stripslashes($row[bild])."'></td>\n";  
$ausgaben .= "<td align=\"left\" valign=\"top\" class=\"rahmen_text\"><b>".stripslashes($row[name])."</b></td>\n";  
$ausgaben .= "<td align=\"right\" valign=\"top\" class=\"rahmen_text\">(Stufe: ".stripslashes($$kurzname_stufe).")</td>\n";  
$ausgaben .= "</tr>\n";  

$ausgaben .= "<tr>\n";  
$ausgaben .= "<td colspan=\"2\" valign=\"top\" class=\"rahmen_text\"><b>Holz: </b>".stripslashes($$longname_kosten_holz)."<br><b>Stein: </b>".stripslashes($$longname_kosten_stein)."<br><b>Eisen: </b>".stripslashes($$longname_kosten_eisen)."<br><b>Gold: </b>".stripslashes($$longname_kosten_gold)."<br></td>\n";  
$ausgaben .= "</tr>\n";  

$ausgaben .= "<tr>\n";  
$ausgaben .= "<td class=\"rahmen_text\" align=\"left\" valign=\"bottom\">".($mitglied_bautyp == "stufe_".stripslashes($row[kurzname])."" ? date('d.m.y - H:i:s', $mitglied_baubis) : Transform_Bauzeit($$longname_bauzeit) )."</td>";
$ausgaben .= "<td class=\"rahmen_text\" align=\"right\" valign=\"bottom\"><a href=\"?p=gebaeude&id=".stripslashes($row[id])."&do=bauen\">BAUEN</a></td>\n";  
$ausgaben .= "</tr>\n";  

$ausgaben .= "</table><br>";  

}  

echo $ausgaben;
Wollte das alle 2 Tabellen der eine daneben macht! Also Immer 2 Tabellen pro Reihe usw! Wenn ich das noch hab verringert sich die Ladezeit emenz!

THX
 
Und nun? Wie soll das den gehen? :suspekt:

Keine If Abrage ob $i = 2 oder so damit der nen neues td anlegt um ne neue Spalte zu machen! CSS kenn ich zu genüge das was Du mit gegeben hast ist gut für Menüs die hab ich schon ^^
 
Mhm also eines ist doch klar , es wurde bereits gut erklärt.

Fakt ist du kannst innerhalb eines echo befehls keine If-Anweisung starten , ob das was Gumbo gepostet hat klappt weiss ich nicht aber dieser Ausdruck ersetzt eine If Anweisung klar komme ich damit auch nicht so richtig.

Also bleibt 1 Variante , die If Else Anweisung:

PHP:
while( $row = mysql_fetch_array($result) ){  

$ausgaben .= "<table width=\"302\" border=\"0\" cellspacing=\"2\" cellpadding=\"0\" background=\"images/rahmen_bg.gif\" style=\"background-repeat: repeat-x;\">\n";   

$ausgaben .= "<tr>\n";  
$ausgaben .= "<td width=\"100\" rowspan=\"7\" valign=\"top\"><img height=\"100\" width=\"100\" src='".stripslashes($row[bild])."'></td>\n";  
$ausgaben .= "<td align=\"left\" valign=\"top\" class=\"rahmen_text\"><b>".stripslashes($row[name])."</b></td>\n";  
$ausgaben .= "<td align=\"right\" valign=\"top\" class=\"rahmen_text\">(Stufe: ".stripslashes($$kurzname_stufe).")</td>\n";  
$ausgaben .= "</tr>\n";  

$ausgaben .= "<tr>\n";  
$ausgaben .= "<td colspan=\"2\" valign=\"top\" class=\"rahmen_text\"><b>Holz: </b>".stripslashes($$longname_kosten_holz)."<br><b>Stein: </b>".stripslashes($$longname_kosten_stein)."<br><b>Eisen: </b>".stripslashes($$longname_kosten_eisen)."<br><b>Gold: </b>".stripslashes($$longname_kosten_gold)."<br></td>\n";  
$ausgaben .= "</tr>\n";  

$ausgaben .= "<tr>\n";  
$ausgaben .= "<td class=\"rahmen_text\" align=\"left\" valign=\"bottom\">Bauzeit: (".stripslashes($$longname_bauzeit).")</td>\n";  
$ausgaben .= "<td class=\"rahmen_text\" align=\"right\" valign=\"bottom\"><a href=\"?p=gebaeude&id=".stripslashes($row[id])."&do=bauen\">BAUEN</a></td>\n";  
$ausgaben .= "</tr>\n";  

$ausgaben .= "</table><br>";  

}

Hier blicke ich erstmal gar nicht durch

Kleiner Tip :

PHP:
$ausgaben  = "<table>
                         <tr>
                            <td>".$meininhalt."</td>
                          </tr>
                       </table>";

$ausgaben  .= "<table>
                         <tr>
                            <td>".$meininhalt2."</td>
                          </tr>
                       </table>";

geht ebenfalls und sieht wesentlich übersichtlicher aus.

Da nun eine If Anweisung reinbringen :

PHP:
$ausgaben  = "<table>
                         <tr>
                            <td>".$meininhalt."</td>
                          </tr>
                       </table>";

$ausgaben  .= "<table>
                         <tr>";

                        if($x=1){
                            $ausgaben .= "<td>".meine weitere Spalte."</td>";
                        }

$ausgaben .=    </tr>
                       </table>";

Zum Beispiel.
 
[…] wie bekommn ichs hin, dass in der Schleife 2 Tabellen nebeneinander nicht dauerhaft untereinander angezeigt werden?
Deine Frage ist doch eindeutig: wie ist zu bestimmen, dass zwei Tabellen nebeneinander a?n?g?e?z?e?i?g?t werden. Und für die visuelle Formatierung eines HTML-Dokuments ist CSS und nicht PHP oder HTML selbst gedacht.
 
Kein Kommentar! :suspekt:

Naja oder doch:

1. Ich benutze kein CSS dafür
2. Das muss mit PHP gemacht werden in der Schleife
3. Nimm nicht alles auf die Goldwage! Wenn Du mir zeigst, wie man 7 verschachtelte Tabellen in 2er Reihen anzeigt die aus der DB gelesen werden und Variablen Abfragen und alles das mit CSS dann nehm ich alles zurück aber sorry FipsTheThief konnte mir mehr helfen!
 
Zuletzt bearbeitet:
Es kann sein, dass ich mich irre, aber werden Tabellen, ungeachtet ihrer Breite, nicht grundsaetzlich untereinander ausgegeben, es sei denn man nutzt Formatierung durch CSS?
 
Zurück