pragmaMx Support Forum

pragmaMx => Coder und Bastlerecke => Thema gestartet von: Nouvelle in 05 Mai 2008, 15:13:23

Titel: mit while schleife verkürzen
Beitrag von: Nouvelle in 05 Mai 2008, 15:13:23
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
Titel: Re: mit while schleife verkürzen
Beitrag von: Nouvelle in 07 Mai 2008, 18:02:51
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
Titel: Re: mit while schleife verkürzen
Beitrag von: wichtel9999 in 08 Mai 2008, 01:16:34
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
Titel: Re: mit while schleife verkürzen
Beitrag von: Nouvelle in 08 Mai 2008, 17:35:43
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
)
Titel: Re: mit while schleife verkürzen
Beitrag von: wichtel9999 in 08 Mai 2008, 19:37:18
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