Toon posts:

[PHP+MySQL]Script(3x for, 2x while+insert query) loopt vast?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hoi,

Ik ben nu bezig met een scriptje die een aantal records moet maken met wat random variabelen.
Allemaal leuk en aardig, ik zet een scriptje op...maar als ik het run blijft ie na een tijdje gewoon hangen. Soms haalt ie 30 records, soms 45...maar nooit alle 225 :?

Hier is het hele script, misschien kan iemand zien/vertellen waar de fout zit:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
include("./functions/mysql.php"); // MySQL connectie & zo
for($x=1;$x<16;$x++) // X-Pos
{
    for($y=1;$y<16;$y++) // Y-Pos
    {
        $inhoud['1']=0; // Hout: 0= nee, 1= ja
        $inhoud['2']=0; // Ijzer: 0= nee, 1= ja
        $inhoud['3']=0; // Goud: 0= nee, 1= ja
        $inhoud['4']=0; // Olie: 0= nee, 1= ja
        while(array_sum($inhoud)==0)
        {
            for($a=1;$a<5;$a++)
            {
                $inhoud[$a]=rand(0,1);
            }

            $overmaat = rand(1,4);
            while($inhoud[$overmaat]==0) // Overmaat kan alleen wanneer product aanwezig is (1 dus)
            {
                $overmaat = rand(1,4);
            }
        }

        $xpos = $x;
        $ypos = $y;
        $resultaat = query("INSERT INTO kavels (uid,xpos,ypos,hout,ijzer,goud,olie,overmaat) VALUES ('9','$xpos','$ypos','".$inhoud['1']."','".$inhoud['2']."','".$inhoud['3']."','".$inhoud['4']."','$overmaat')");
        if($resultaat != 1)
        {
            echo "ERROR"; exit;
        }
    }
}
echo "Klaar!";


Sorry voor verneuken layout
Sorry voor vage topictitle

[ Voor 64% gewijzigd door Verwijderd op 17-03-2003 19:12 ]


  • SWfreak
  • Registratie: Juni 2001
  • Niet online
PHP:
1
2
3
4
5
$overmaat = rand(1,4);
while($inhoud[$overmaat]==0)
{
$overmaat = rand(1,4);
}

Dit stukje raakt in een oneindige loop als de elementen van $inhoud allemaal nul zijn.

Verwijderd

Topicstarter
:)
Niet aan gedacht, heb nu dat stukje buiten while(array_sum($inhoud)==0) gezet, nu werkt het perfect...
Danku _/-\o_