Zum Inhalt springen

Variable in Schleife neu deklarieren?


Empfohlene Beiträge

Hallo,

habe folgendes Problem:

Und zwar wird ein Kalender generiert. In diesen Kalender kann man nun über eine Mysql Datenbank "belegt" Tage eintragen. Am besten zeige ich einfach den Code und erkläre ein bisschen dazu.

$row = mysql_fetch_assoc($query2); //Hier wird der erste Wert ausgelesen

$x=1; //Für die while Schleife (for geht in dem Fall nicht)

while ($x<=$days){ //Tage sind vorher per mktime und date() geholt.

//Wenn Tag x, Monat x, und Jahr x mit dem Besetzt datum übereinstimmen

if ($x==$row['tag'] AND $month==$row['monat'] AND $year==$row['jahr']){

echo '<td class="belegt">'.$x.'</td>';

$y++;

$row = mysql_fetch_assoc($query2);

}

//Genau hier liegt das Problem. $row soll, da ja eine Übereinstimmung vorliegt, geändert werden. Danach wird wieder solange überprüft bis die if Bedingung erfüllt ist. Dann soll $row den nächsten Wert bekommen.

Nach dem Teil, fängt die Schleife wieder von vorne an. Die Schleife läuft eben so lange, wie der Monat Tage hat.

Hoffe ihr versteht mich ein wenig :)

Gruß

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also ich hab nochmal über deine Frage im Zusammenhang mit dem Topic-Thema nachgedacht - meintest du, dass du "$row" in der Schleife (while) erst deklarieren willst ? Das dürfte an sich eigentlich kein Problem sein - wie das allerdings mit dem scope aussieht (ob $row dann außerhalb der schleife sichtbar ist, wenn du es außerhalb definierst) da bin ich mir unsicher, würde aber meinen, dass "$row" nur in der Schleife vorhanden ist - würfest du "$row" auf einmal außerhalb der schleife verwenden (unter der annahme das du es innerhalb der Schleife deklariert hast) - dann würd ich meinen, das der Wert von $row nicht unbedingt das ist, was du erwartest ... :D (da es ja als neue, lokale Variable gehandhabt werden müsste, der noch kein Wert zugewiesen wurde ..?).

P.s. Wie macht man denn nen "Edit Post" :confused: ?

Link zu diesem Kommentar
Auf anderen Seiten teilen

genau das ist das Problem. Der wert von $row wird in der if-Schleife neu zugewiesen, aber ausserhalb der Schleife, für die Prüfung der if Schleife benötigt.

if ($x==$row['tag'] AND $month==$row['monat'] AND $year==$row['jahr']){ //hier wird $row benötigt

echo '<td class="belegt">'.$x.'</td>';

$y++;

$row = mysql_fetch_assoc($query2); //in der schleife soll $row aber einen neuen Wert annehmen, der dann eben oben bei dem if also ausserhalb der schleife benötigt wird.

}

Eventuell kann ich das Gesamtproblem so noch verdeutlich:

Mein ziel ist es, das $row so lange gleich bleibt bis es mit der if Prüfung übereinstimmt. Erst wenn das if true ist, soll $row geändert werden, und die nächsten Werte aus der Mysql DB annehmen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...