Versio

vars worden overschreven

Overzicht Reageren

Klaasjan Boven

Klaasjan Boven

20/01/2010 23:37:00
Quote Anchor link
Ik heb deze vraag ook freakz gesteld omdat hulp plat lag maar.....
Experts.

Waarschijnlijk zie ik simpels over het hoofd maar hierbij mijn probleem.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?php
$i
= 1;

while ($gegevens = oci_fetch_assoc($sql)){
  
    foreach ($gegevens as $gegevens[$i] => $value[$i]){

    /*
             if($gegevens[$i]  == $gegevens[$i-1]){
                
                 if($value[$i] <> $value[$i-1]){
                    
                     echo $gegevens[$i].'= '.$value[$i].' was '.$gegevens[$i-1].'<br>';
                 }
                 else {
                    
                     echo $gegevens[$i].'= '.$value[$i].' blijft '.$gegevens[$i-1].'<br>';
                 }
             }
             */

        }
          
        ${strtolower($gegevens[$i])} = '<td class="normal"><b>'.strtolower($gegevens[$i]).'</b>:</td><td class="breed">&nbsp;</td><td>'.$value[$i].'</td>';
  
  
    $i++;  
}

?>


Het probleem zit hem in het gehackte stukje. Hier moet van elke $gegevens[$i] gekeken worden of hij hetzelde is als de vorige $gegevens[$i] en zo ja dan moeten de bijbehorende $values ook gecontroleerd worden.
Uiteraard gaat het zoals ik het heb niet werken omdat $gegevens[$i] steeds hoger wordt.

Hebben jullie een oplossing?

Groeten
Klaasjan
 
PHP hulp

PHP hulp

25/05/2012 17:26:11
Gesponsorde koppelingen:
BHosted Hosting al vanaf € 1,- per maand

Controleer nu gratis jouw domeinnaam:

  
 
Mr.Moe

Mr.Moe

20/01/2010 23:50:00
Quote Anchor link
Het kan zijn dat ik dit nu verkeerd zie, maar volgens mij vergelijk je 2 keys binnen een array en volgens mij kunnen die niet overeen komen.

array( 1 => 'blaat', 1 => 'blaat')

Dat is volgens mij niet echt mogelijk.
 
Jelmer rrrr

Jelmer rrrr

20/01/2010 23:53:00
Quote Anchor link
Heel lelijk, maar verreweg het simpelste: Gewoon de vorige gegevens achteraf opslaan zodat je ze daarna kan vergelijken:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
$vorige_gegevens
= 0;

while ($gegevens = oci_fetch_assoc($sql))
{

    foreach ($gegevens as $key => $value
    {
        // if vorige gegevens bestaat (niet eerste regel dus) en waarde is gelijk
        if($vorige_gegevens AND $value == $vorige_gegevens[$key])
        {

            echo $key = '= ' . $value . ' maar was ' . $vorige_gegevens[$key] . '<br>';
        }

        else
        {
            //...
        }
    }

    
    $vorige_gegevens = $gegevens;
}

?>
Gewijzigd op 01/01/1970 01:00:00 door Jelmer rrrr
 
Klaasjan Boven

Klaasjan Boven

21/01/2010 00:40:00
Quote Anchor link
Dat was wat ik probeerde Jelmer maar met $i lukt dat niet...

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
(wat ik wil bereiken)
ik krijg elke maand een bestand van de kvk
met daarin 2000 record met daarin
60 atributen die ik in een oracle db zet.
Hierin kun je dan zoeken op bedrijfsgegevens.
Soms krijg ik van de KVK een regel met een
 wijziging. Deze regel komt dan 2 x voor met
slecht in 1 of 2 atributen verschillen
(bijv rechtsvorm is gewijzigd). Als men
dan de detailgegevens van z'on bedrijf bekijkt wil
ik alle records van het bedrijf tonen:

van 1-1-2009
allemaal gegegevens
van 01-07-2009
allemaal gegegevens
van 01-01-2010
allemaal gegevens

waarbij ik met een kleurtje aan wil geven welk waarde gewijzigd is tov de rij erboven

)
Gewijzigd op 01/01/1970 01:00:00 door Klaasjan Boven
 



Overzicht Reageren

Get Adobe Flash player