Avatar billede kaktus Nybegynder
22. december 2008 - 15:38 Der er 1 kommentar og
1 løsning

indkøbskurv

Hej eksperter…er der én der kan hjælpe her.

Der er lidt problemer med denne indkøbskurv…http://eksperten.sluk.dk/index.php
Problem1 samme vare(id) har to priser. En pris for 1 stk, og en anden pris for 6 stk vil ikke virke i script

Problem2 Priser afrundes/manipolers, hvilket jeg først vil have i slut facit

Problem3 Ved første tilføjelse til kurv mangler et funktions argument! (php fejl vises på side)
---------------------------------------------------
<?
print_r($_SESSION);
//echo "<pre>";
//print_r($_SESSION);
//echo "</pre>\n";
?>
<hr />
Nedenstående vare fra db.....tilf&oslash;jes $_SESSION[&quot;shop&quot;] ved k&oslash;b<br />
<form method="post" action="<? echo $_SERVER['PHP_SELF'];?>"><!--form start-->
<table cellpadding="3" cellspacing="5">

<tr class="header">
    <td width="10">Id</td>
    <td width="30">Tilføj</td>
    <td width="60">Køb</td>
    <td>Produkt navn</td>
    <td width="50">Pris</td>
    <td width="80">Stk på lager</td>
</tr>

    <? $sql = "SELECT * FROM vare WHERE katid = '3' AND lager != 0 AND lager != '' ";
        $query = mysql_query($sql); 
            while($row = mysql_fetch_array($query)){
echo "<tr>\n";
        echo "    <td>".$row[vareid]. "</td>\n";
        echo "    <td><input type='checkbox' name='".$row[vareid]."' class='checkbox' /></td>\n";         
        echo "    <td><input type='text' size='1' maxlength='2' name='".$row[varenavn]."' value='1' />stk.</td>\n";         
        echo "    <td>".$row[varenavn]."</td>\n";
        echo "    <td>".$row[pris]. "</td>\n";
        echo "    <td>".$row[lager]. "</td>\n";
echo "</tr>\n\n";
echo "<tr>\n";
        echo "    <td style='border-bottom:1px black solid;'>".$row[vareid]. "</td>\n";
        echo "    <td style='border-bottom:1px black solid;'><input type='checkbox' name='".$row[vareid]."' class='checkbox' /></td>\n";         
        echo "    <td style='border-bottom:1px black solid;'><input type='text' size='1' maxlength='2' name='".$row[varenavn]."' value='1' />stk.</td>\n";         
        echo "    <td style='border-bottom:1px black solid;'>".$row[varenavn]."</td>\n";
        echo "    <td style='border-bottom:1px black solid;'>".$row[pris6stk]. "</td>\n";
        echo "    <td style='border-bottom:1px black solid;'>".$row[lager]. "</td>\n";
echo "</tr>\n\n";
              }
                  ?>
</table>

<br />

<input type="submit" name="submitKurv" value="Opdater kurv"  />
<input type="submit" name="reset" value="Reset" />

&nbsp;&nbsp;<a href="http://validator.w3.org/check/referer" target="_blank">xhtml</a> |
<a href="http://web2.gigahost.dk/phpmyadmin/" target="_blank">phpAdmin</a>
</form><!--form slut-->

<p><br />
  <br />
 
  <?  if(isset($_POST['submitKurv'])) {   
        foreach ($_POST as $key => $value) {
            if ($value == "on") {
            $sql = "SELECT * FROM vare WHERE katid = '3' AND vareid='$key'"; 
            $query = mysql_query($sql);
                      while($row = mysql_fetch_array($query)){
                          $row[varenavn];
                          $varenavn = str_replace(" ","_",$row[varenavn]);
                          $stk = $_POST[$varenavn];           
                         
                          } 

                          if (array_key_exists($key, $_SESSION["shop"])) { //linie med fejl hvis kun ét argument eksisterer
                          $forrigeStk = $_SESSION["shop"][$key];
                          $antal = $forrigeStk+$stk;
                          $_SESSION["shop"][$key] = $antal;         
                          } else {
                          $_SESSION["shop"][$key] = $stk;         
                          }
                           
                            }
                           
                          }     
                              echo"
                        <script type='text/javascript'>
                        function ny() {
                        window.location.href='index.php'
                        /*window.location.reload()*/
                            }
                            setTimeout('ny()', 2000);</script> <!-- reloader efter lidt tid i milli sec -->
                        ";
                       

                    }    if(isset($_POST['reset'])){   
                            session_unset();             

           

                          echo "<script language='javascript'>";
                          echo "location.href='index.php'";
                          echo "</script>";
                         
                         

            }   
            if    ($_SESSION["shop"] != "") {
            foreach ($_SESSION["shop"] as $key => $value) {

                      $sql = "SELECT * FROM vare WHERE vareid='$key'";
                            $query = mysql_query($sql);
                            $row = mysql_fetch_array($query);
                            $samlet = ($value * $row[pris]);
                            $subtotal[] = $samlet;
                            echo $value . " x ". $row[varenavn] . " Pris " .$samlet. "<br />" ; 
                            } 

                        echo "<br />";   
                        echo "ialt kr. " . array_sum($subtotal) ; 
                        echo "<br />"; 
            } else {
                    echo "Indkøbskurven er tom";
                    echo "<br />"; 

}
?>
Avatar billede kaktus Nybegynder
30. december 2008 - 16:01 #1
har nu selv løst problemet/udfordringen og svarer derfor selv LUKKER
Avatar billede kaktus Nybegynder
30. december 2008 - 16:01 #2
LUKKER
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