Avatar billede krydset Nybegynder
04. december 2003 - 13:24 Der er 16 kommentarer og
1 løsning

if sætning

Er der nogen der kan hjælpe med den her det er en varekurv, jeg tror jeg har stirret mig blind på den, den udskriver ikke noget. det er meningen at hvis den er tom skal den udskrive "kurven er tom" ellers skal den vise kurven koden er her


//kurv
include("shop/dbconnect.php");
$res = mysql_query("select SUM(pris) as val from kurv, varer where vare_id = varer.id and unikt_id ='".$_SESSION['unikt_id']."'") or die(mysql_error());

echo "<fieldset id='kurv'>";
    echo "<legend>KURV</legend>";
        echo "<div>";
        $antal = mysql_num_rows($res);
       
        if($antal < 1)
        {
            echo "Kurven er tom";
        }
           
        else if($antal  > 1)
        {
            while($data = mysql_fetch_array($res))
            {
                echo "<center><span class='kurv'>Du har handlet for kr:";
                echo "<center>$data[val],-</font></center>";
            }
           
            echo "</div><br>";
            echo "</span>";
            echo "<center><a href='index.php?function=kasse'>Gå til kasse</a></center><br><br><br>";
           
        }
       

       
echo "</fieldset>";

?>


Mvh //krydset
Avatar billede the_legend Nybegynder
04. december 2003 - 13:27 #1
if($antal=="0" )
        {
            echo "Kurven er tom";
        }
Hvorfor ikke bare sådan her istedet. Du får jo ikke en minus vare.
Avatar billede idle Nybegynder
04. december 2003 - 13:27 #2
Det er ikke et anfald af at der er præcis en række i databasen for den pågældende kunde? Du tager nemlig højde for <1 og >1 men ikke for =1...
Avatar billede krydset Nybegynder
04. december 2003 - 13:34 #3
the legend, den virker ikke

idle.

Har prøvet sådan her men den du heller ikke

if($antal <= 1)
        {
            echo "<center>Kurven er tom</center>";
        }
           
        elseif($antal >= 1)
        {
            while($data = mysql_fetch_array($res))

Den udskriver godt nok kurven er tom men hvis jeg propper noget i siger den stadig kurven er tom !!

Hvad har jeg gjordt galt??
Avatar billede idle Nybegynder
04. december 2003 - 13:37 #4
jeg vil foreslå at du laver den første om til = 0

Den anden skal så blive ved med at være som den er.
Avatar billede krydset Nybegynder
04. december 2003 - 13:38 #5
Så udskriver den ikke noget :-(
Avatar billede kryster Nybegynder
04. december 2003 - 13:44 #6
Hvad hvis du laver en echo på $antal før if sætningen, hvad står der så i $antal?
Avatar billede krydset Nybegynder
04. december 2003 - 13:48 #7
Den udskriver hele tiden et 1 tal
Avatar billede ekspertensupersejt Nybegynder
04. december 2003 - 13:48 #8
if($antal <= "1")
        {
            echo "<center>Kurven er tom</center>";
        }
           
        elseif($antal >= "1")
        {
            while($data = mysql_fetch_array($res))

---------------------------------

Måske derfor?
Avatar billede krydset Nybegynder
04. december 2003 - 13:52 #9
Ikke helt, nu skriver den bare kurven er tom hele tiden :-O
Avatar billede krydset Nybegynder
04. december 2003 - 13:56 #10
men $antal ændre sig ikke!! underligt
Avatar billede krydset Nybegynder
04. december 2003 - 14:06 #11
Hvorfor ændre $antal sig ikke når der bliver proppet i db $antal er hele tiden = 1
Avatar billede kryster Nybegynder
04. december 2003 - 15:45 #12
Har du checket at der står det i databasen som du forventer?
Avatar billede krydset Nybegynder
04. december 2003 - 18:34 #13
Ja det gør det, hver gang jeg trykker køb bliver der smidt noget i kurven
Avatar billede krydset Nybegynder
04. december 2003 - 19:00 #14
Så var den der :-D

her er løsningen problemet var at
$res = mysql_query("select SUM(pris) as val from kurv, varer where vare_id = varer.id and unikt_id ='".$_SESSION['unikt_id']."'") or die(mysql_error());

hele tiden returnerede 1, jeg lavede så en anden query der kun talte i db


<?PHP

//kurv
include("shop/dbconnect.php");
$res1 = mysql_query("select SUM(pris) as val from kurv, varer where vare_id = varer.id and unikt_id ='".$_SESSION['unikt_id']."'") or die(mysql_error());
$res = mysql_query("select unikt_id FROM kurv WHERE unikt_id ='".$_SESSION['unikt_id']."'") or die(mysql_error());


echo "<fieldset id='kurv'>";
    echo "<legend>KURV</legend>";
        echo "<div>";
        $antal = mysql_num_rows($res);
               
        if($antal < 1)
        {
            echo "<center>Kurven er tom</center>";
        }
           
        if($antal >= 1)
        {
            while($data = mysql_fetch_array($res1))
           
            {
                echo "<center><span class='kurv'>Du har handlet for kr:";
                echo "<center>$data[val],-</font></center>";
               
            }
           
            echo "</div><br>";
            echo "</span>";
            echo "<center><a href='index.php?function=kasse'>Gå til kasse</a></center><br><br><br>";
           
        }
       

       
echo "</fieldset>";

?>
Avatar billede krydset Nybegynder
04. december 2003 - 19:00 #15
svar
Avatar billede ekspertensupersejt Nybegynder
04. december 2003 - 19:57 #16
Svarer på sit eget spørgsmål, lol :P
Avatar billede krydset Nybegynder
04. december 2003 - 20:41 #17
vidste ikke hvad jeg skulle skrive, men fandt da svaret selv ik ;)
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