mit while schleife verkürzen

Begonnen von Nouvelle, 05 Mai 2008, 15:13:23

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

Nouvelle

hallo,

kann mir mal jemand helfen, oder einen tipp geben wie ich das am besten mache?

- würde gerne eine while-schleife nehmen, um das ganze zu verkürzen
- $box_? ist noch nicht definiert wieviele es geben soll, wird also vorher abgefragt
- $box_1 soll immer um eins erhöht werden

for ($a=1;$a<=100;$a++)
        {
        if ($box_1==1)
        {sql_query("INSERT INTO ".$prefix."_box SET id='', kat_id='1'");
        if ($box_2==1)
        {sql_query("INSERT INTO ".$prefix."_box SET id='', kat_id='2'");
        if ($box_3==1)
        {sql_query("INSERT INTO ".$prefix."_box SET id='', kat_id='3'");
        }


- so geht es ja nicht -> $box_".$a."

danke für eure hilfe
Kein Support über PN, Mail !
Bitte die Fragen im Forum stellen, nur so helfen die Antworten auch den anderen Usern.
Bitte auch die Boardsuche nicht vergessen, oft ist genau dein Problem schon an anderer Stelle gelöst worden!

Nouvelle

hallo, hier mein ganzer code, vielleicht ist es so verständlicher

$kat_box_1, $kat_box_2, usw wird per formular gesendet


$db_01 = sql_query("SELECT id FROM ".$prefix."_kat");
$db_num = sql_num_rows($db_01);
$db_02 = sql_query("SELECT id FROM ".$prefix."_url ORDER BY id DESC LIMIT 0,1");
list($db_02_id) = sql_fetch_row($db_02);
for ($a=1;$a<=$db_num;$a++)
{
$box_num = "".$kat_box_."".$a."";// Hier ist der Fehler
if ($box_num==1)
{
sql_query("INSERT INTO ".$prefix."_box SET id='', kat_id='1', url_id='".$db_02_id."'");
}
}


als fehler kommt dann
Notice: Undefined variable: kat_box_

ich weiss wo der fehler liegt , aber ich weiss nicht wie ich das anders machen soll
Kein Support über PN, Mail !
Bitte die Fragen im Forum stellen, nur so helfen die Antworten auch den anderen Usern.
Bitte auch die Boardsuche nicht vergessen, oft ist genau dein Problem schon an anderer Stelle gelöst worden!

wichtel9999

Probier es mal so:


for ($a=1; $a <= 20; $a++)
{
$box_num = '$kat_box_' . $a;
}


was in doppelten Anführungszeichen steht wird immer interpritier, bei einfachen nicht!

Lieben Gruss aus Finnland

Andy alias wichtel

Nouvelle

hallo wichtel,

jetzt kommt wenigstens keine fehler meldung, und es wird auch richtig gesendet, aber wenn ich zb echo"$box_num"; nehme kommt nicht der wert sondern $kat_box_5 raus

POST: Array
(
    [kat_box_2] => 1
    [kat_box_5] => 1
    [kat_box_8] => 1
    [kat_box_11] => 1
)
Kein Support über PN, Mail !
Bitte die Fragen im Forum stellen, nur so helfen die Antworten auch den anderen Usern.
Bitte auch die Boardsuche nicht vergessen, oft ist genau dein Problem schon an anderer Stelle gelöst worden!

wichtel9999

Irgendwie verstehe ich nicht wirklich was Du vor hast.

Irgendwas kommt aus einem Formular, dann holste was aus der Datenbank und willst auch wieder was in die Datenbank schreiben.

Irgendwie fehlt mir völlig der Zusammenhang um Dir helfen zu können.

Lieben Gruss aus Finnland

Andy alias wichtel