while schleife mehrfach ?
Connor
- php
Hallöchen,
ich möchte eine whkie-schleife 3 mal ausführen lassen, aber ich erhalte nur das Ergebnis der Ersten Schleife. Wer könnte mir bitte eine Lösung anbieten?
Hier mein code:
$kn = "Dein Preis";
$p1gw = 3;
$p2gw = 2;
$p3gw = 1;
$count = 1;
while($count <= $p1gw)
{
$erster= $kn;
echo "Erster: $erster";
$count++;
}
echo "<br>";
while($count <= $p2gw)
{
$zweiter = $kn;
echo "Zweiter: $zweiter";
$count++;
}
echo "<br>";
while($count <= $p3gw)
{
$dritter = $kn;
echo "Dritter: $dritter";
$count++;
}
Gruss Connor
Hi,
ich möchte eine whkie-schleife 3 mal ausführen lassen, aber ich erhalte nur das Ergebnis der Ersten Schleife. Wer könnte mir bitte eine Lösung anbieten?
Du.
Hier mein code:
[code lang=php]
$kn = "Dein Preis";
$p1gw = 3;
$p2gw = 2;
$p3gw = 1;
$count = 1;
while($count <= $p1gw)
{
$erster= $kn;
echo "Erster: $erster";
$count++;
}
echo "<br>";
Denk mal nach, welchen Wert $count hier nach der ersten Schleife hat.
while($count <= $p2gw)
Ist diese Bedingung also erfüllt?
Wenn nein, was solltest Du tun, damit sie erfüllt ist?
cu,
Andreas
Hallo Andreas,
Denk mal nach, welchen Wert $count hier nach der ersten Schleife hat.
while($count <= $p2gw)
Ist diese Bedingung also erfüllt?
Wenn nein, was solltest Du tun, damit sie erfüllt ist?cu,
Andreas
Hmm....... die Bedingung ist erfüllt. Stimmt.
Ich Depp. ich brauche drei $count
.
wenn ich:
$count_1 = 1;
$count_2 = 1;
$count_3 = 1;
initialisiere und in den while-schleifen setze, geht es wunderbar.
Manchmal sieht man den Wald vor lauter Bäumen nicht mehr. :-)
@@Connor:
nuqneH
Ich Depp. ich brauche drei
$count
.
Ja. Nein, brauchst du nicht.
wenn ich:
$count_1 = 1;
$count_2 = 1;
$count_3 = 1;
initialisiere und in den while-schleifen setze, geht es wunderbar.
Wenn du unmittelbar vor jeder Schleife $count = 1;
setzst, geht es auch wunderbar.
Manchmal sieht man den Wald vor lauter Bäumen nicht mehr. :-)
Stimmt. Manchmal sieht man auch for
vor lauter Schleifen nicht mehr.
Qapla'
Stimmt. Manchmal sieht man auch
for
vor lauter Schleifen nicht mehr.
Geil, absolut geil :D.
Mahlzeit Havyrl,
Stimmt. Manchmal sieht man auch
for
vor lauter Schleifen nicht mehr.Geil, absolut geil :D.
Noch schöner wär's natürlich, wenn die Zitatsammlung wieder funktionieren würde ...
HAAAAALLOOOOO????? Kümmert sich schon jemand darum?
MfG,
EKKi
Hi!
Noch schöner wär's natürlich, wenn die Zitatsammlung wieder funktionieren würde ...
Am schönsten wäre es allerdings, wenn sich begabte Mitarbeiter mit ausreichend Freizeit finden würden, die solche Dinge reparieren können.
HAAAAALLOOOOO????? Kümmert sich schon jemand darum?
Hier im Forum ist nach meiner Beobachtung mehr oder weniger oft nur noch einer der SELFHTML-Mitstreiter anwesend, die Zugang zu den Systemen haben. In der Wüste zu rufen hat ungefähr sie selbe Auswirkung. Es sei denn, das war jetzt ein Aufruf an potentielle Mitarbeiter ...
Lo!
Hi,
Noch schöner wär's natürlich, wenn die Zitatsammlung wieder funktionieren würde ...
Am schönsten wäre es allerdings, wenn sich begabte Mitarbeiter mit ausreichend Freizeit finden würden, die solche Dinge reparieren können.
Na erst mal müsste ja jemand schauen, was überhaupt „kaputt“ ist.
Hier im Forum ist nach meiner Beobachtung mehr oder weniger oft nur noch einer der SELFHTML-Mitstreiter anwesend, die Zugang zu den Systemen haben.
Ich habe irgendwie den Verdacht, dass nach Schließung der Lounge die Zitatesammlung auch einfach gemeuchelt werden soll ...
MfG ChrisB
Hi!
Ich habe irgendwie den Verdacht, dass nach Schließung der Lounge die Zitatesammlung auch einfach gemeuchelt werden soll ...
Ja. Deprimier mich. Die Zitatesammlung war fuer mich immer sehr unterhaltsam u nd gleichzeitig eine Liste mit Empfehlungen fuer lesbare Threads. DAS Feature hier.
Mahlzeit dedlfix,
Noch schöner wär's natürlich, wenn die Zitatsammlung wieder funktionieren würde ...
Am schönsten wäre es allerdings, wenn sich begabte Mitarbeiter mit ausreichend Freizeit finden würden, die solche Dinge reparieren können.
Sicher - aber um wissen zu können, ob man solche Dinge reparieren kann, müsste man erstmal nachforschen, was genau die Ursache dafür ist.
Sinnvollerweise sollten/könnten das die Leute machen, die sich dort (in der Zitatsammlung) extrem gut auskennen ...
In der Wüste zu rufen hat ungefähr sie selbe Auswirkung.
Nunja ... ich habe den Eindruck, dass auf das Ticket irgendwie auch niemand reagiert. Leider.
Es sei denn, das war jetzt ein Aufruf an potentielle Mitarbeiter ...
Nicht wirklich ...
MfG,
EKKi
Hi!
Noch schöner wär's natürlich, wenn die Zitatsammlung wieder funktionieren würde ...
Am schönsten wäre es allerdings, wenn sich begabte Mitarbeiter mit ausreichend Freizeit finden würden, die solche Dinge reparieren können.
Sicher - aber um wissen zu können, ob man solche Dinge reparieren kann, müsste man erstmal nachforschen, was genau die Ursache dafür ist.
Sinnvollerweise sollten/könnten das die Leute machen, die sich dort (in der Zitatsammlung) extrem gut auskennen ...
Die Autoren sind nicht mehr im SELF-Raum tätig. Es ist nach meinem Kenntnisstand nur noch einer übrig, der an der Technik was machen kann.
In der Wüste zu rufen hat ungefähr sie selbe Auswirkung.
Nunja ... ich habe den Eindruck, dass auf das Ticket irgendwie auch niemand reagiert. Leider.
Es sei denn, das war jetzt ein Aufruf an potentielle Mitarbeiter ...
Nicht wirklich ...
Nötig wär's aber. Doch leider verhallen solche Rufe meist ungehört, so dass man sich dann nicht wundern muss, dass Tickets unbearbeitet bleiben.
Lo!
Om nah hoo pez nyeetz, dedlfix!
Es sei denn, das war jetzt ein Aufruf an potentielle Mitarbeiter ... Nicht wirklich ...
Nötig wär's aber. Doch leider verhallen solche Rufe meist ungehört, so dass man sich dann nicht wundern muss, dass Tickets unbearbeitet bleiben.
Vernommen hab ichs wohl, allein es fehlt die Kompetenz.
Matthias
Mahlzeit Matthias Apsel,
Nötig wär's aber. Doch leider verhallen solche Rufe meist ungehört, so dass man sich dann nicht wundern muss, dass Tickets unbearbeitet bleiben.
Vernommen hab ichs wohl, allein es fehlt die Kompetenz.
Ich befürchte, das trifft auch bei mir zu ...
MfG,
EKKi
@@dedlfix:
nuqneH
Sinnvollerweise sollten/könnten das die Leute machen, die sich dort (in der Zitatsammlung) extrem gut auskennen ...
Die Autoren sind nicht mehr im SELF-Raum tätig. Es ist nach meinem Kenntnisstand nur noch einer übrig, der an der Technik was machen kann.
AFAIR kam der Verlust der Funktionalität der Zitatesammlung einher mit einer Serverumstellung. Es sollte womöglich nicht notwendig sein, die Zitatesammlungs-Software zu ändern, sondern lediglich den neuen Server so zu konfigurieren, dass die Zitatesammlung wie vorher funktioniert.
Qapla'
Hi,
Sinnvollerweise sollten/könnten das die Leute machen, die sich dort (in der Zitatsammlung) extrem gut auskennen ...
Die Autoren sind nicht mehr im SELF-Raum tätig. Es ist nach meinem Kenntnisstand nur noch einer übrig, der an der Technik was machen kann.
AFAIR kam der Verlust der Funktionalität der Zitatesammlung einher mit einer Serverumstellung. Es sollte womöglich nicht notwendig sein, die Zitatesammlungs-Software zu ändern, sondern lediglich den neuen Server so zu konfigurieren, dass die Zitatesammlung wie vorher funktioniert.
Richtig, das war mit irgendeinem PHP-Update ...
cu,
Andreas
@@MudGuard:
nuqneH
Richtig, das war mit irgendeinem PHP-Update ...
Hm, das heißt dann doch Änderung der Zitatesammlungs-Software?
Qapla'
Hi,
Richtig, das war mit irgendeinem PHP-Update ...
Hm, das heißt dann doch Änderung der Zitatesammlungs-Software?
Evtl. - keine Ahnung, was da schiefläuft - evtl. irgendwelche deprecated-Sachen, die jetzt nicht mehr gehen.
Ich weiß noch, nach dem Update ging bei der Zitatesammlung zuerst gar nichts. Dann wurde was (von Christian Seiler?) geändert, dann kam zumindest wieder die Startseite ...
cu,
Andreas
Hallöchen,
Wenn du unmittelbar vor jeder Schleife
$count = 1;
setzst, geht es auch wunderbar.
Wie recht du hast. Habs gerade angwendet :-)
Manchmal sieht man den Wald vor lauter Bäumen nicht mehr. :-)
Stimmt. Manchmal sieht man auch
for
vor lauter Schleifen nicht mehr.
Genau das ist mein "Anfänger-Problem" mit Schleifen. Ich versuchs ja SELF, aber klappt leider noch nicht so recht.
Und da komme ich an mein nächstes Problem:
in den Schleifen bekomme ich per ECHO das richtige Ergebnis. Aber:
Wie bekomme das Ergebnis AUSSERHALB der Schleifen korrekt ausgegeben?
Hi,
in den Schleifen bekomme ich per ECHO das richtige Ergebnis. Aber:
Wie bekomme das Ergebnis AUSSERHALB der Schleifen korrekt ausgegeben?
In dem du es in den Schleifen in einer Variablen sammelst.
Das kann, je nachdem, was du mit den Daten machen willst, bspw. in einem Array sein, oder auch in dem du alle Daten einfach in einem String hintereinander hängst.
MfG ChrisB
Hallo Chris,
danke für deine Antwort:
In dem du es in den Schleifen in einer Variablen sammelst.
Ich habe doch in den Schleifen die Variable: $erster, $zweiter und $dritter.
Dort steht das jeweilige Ergebnis drin.
Aber ausserhalb der Schleife (Ausgabe per Echo) stimmt es nicht.
Tut mir leid wenn ich nachfrage, aber mir erschliesst es sich nicht.
Gruss Connor
Hi!
Ich habe doch in den Schleifen die Variable: $erster, $zweiter und $dritter.
Dort steht das jeweilige Ergebnis drin.
Aber ausserhalb der Schleife (Ausgabe per Echo) stimmt es nicht.
Was ist denn überhaupt das gewünschte Ergebnis? Variablen verschwinden nicht an Schleifenenden. Da steht genau das drin, was innerhalb der Schleife (zuletzt) berechnet wurde. Wenn dir die Vorgänge nicht klar sind, setz ein paar Kontrollausgaben in das Script, so dass du Änderungen zu sehen bekommst (beispielsweise var_dump($var); vor und nach einer Änderung von $var).
Lo!
Hallöchen Lo,
Was ist denn überhaupt das gewünschte Ergebnis? Variablen verschwinden nicht an Schleifenenden. Da steht genau das drin, was innerhalb der Schleife (zuletzt) berechnet wurde. Wenn dir die Vorgänge nicht klar sind, setz ein paar Kontrollausgaben in das Script, so dass du Änderungen zu sehen bekommst (beispielsweise var_dump($var); vor und nach einer Änderung von $var).
Ich möchte das Ergbnis der while-schleife(n) per include in einer anderen Datei ausgeben lassen. In meinem Fall ist es ein Image, das x-mal ausgegeben werden soll.
$bild = "<img src=bild.gif>";
$platz_1 = 5; (5 soll die Anzahl $bild ergeben)
$platz_2 = 3; (3 soll die Anzahl $bild ergeben)
$count = 1;
while($count <= $platz_1)
{
$erster = $bild;
echo $erster; (klappt innerhalb der Schleife, 5x $bild)
$count++;
}
echo $erster; (klappt nicht. Gibt nur 1x $bild aus)
$count = 1;
while($count <= $platz_2)
{
$zweiter = $bild;
echo $zweiter; (klappt innerhalb der Schleife, 3x $bild)
$count++;
}
echo $zweiter; (klappt nicht. Gibt nur 1x $bild aus)
Verzweifelter Gruss Connor
Hi,
$count = 1;
while($count <= $platz_1)
{
$erster = $bild;
echo $erster; (klappt innerhalb der Schleife, 5x $bild)
$count++;
}
echo $erster; (klappt nicht. Gibt nur 1x $bild aus)
Wenn die Schleife fünf mal durch läuft, machst du darin fünf mal eine Ausgabe per echo.
Nach der Schleife machst du nur eine einzige Ausgabe per echo.
Wo sollen denn bitte fünf Ausgaben her kommen, wenn du nur eine machst?
MfG ChrisB
--
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
Hallöchen Chris,
danke auch für deinen Hinweis.
Wo sollen denn bitte fünf Ausgaben her kommen, wenn du nur eine machst?
Lo hatte es mir super erklärt.
Gruss Connor
Hi!
Was ist denn überhaupt das gewünschte Ergebnis? [...]
Ich möchte das Ergbnis der while-schleife(n) per include in einer anderen Datei ausgeben lassen. In meinem Fall ist es ein Image, das x-mal ausgegeben werden soll.
Eine Schleife hat kein Ergebnis. Sie führt lediglich eine oder mehrere Anweisungen mehrfach aus. Wenn du irgendein Ergebnis erwartest, musst du dafür sorgen (und kontrollieren!), dass es innerhalb der Schleife und mit jedem Durchlauf schrittweise entsteht.
$bild = "<img src=bild.gif>";
$platz_1 = 5; // 5 soll die Anzahl $bild ergeben
$count = 1;
while($count <= $platz_1) {
$erster = $bild;
echo $erster; // klappt innerhalb der Schleife, 5x $bild
$count++;
}
echo $erster; // klappt nicht. Gibt nur 1x $bild aus
In der Schleife wird $erster mit dem Inhalt von $bild belegt und das insgesamt x-mal. = ist ein Zuweisungsoperator, kein Hinzufügeoperator. Kontrollausgaben sind ein wichtiges Fehlersuch-Hilfsmittel. Damit hättest du sehen können, dass $erster im ersten Druchlauf NULL ist und anschließend immer dem Inhalt von $bild entspricht. Also kann nach der Schleife auch nur ein $bild enthalten sein.
Du willst am Ende 5x den String von $bild hintereinander haben. Dazu kannst du ein einfaches str_repeat() verwenden und brauchst gar keine Schleife. Mit Schleife jedenfalls (ob for oder das etwas ungünstigere while) müsstest du Strings verbinden und zuweisen, wozu es den Kombinationsoperator .= gibt.
Bei einem Problem ist es wichtig, dass du das eigentliche Ziel in normalen Worten schilderst und dazu dann die dabei konkret auftretenden Schwierigkeiten. Nur so kann man als Außenstehender wissen, ob dein Lösungsweg überhaupt zur gewünschten Lösung führen kann und ob es bessere Alternativen gibt. Ohne das eigentliche Ziel kann man nur mehr oder weniger danebenliegen beim Raten, was man dir raten soll.
Lo!
Lieber Lo,
zunächst absoluten Dank für deine super Erklärung, was das Thema Schleifen angeht.
Ich hab es nun besser verstanden.
Du willst am Ende 5x den String von $bild hintereinander haben. Dazu kannst du ein einfaches str_repeat() verwenden und brauchst gar keine Schleife.
Danke für den Rat/Tip mit str_repeat. Da wäre ich nun überhaupt nicht drauf gekommen. Das löst meine Aufgabe besser als eine Schleife :-)
»»
Mit Schleife jedenfalls (ob for oder das etwas ungünstigere while) müsstest du Strings verbinden und zuweisen, wozu es den Kombinationsoperator .= gibt.
Das werde ich mal für mich testen. Da gibt es bestimmt mal eine Anwendung :-)
Danke nochmals Lo
Gruss Connor
Hello,
Ich möchte das Ergbnis der while-schleife(n) per include in einer anderen Datei ausgeben lassen.
Wäre es dann nicht günstiger, wenn Du Dir eine Funktion baust?
Die kann dann auch eine while- oder eine for-Schleife enthalten...
Das Funktionsergebnis kannst Du dann überall ausgeben lassen.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Hi!
Ich möchte das Ergbnis der while-schleife(n) per include in einer anderen Datei ausgeben lassen.
Wäre es dann nicht günstiger, wenn Du Dir eine Funktion baust?
Wenn er das denn so allgemein gewollt hätte. Tatsächlich will er nur eine x-fache Wiederholung eines Strings, und dafür existiert ja bereits eine Funktion.
Lo!
Die Variablen werden ja auch immer wieder überschrieben!
Entweder Du schreibst die Daten in einem Index eines Arrays oder Du schreibst Sie wie Chris bereits erwähnt hat hintereinander wech mit z.B. ; getrennt
$erster.=";$variable";
cu peg
Wie bekomme das Ergebnis AUSSERHALB der Schleifen korrekt ausgegeben?
Da könnte evtl. n Array weiterhelfen ;)
cu peg
Hi!
ich möchte eine whkie-schleife 3 mal ausführen lassen,
Das geht zwar mit while, aber für Schleifen, deren Durchlaufzahl feststeht ist eigentlich for vorgesehen.
Lo!