Avatar billede pejsestuen Nybegynder
20. marts 2002 - 09:21 Der er 8 kommentarer

Problemer med: IF/ ELSE

Jeg har problemer en if/else.
Hvor der skal undersøges for et varenummer.
Hvis varenummeret findes skal det updateres, hvis ikke skal der sættes en ny post ind i tabelen.
Jeg kan ikke få den til at updatere, når varenummeret findes.
Og når den skal indsætte nye poster, tager den ikke den første post med.

Her er koden:
              mysql_connect("$DBHost","$DBUser","$DBPass");
$result=mysql("$DBName","SELECT * FROM user WHERE UID='$UID'");
while ($row  =  mysql_fetch_row($result)) {
$CUI=$row[0];
$CII=$row[1];
$CIQ=$row[2];
$CDa=$row[3];
$ISS=$row[4];
$IN =$row[5];
$ID =$row[6];
$IC =$row[7];
$Ca =$row[8];
$SC =$row[9];
$VAR=$row[10];


                    $result3=mysql("$DBName","SELECT * FROM jesperlager WHERE varenr='$ISS'");
                    $IIIII=$row3[7];
                    $FI= $IIIII + $CDa;
                    $VARDI2= $FI * $ICa;
    echo (mysql_num_rows($result3) > 0);           
   
    if(mysql_num_rows($result3) > 0) {
    while ($row3 = mysql_fetch_row($result3)) {   
        mysql("$DBName","UPDATE jesperlager SET stk='$FI', vardi='$VARDI2' WHERE varenr='$IIS'");
            }
} else {
  mysql("$DBName","INSERT INTO jesperlager (varenr, betegnelse, beskrivelse, leverandoer, stkpris, kostpris, stk, vardi ) VALUES ('$IIS','$IN','$ID','$IC','$Ca','$SC','$CDa','$VAR')");
}
}
Avatar billede htx98i17 Professor
20. marts 2002 - 09:43 #1
har du overvejet at bruge REPLACE i din query i stedet for... den opretter nemlig posten hvis den ikke allerede findes, og updater hvis den findes...
http://www.mysql.com/doc/R/E/REPLACE.html
Avatar billede htx98i17 Professor
20. marts 2002 - 09:44 #2
blot en kommentar, over and out
Avatar billede fireworld Nybegynder
20. marts 2002 - 10:19 #3
echo (mysql_num_rows($result3) > 0);           
   
  det der kan du da ikke
Avatar billede pejsestuen Nybegynder
20. marts 2002 - 10:32 #4
Det var for at teste,den skulle ikke havde været med her.
Avatar billede pejsestuen Nybegynder
20. marts 2002 - 11:44 #5
Jeg har prøvet htx98i17 foreslag, med at bruge REPLACE.
Men jeg kan ikke få det til at virke!

mysql_connect("$DBHost","$DBUser","$DBPass");
$result=mysql("$DBName","SELECT * FROM user WHERE UID='$UID'");
while ($row  =  mysql_fetch_row($result)) {
$CUI=$row[0];
$CII=$row[1];
$CIQ=$row[2];
$CDa=$row[3];
$ISS=$row[4];
$IN =$row[5];
$ID =$row[6];
$IC =$row[7];
$Ca =$row[8];
$SC =$row[9];
$VAR=$row[10];


                    $result3=mysql("$DBName","SELECT * FROM jesperlager WHERE varenr='$ISS'");
                    while ($row3 = mysql_fetch_row($result3)) {
                    $IIIII=$row3[7];
                    $FI= $IIIII + $CDa;
                    $VARDI2= $FI * $ICa;
           
   
     
        mysql("$DBName","REPLACE INTO jesperlager SET stk='$FI', vardi='$VARDI2', varenr='$ISS', betegnelse='$IN', beskrivelse='$ID', leverandoer='$IC', stkpris='$Ca', kostpris='$SC' WHERE varenr='$IIS'");
         

}
}
Avatar billede htx98i17 Professor
20. marts 2002 - 12:05 #6
REPLACE bruges på samme måde som en INSERT, hvor første felt er index..
Avatar billede pejsestuen Nybegynder
20. marts 2002 - 12:39 #7
den skal jeg lige have igen, jeg bruger "varenr" som index, skulle det ikke være OK?
Avatar billede htx98i17 Professor
20. marts 2002 - 12:47 #8
REPLACE tabel (varenr,felt2,osv) VALUES ('$varenr','$felt2','$osv')

varenr skal så være index, og så skal du sørge for at værdien af dette er unikt...
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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