• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

problem mit switch Befehl

Poehli

New member
Hallo @all.
Erst mal frohe Weihnachten!!
naja ich wie die überschrift schon sagt hab ich ein Problem mit dem switch Befehl...
Ich will eine Tabelle machen, so dass die Bilder zusammen einguten Hintergrund machen. Doch irgendwie wird nichts ausgegeben.

hier erst mal der code den ich versucht habe zu erstellen. ich habe erst mal für beide switchs das selbe genommen, doch auch das funktionierte nicht:

PHP:
echo "<table>"
switch($style1)
{
	case '
   		<tr>
			<td background=\"/images/bg-gaestebuch_05.gif\"><img src=\"/images/bg-gaestebuch_05.gif\"></td>
			<td background=\"/images/bg-gaestebuch_02.gif\"><img src=\"/images/bg-gaestebuch_02.gif\"></td>
			<td background=\"/images/bg-gaestebuch_03.gif\"><img src=\"/images/bg-gaestebuch_03.gif\"></td>
		</tr>
   		<tr>
			<td background=\"/images/bg-gaestebuch_06.gif\"><img src=\"/images/bg-gaestebuch_06.gif\"></td>
			<td background=\"/images/bg-gaestebuch_07.gif\">'.$rows[inhalt].'a</td>
			<td background=\"/images/bg-gaestebuch_08.gif\"><img src=\"/images/bg-gaestebuch_08.gif\"></td>
		</tr>
   		<tr>
			<td background=\"/images/bg-gaestebuch_09.gif\"><img src=\"/images/bg-gaestebuch_09.gif\"></td>
			<td background=\"/images/bg-gaestebuch_10.gif\"><img src=\"/images/bg-gaestebuch_10.gif\"></td>
			<td background=\"/images/bg-gaestebuch_11.gif\"><img src=\"/images/bg-gaestebuch_11.gif\"></td>
		</tr>': $style1 = '
   		<tr>
			<td background=\"/images/bg-gaestebuch_05.gif\"><img src=\"/images/bg-gaestebuch_05.gif\"></td>
			<td background=\"/images/bg-gaestebuch_02.gif\"><img src=\"/images/bg-gaestebuch_02.gif\"></td>
			<td background=\"/images/bg-gaestebuch_03.gif\"><img src=\"/images/bg-gaestebuch_03.gif\"></td>
		</tr>
   		<tr>
			<td background=\"/images/bg-gaestebuch_06.gif\"><img src=\"/images/bg-gaestebuch_06.gif\"></td>
			<td background=\"/images/bg-gaestebuch_07.gif\">'.$rows[inhalt].'a</td>
			<td background=\"/images/bg-gaestebuch_08.gif\"><img src=\"/images/bg-gaestebuch_08.gif\"></td>
		</tr>
   		<tr>
			<td background=\"/images/bg-gaestebuch_09.gif\"><img src=\"/images/bg-gaestebuch_09.gif\"></td>
			<td background=\"/images/bg-gaestebuch_10.gif\"><img src=\"/images/bg-gaestebuch_10.gif\"></td>
			<td background=\"/images/bg-gaestebuch_11.gif\"><img src=\"/images/bg-gaestebuch_11.gif\"></td>
		</tr>'; break;
	case '
   		<tr>
			<td background=\"/images/bg-gaestebuch_05.gif\"><img src=\"/images/bg-gaestebuch_05.gif\"></td>
			<td background=\"/images/bg-gaestebuch_02.gif\"><img src=\"/images/bg-gaestebuch_02.gif\"></td>
			<td background=\"/images/bg-gaestebuch_03.gif\"><img src=\"/images/bg-gaestebuch_03.gif\"></td>
		</tr>
   		<tr>
			<td background=\"/images/bg-gaestebuch_06.gif\"><img src=\"/images/bg-gaestebuch_06.gif\"></td>
			<td background=\"/images/bg-gaestebuch_07.gif\">'.$rows[inhalt].'a</td>
			<td background=\"/images/bg-gaestebuch_08.gif\"><img src=\"/images/bg-gaestebuch_08.gif\"></td>
		</tr>
   		<tr>
			<td background=\"/images/bg-gaestebuch_09.gif\"><img src=\"/images/bg-gaestebuch_09.gif\"></td>
			<td background=\"/images/bg-gaestebuch_10.gif\"><img src=\"/images/bg-gaestebuch_10.gif\"></td>
			<td background=\"/images/bg-gaestebuch_11.gif\"><img src=\"/images/bg-gaestebuch_11.gif\"></td>
		</tr>': $style1 = '
   		<tr>
			<td background=\"/images/bg-gaestebuch_05.gif\"><img src=\"/images/bg-gaestebuch_05.gif\"></td>
			<td background=\"/images/bg-gaestebuch_02.gif\"><img src=\"/images/bg-gaestebuch_02.gif\"></td>
			<td background=\"/images/bg-gaestebuch_03.gif\"><img src=\"/images/bg-gaestebuch_03.gif\"></td>
		</tr>
   		<tr>
			<td background=\"/images/bg-gaestebuch_06.gif\"><img src=\"/images/bg-gaestebuch_06.gif\"></td>
			<td background=\"/images/bg-gaestebuch_07.gif\">'.$rows[inhalt].'a</td>
			<td background=\"/images/bg-gaestebuch_08.gif\"><img src=\"/images/bg-gaestebuch_08.gif\"></td>
		</tr>
   		<tr>
			<td background=\"/images/bg-gaestebuch_09.gif\"><img src=\"/images/bg-gaestebuch_09.gif\"></td>
			<td background=\"/images/bg-gaestebuch_10.gif\"><img src=\"/images/bg-gaestebuch_10.gif\"></td>
			<td background=\"/images/bg-gaestebuch_11.gif\"><img src=\"/images/bg-gaestebuch_11.gif\"></td>
		</tr>'; break;
	default: $style1 = '
   		<tr>
			<td background=\"/images/bg-gaestebuch_05.gif\"><img src=\"/images/bg-gaestebuch_05.gif\"></td>
			<td background=\"/images/bg-gaestebuch_02.gif\"><img src=\"/images/bg-gaestebuch_02.gif\"></td>
			<td background=\"/images/bg-gaestebuch_03.gif\"><img src=\"/images/bg-gaestebuch_03.gif\"></td>
		</tr>
   		<tr>
			<td background=\"/images/bg-gaestebuch_06.gif\"><img src=\"/images/bg-gaestebuch_06.gif\"></td>
			<td background=\"/images/bg-gaestebuch_07.gif\">'.$rows[inhalt].'a</td>
			<td background=\"/images/bg-gaestebuch_08.gif\"><img src=\"/images/bg-gaestebuch_08.gif\"></td>
		</tr>
   		<tr>
			<td background=\"/images/bg-gaestebuch_09.gif\"><img src=\"/images/bg-gaestebuch_09.gif\"></td>
			<td background=\"/images/bg-gaestebuch_10.gif\"><img src=\"/images/bg-gaestebuch_10.gif\"></td>
			<td background=\"/images/bg-gaestebuch_11.gif\"><img src=\"/images/bg-gaestebuch_11.gif\"></td>
		</tr>'; break;
		echo $style1."</table>";
 
du hast das prinzip nicht verstanden *denk*
so funktioniert switch:

switch (wert) {
case 'hatEigenschaft1':
tu irgendwas
break;
case 'hatEigenschaft2':
tu irgendwas anderes
break;
}
 
ja das hab ich doch gemacht??
ich hab gesagt, wenn die Tabelle 1 ist, soll er die Tabelle 2 danach ausführen... ich weiß das ich die gleichen genommen hab, doch eigl. sollte es doch funktionieren oder?? Ich mein der Browser sollte mir doch dann das ganze ohne irgendwelche Änderungen anzeigen... Oder versteh ich dich jetzt falsch??
Meine Absicht war es erst einmal mit einer "sicheren" Tabelle das auszuprobieren und anschließend einfach die Form der zweiten Tabelle bearbeiten!! Der style nachher soll so aussehen, wie beim iPhone die SMS nachrichten, nur ohne Sprechblasen...
iphone-sms.jpg


Danke trotzdem für die schnelle Antwort
 
Das sieht ja ganz böse aus, was du da machst. Setz nen Flag in dem steht welchen Style du verwendest, statt den html-Inhalt zu verwenden:

PHP:
switch($style){
   case '1':
       $style = '2';
       $table = '<tr>.....</tr>';
       break;
  case '2':
       $style = '1';
       $table = '<tr>.....</tr>';
       break;
}
Das ist übersichtlicher und daher weniger Fehleranfällig.

Wenn die immer abwechselnd kommen, wäre es so sogar noch einfacher:

PHP:
for($i = 0; $i < count($sprechblasen); $i++){
   if($i % 2 == 0) {
       // 1. Style
   }
   else {
      // 2. Style
   }
}
 
Dank dir!!!
Funktioniert alles super und sieht richtig sexy aus!!
Und wieder mal hat mir dieses Forum einen guten Dienst erwiesen - echter respect @all!!
 
Zuletzt bearbeitet:
Dank dir!!!
Funktioniert alles super und sieht richtig sexy aus!!
Und wieder mal hat mir dieses Forum einen guten Dienst erwiesen - echter respect @all!!

EDIT: Hab grad noch ein Problem gefunden (ein neues ^^):
Die ersten Beiträge werden bestens angezeigt, doch wenn ich weiter runter blättere, wird der Hintergrund nicht richtig angezeigt... Wie kommt das und wie kann ich das beheben??
Oh und meine Beiträge werden 4x angezeigt, ich weiß auch wo der Fehler liegt, kann ihn aber nicht behen...
Der neue Quellencode:
PHP:
<?php


$date = date("Y-m-d");


$inhalt = $_POST["inhalt"];
$submit = $_POST["submit"];
$user = $_SESSION['Admin'];


$connect = mysql_connect("localhost","***","***") or die ("Internen Server Fehler... Wir bitten das zu entschuldigen");
mysql_select_db("langstedt") or die("Es konnte nicht auf die Datenbank zugegriffen werden...");
if (isset($submit)) 
{

mysql_query("INSERT INTO `news` VALUES ('','$inhalt','$user','$date')");



	if (isset($_GET['var']) && $_GET['var'] == "") { 
     	header("Location: " . $_SERVER['HTTP_REFERER']);
	};
} ;


$inhalt = mysql_query("SELECT * FROM `news` ORDER BY `id` DESC");
while ($rows=mysql_fetch_array($inhalt)) 
{

 
		
for($i = 0; $i < count($rows); $i++){ 
   if($i % 2 == 0) { 
   		echo '<table cellpadding="0" cellspacing="0" width=85% border=0>
   		<tr>
			<td colspan="0" rowspan="0" background="/images/bg-gaestebuch_05.gif"><img src="/images/bg-gaestebuch_05.gif"></td>
			<td colspan="0" rowspan="0" background="/images/bg-gaestebuch_02.gif"><img src="/images/bg-gaestebuch_02.gif"></td>
			<td colspan="0" rowspan="0" background="/images/bg-gaestebuch_03.gif"><img src="/images/bg-gaestebuch_03.gif"></td>
		</tr>
   		<tr>
			<td colspan="0" rowspan="0" background="/images/bg-gaestebuch_06.gif"><img src="/images/bg-gaestebuch_06.gif"></td>
			<td colspan="0" rowspan="0" background="/images/bg-gaestebuch_07.gif">'.$rows[inhalt].'</td>'
 // und hier ist der Fehler: habe zweimal die Gleiche Var...
			'<td colspan="0" rowspan="0" background="/images/bg-gaestebuch_08.gif"><img src="/images/bg-gaestebuch_08.gif"></td>
		</tr>
   		<tr>
			<td colspan="0" rowspan="0" background="/images/bg-gaestebuch_09.gif"><img src="/images/bg-gaestebuch_09.gif"></td>
			<td colspan="0" rowspan="0" background="/images/bg-gaestebuch_10.gif"><img src="/images/bg-gaestebuch_10.gif"></td>
			<td colspan="0" rowspan="0" background="/images/bg-gaestebuch_11.gif"><img src="/images/bg-gaestebuch_11.gif"></td>
		</tr></table>';
   } 
   else { 
      echo '<table cellpadding="0" cellspacing="0" border="0">
   		<tr>
			<td colspan="0" rowspan="0"><img src="/images/space.jpg" width="200px" height="10px"></td>
			<td colspan="0" rowspan="0" background="/images/bg-gaestebuch2_05.gif"><img src="/images/bg-gaestebuch2_05.gif"></td>
			<td colspan="0" rowspan="0" background="/images/bg-gaestebuch2_02.gif"><img src="/images/bg-gaestebuch2_02.gif"></td>
			<td colspan="0" rowspan="0" background="/images/bg-gaestebuch2_03.gif"><img src="/images/bg-gaestebuch2_03.gif"></td>
		</tr>
   		<tr>
			<td colspan="0" rowspan="0"><img src="/images/space.jpg" width="200px" height="10px"></td>
			<td colspan="0" rowspan="0" background="/images/bg-gaestebuch2_06.gif"><img src="/images/bg-gaestebuch2_06.gif"></td>
			<td colspan="0" rowspan="0" background="/images/bg-gaestebuch2_07.jpg">'.$rows[inhalt].'</td>'
 // und hier ist der Fehler: habe zweimal die Gleiche Var...
			'<td colspan="0" rowspan="0" background="/images/bg-gaestebuch2_08.gif"><img src="/images/bg-gaestebuch2_08.gif"></td>
		</tr>
   		<tr>
			<td><img src="/images/space.jpg" width="200px" height="10px"></td>
			<td colspan="0" rowspan="0" background="/images/bg-gaestebuch2_09.gif"><img src="/images/bg-gaestebuch2_09.gif"></td>
			<td colspan="0" rowspan="0" background="/images/bg-gaestebuch2_10.gif"><img src="/images/bg-gaestebuch2_10.gif"></td>
			<td colspan="0" rowspan="0" background="/images/bg-gaestebuch2_11.gif"><img src="/images/bg-gaestebuch2_11.gif"></td>
		</tr></table>';
   }; 
};  
};
?>
 
Zuletzt bearbeitet:
Kommt der PHP Code im Browser an? Wenn ja, dann ist Dein Webserver kaputt, wenn nein, wie soll der helfen Dein Problem zu verstehen?
Was meinst du damit??
Der Browser interpretiert das schon richtig... ich habe wie im Quellencode angegeben zweimal die gleiche Variable ausgelesen.... Und ich möchte jetzt wissen, wie ich es machen kann, dass er nur einmal ausgegeben wird, aber eben mit einem anderen Style...
hier einmal was ausgegeben wird....
Bild%202.png

Das ist auch richtig so, nur soll er der den Text nur einmal ausgeben...
 
So hab jetzt beide Probleme selbst behoben:
ich hab jeweils die Zeile auslesen, die ich brauche (^^) und
die Tabellenbilder kleiner gemacht
Folge: perfekte Darstellung!!

Danke noch mal an euch alle!!
 
Kann ich mir nicht vorstellen. Dein Problem ist das du die For-Schleife in der while-Schleife stehen hast. Sinnvoller wäre es so:

PHP:
$even = true;
while($rows = mysql_fetch_assoc($inhalt))
{
   if($even){
    ...
   }
   else
   {..}
   $even = !$even;
}

und es muss $row['inhalt'] heißen.
 
Zurück
Oben