Avatar billede al_dair Nybegynder
18. oktober 2005 - 23:15 Der er 1 kommentar

Opdatering af tabel med dato..

Hej alle..

Har mistet overblikket over det her..
Jeg prøver at opdatere en tabel med en given dato..
Hvis datoen er senere end den i tabellen..

Det der driller er, at hvis der forekommer mere end én række med samme navn ($city), så bliver min LIMIT ubrugelig (har prøvet med DISTINCT), da jeg tilsyneladende får en tilfældig række blandt resultatet..

Hvis der er 3 rækker med kun navnet tilfælles, så får jeg ikke den første, men en vilkårlig .. GROUP/ORDER BY hjælper ikke..


Håber I forstå..
takker...

for($i=0; $i<sizeof($data[1]);$i++){

    $long  = strip_tags($data[1][$i]);
    $lat  = strip_tags($data[2][$i]);
    $city  = strip_tags($data[3][$i]);
    $visit = strip_tags($data[4][$i]);               

    $visit = date("U", strtotime($visit));

    if(in_array($long,$Longitudes) &&
        in_array($lat,$Latitudes))
        {
            $result=mysql_query("select * from gmapVisits where City='$city' AND Lastvisit='$visit' AND Longitude='$long' AND Latitude='$lat' LIMIT 1");
            $row = mysql_fetch_row($result);
                if(!in_array($city,$tempCity)){
                    if(mysql_num_rows($result)<1){
                    $sql="update gmapVisits set hits=hits+1, Lastvisit='$visit' where Longitude='$long' AND Latitude='$lat' AND City='$city'";
                    mysql_query($sql);

                    $tempCity[]=$city;                   
                    print $city." updated<BR>";   
                    }

                  }
          }
           
        else {
            print $city." added<BR>";                           
            $sql="insert into gmapVisits(pointNr,City,Longitude,Latitude,Lastvisit, hits) values('','$city','$long','$lat','$visit','1')";
            mysql_query($sql);
            }
}
Avatar billede jgivoni Nybegynder
19. oktober 2005 - 08:35 #1
Jeg går ud fra, at du gerne vil UPDATE den samme række, som du henter med SELECT.
Dertil vil det jo være smart at have et unikt id-felt i tabellen gmapVisits - er der det? Er det den, der hedder pointNr?
I så fald skulle ORDER BY pointNr altid sikre, at du får den samme og ikke en tilfældig.

Noget jeg ikke helt forstår, er denne linie:
if(mysql_num_rows($result)<1)
- du vil udføre UPDATE, hvis der IKKE er fundet nogen rækker?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester