[PHP] Endless loop?

Pagina: 1
Acties:

  • DRvDijk
  • Registratie: Juni 2001
  • Laatst online: 21:43
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
<?
      chdir ($rc5logdir);
      $openlogdir = opendir ($rc5logdir);
      while ($listfiles = readdir ($openlogdir)) {
        if (($listfiles <> '.') &amp;amp;amp;&amp;amp;amp; ($listfiles <> '..')) {
          $fd = file ($listfiles);

          for ($i = 0; $i < count($fd); $i++) {
            $fc = explode (',', $fd[$i]);
            $bla = count($todb);

            for ($j = 0; $j < $bla; $j++) {
              if (($todb[$j][1] == $fc[1]) &amp;amp;amp;&amp;amp;amp; ($todb[$j][2] == $fc[2]) &amp;amp;amp;&amp;amp;amp; ($todb[$j][5] == $fc[5]) &amp;amp;amp;&amp;amp;amp; ($todb[$j][6] == $fc[6]) &amp;amp;amp;&amp;amp;amp; ($todb[$j][7] == $fc[7])) {
                $todb[$j][0] = $fc[0];
                $todb[$j][3] = $fc[3];
                $todb[$j][4] += $fc[4];
                $hoer = 0;
              }
            }

            if (count($todb) == 0) { $todb[0] = $fc; }
            if (!$hoer == 1) {
              // Hier moet een nieuwe $todb komen
              print count($todb) . 'BLAAAAAT<br>';
              $appol = count($todb);
              $todb[$appol] = $fc;
              $hoer = 1;
            }
            print count($todb) . '<BR>';
          }
        }
      }
?>

Ik snap het echt niet meer... Kennerlijk gaat er hierzo iets mis en wordt er een endless loop veroorzaakt. Ik heb het nu al 40000000 keer overgelezen maar kan NIX ontdekken :'(

edit:
Sorry voor de meug die er soms tussenstaat :P

  • marcusk
  • Registratie: Februari 2001
  • Laatst online: 26-09-2023
er zitten 3 loops in. probeer er eens achter te komen waar het fout gaat (door op handige plaatsen echo's neer te zetten)

Verwijderd

Voor zover ik kan zien, moet het dan aan die while-loop liggen, want bij de for-loops gaat in dit geval niets fout... (= de loop zal goed doorlopen, omdat de $i en $j binnen de loop niet veranderen)...

Check dus even je while-loop...

  • DRvDijk
  • Registratie: Juni 2001
  • Laatst online: 21:43
Ik heb um compleet herschreven (that is: opnieuw gecopied & gepasted en aangepast).. Hij werkt nu GEWELDIG :)
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
34
35
<?
      chdir ($ogrlogdir);
      $openlogdir = opendir ($ogrlogdir);
      while ($listfiles = readdir ($openlogdir)) {
        if (($listfiles <> '.') &amp;&amp; ($listfiles <> '..')) {
          $fd = file ($listfiles);
          for ($i = 0; $i < count($fd); $i++) {
            $fc = explode(',', $fd[$i]);
            if (!count($todb) == 0) {
              $nrtodb = count ($todb);
              for ($j = 0; $j < $nrtodb; $j++) {
                if (($todb[$j][1] == $fc[1]) &amp;&amp; ($todb[$j][2] == $fc[2]) &amp;&amp; ($todb[$j][5] == $fc[5]) &amp;&amp; ($todb[$j][6] == $fc[6]) &amp;&amp; ($todb[$j][7] == $fc[7])) {
                  $todb[$j][0] = $fc[0];
                  $todb[$j][3] = $fc[3];
                  $todb[$j][4] += $fc[4];
                  $updated = 1;
                  break;
                }
              }
              if (!$updated == 1) {
                $todb[count($todb)] = $fc;
              }
              $updated = 0;
            }
            else {
              $todb[0] = $fc;
              $date = substr ($fc[0], 0, 10);
            }
          }
          for ($i = 0; $i < count($todb); $i++) {
            mysql_query ('INSERT INTO data_ogr VALUES ("' . $todb[$i][0] . '", "' . $todb[$i][1] . '", "' . $todb[$i][2] . '", "' . $todb[$i][3] . '", "' . $todb[$i][4] . '", "' . $todb[$i][5] . '", "' . $todb[$i][6] . '", "' . $todb[$i][7] . '", "' . $date . '")');
          }
          unset ($todb, $date, $nrtodb, $fc);
        }
?>

  • DRvDijk
  • Registratie: Juni 2001
  • Laatst online: 21:43
Ow... Sorry van de BREDE pagina... Ik merk nu pas dat ie ook niet bij mij op 1600*1200 in de volle breedte erop past :P

  • Mithrandir
  • Registratie: Januari 2001
  • Laatst online: 16-09 21:52
Op zaterdag 27 oktober 2001 03:32 schreef elviver het volgende:
Ow... Sorry van de BREDE pagina... Ik merk nu pas dat ie ook niet bij mij op 1600*1200 in de volle breedte erop past :P
:(

:D

Verbouwing

Pagina: 1