PHP While-Schleife / Darstellung in Tabelle

Hotshady

Lt. Junior Grade
Registriert
Apr. 2010
Beiträge
457
Moin zusammen,

ich habe dieses Wochenende angefangen mir PHP beizubringen. Ich komme bei einer Übung jetzt leider nicht weiter. Wie kann ich bei der nachfolgenden Schleife die Ausgabe in einer Tabelle darstellen?

Code:
//Übung while Schleife
srand((double)microtime()*1000000);
$summe1 = 0;
$summe2 = 0;
echo "<table class='table table-striped><thead><tr><th>Spieler 1</th><th>Spieler 2</th></tr></thead><tbody>";
	while ($summe1 <= 25 || $summe2 <= 25) {
				
		$zufallszahl1 = rand(1,6);
		$summe1 = $zufallszahl1 + $summe1;

		$zufallszahl2 = rand(1,6);
		$summe2 = $zufallszahl2 + $summe2;
		echo "<tr><td>$summe1</td>";
		echo "<td>$summe2</td></tr>";
	}
echo "</tbody></table>"

(Für die Tabelle wird bootstrap verwendet)
 
Zuletzt bearbeitet:
Einfach hier noch am Ende ein Hochkomma einfügen: <table class='table table-striped>
 
Danke für den Hinweis!! Das war es tatsächlich. Ich sitze da schon fast eine Stunde dran und es ist mir nicht aufgefallen...
 
Hotshady schrieb:
Danke für den Hinweis!! Das war es tatsächlich. Ich sitze da schon fast eine Stunde dran und es ist mir nicht aufgefallen...

Bei solchen Dingen lohnt sich oft ein Blick in den Browser und den dortigen Quelltext. Firefox zeigt dort beispielsweise sofort in roter Farbe an, wenn etwas in Sachen HTML hakt.
 
AW: assoziatives array

Ich habe noch eine Frage und m,öchte dazu nicht extra einen neuen Thread aufmachen.

Folgendes:

Code:
// assoziatives array
			$summe4 = 0;
			$name2 = ["Peter"=>119, "Markus"=>123, "Karl"=>178, "Oliver"=>136, "Martin"=>146, "Dennis"=>185, "Gustaf"=>196];
			echo "<table class='table table-striped'><thead><tr><th>Name</th><th>Alter</th></tr></thead><tbody>";

			foreach ($name2 as $name2 => $wert4) {
				echo "<tr>";
				echo "<td>$name2</td>";
				echo "<td>$wert4</td>";
				echo "</tr>";
			}
			echo "</tbody></table>";

			foreach ($name2 as $name2 => $wert4) {
				$summe4 = $summe4 + $wert4;
			}
			$anzahl4 = count($wert4);
			echo "Anzahl: $anzahl4<br>";
			$mittel1 = $summe4 / 7;
			echo "$mittel1<br>";
			echo "$summe4<br>";
			echo "$wert4<br>";

1) Bei dem zweiten "foreach" wird mir der Fehler "Warning: Invalid argument supplied for foreach() in C:\XAMPP\htdocs\php_2.php on line 354" angezeigt. Wenn ich eine der beiden "foreach" Schleifen auskommentiere, dann werden mir die richtigen Werte angezeigt. Aber ich kann diese nicht nacheinander, sondern nur eins davon abrufen. Warum?

2) Ich wollte die Anzahl im array für $wert4 mit count() zählen, um so einen Dividor für die Mittelwertberechung zu bekommen (also wie viele Werte sind im array für $wert4 hinterlegt). Geht leider nicht. Da kommt immer der Wert 1 raus. Weiss einer warum?
 
Zu 1:
$name2 ist dein Array. In dem foreach verwendest du $name2 aber auch nochmal als Key. Da solltest du eine andere Variable verwenden.
Siehe foreach
PHP:
foreach ($name2 as $key => $wert4) {
    echo "<tr>";
    echo "<td>$name2</td>";
    echo "<td>$wert4</td>";
    echo "</tr>";
    $summe4 = $summe4 + $wert4;
}
Die Summe kannst du auch direkt in der gleichen Schleife berechnen.

Zu 2:
$wert4 enthaelt nur einen Wert und zwar in diesem Fall den letzten aus dem Array, nachdem foreach durchgelaufen ist.
Wenn du die Anzahl mit count() bestimmen willst dann musst du count($name2) verwenden.

Die Variablen Namen wuerde ich an deiner Stelle auch noch einmal ueberdenken. :D
 
Zurück
Oben