Avatar billede qub- Novice
16. april 2005 - 20:14 Der er 1 kommentar og
1 løsning

Sende flere arrays

Jeg er igang med at kode mig en indkøbskurv.. Der fungere ved at når man vælger et produkt bliver det gemt i mysql med det sessionid man nu har..
Men når man så skal til at købe alle sine ting, så skal man på en eller anden måde ku få alle ens produkter "videre" hvis man kan sige det sådan..
Lidt kode hjælper på det:

        <table align="center" width="550" border="0" cellspacing="0" cellpadding="0">
            <tr>
            <td bgcolor="#B8C9D8">

                <table cellpadding="2" border="0" cellspacing="1" width="100%" align="center">
                   
<?
$query = mysql_query("SELECT * FROM cybertape_shopping WHERE session='$session_id' ORDER BY id");
    while ($row = mysql_fetch_array($query)) {
       
        $shopping_id = $row[id];
        $user_session_id = $row[session];
        $prod_name = $row[prod_name];
        $prod_id = $row[prod_id];
        $prod_price = $row[prod_price];
        $prod_price_sale = $row[prod_price_sale];
        $prod_weight = $row[prod_weight];   
       
       
            // look up the item in product
            $price_from_product =  "SELECT prod_price, prod_price_sale FROM cybertape_product WHERE prod_id='$prod_id'";
            $result_product = mysql_query("$price_from_product");
            $row_price = mysql_fetch_array($result_product);
       
            //calculate the total depending whether product has sale price or not and sale is on or off
            if($row_price['prod_price_sale']=="0.00")
            {
                $result_price="prod_price";
            } else {
                $result_price="prod_price_sale";
            }
            $_SESSION['result_price'] = $result_price;
            $price = $row_price[$result_price];       
?>
                          <tr valign="bottom" bgcolor="#FFFFFF">
                          <td width="60%"><font color='#C20000' size='1'><b>»</b>&nbsp;</font><font size='1' face='Verdana' color='#608598'><? echo $prod_name ?></font></td>
                          <td align="right"><font size='1' face='Verdana' color='#808080'><? echo $price ?> DKK </font></td>
                        </tr>
<?
}

if (!$price) { echo ""; } else {
?>
                          <tr bgcolor="#FFFFFF">
                          <td height="10">&nbsp;</td>
                          <td>&nbsp;</td>
                          </tr>
<?
}
                        $result_weight_session = $_SESSION[result_weight];
                       
                       
                        $weight_from_shopping =  "SELECT SUM(prod_weight) as prod_weight FROM cybertape_shopping WHERE session = '" . $session_id . "'";
                        $result_weight = mysql_query("$weight_from_shopping");
                        $row_weight = mysql_fetch_array($result_weight);
                       
                        $weight_shopping = $row_weight['prod_weight'];


/*
Vægt højst 1 kg - 45,00
Vægt højst 5 kg - 49,00
Vægt højst 10 kg - 61,00
Vægt højst 15 kg - 88,00
Vægt højst 20 kg - 93,00
*/                   
            if(($weight_shopping == "0") OR ($weight_shopping == ""))
            {
            $result_weight_total="0,00";
            }
        else if(($weight_shopping <= "1000") AND ($weight_shopping > "0"))
            {
            $result_weight_total="49,00";
            }
        else if(($weight_shopping <= "5000") AND ($weight_shopping > "1000"))
            {
            $result_weight_total="49,00";
            }
        else if(($weight_shopping <= "10000") AND ($weight_shopping > "5000"))
            {
            $result_weight_total="61,00";
            }
        else if(($weight_shopping <= "15000") AND ($weight_shopping > "10000"))
            {
            $result_weight_total="88,00";
            }
        else if(($weight_shopping <= "20000") AND ($weight_shopping > "20000"))
            {
            $result_weight_total="93,00";
            }
        else if($weight_shopping > "20000")
            {
            $result_weight_total="";
            }
                       
                $ship_price = $result_weight_total;
?>
                          <tr bgcolor="#FFFFFF">
                          <td width="60%"><font size='1' face='Verdana' color='#808080'><b>Fragt:</b></font></td>
                          <td align="right"><font size='1' face='Verdana' color='#808080'><b><? echo $ship_price; ?> DKK</b></font></td>
                        </tr>
<?
                        // look up the item in product
                        if (!$_SESSION[result_price]) { echo ""; } else {
                       
                        $result_price_session = $_SESSION[result_price];
                       
                        $price_from_shopping =  "SELECT SUM($result_price_session) as $result_price_session FROM cybertape_shopping WHERE session = '" . $session_id . "'";
                        $result_shopping = mysql_query("$price_from_shopping");
                        $row_price_shopping = mysql_fetch_array($result_shopping);
                       
                        $price_shopping = $row_price_shopping[$result_price_session];
               
                            /* Skal fixes så den regner du om der er udsalg eller ej */
       
                            $total_price = $price_shopping;

                   
                            if(($total_price == "0.00") OR ($total_price == ""))
                            {
                            $resulta_price_total="0,00";
                            }
                            else {
                            $resulta_price_total="$total_price";
                            }   
                           
                            /* "50" er FRAGT */
                            $total = $result_weight_total + $resulta_price_total;
                            }
                           
?>
                        <tr bgcolor="#FFFFFF">
                          <td width="60%"><font size='1' face='Verdana' color='#808080'><b>Total::</b></font></td>
                          <td align="right"><font size='1' face='Verdana' color='#808080'><b><? echo $total ?> DKK</b></font></td>
                        </tr>
                       
                        </table><br>
               
               
               
               
               
               
               
               
                <form method="post" action="shoppingcart.php">
                <table cellpadding="2" border="0" cellspacing="1" width="100%" align="center">   
                    <tr bgcolor="#FFFFFF">
                        <td width="100%" colspan="2"><b>Informationer</b><? if (isset($_GET['errormessage']) == ("1")) { echo " - <font color=\"#990000\"><b>Alle felter SKAL udfyldes</b></font>"; } ?></td>
                    </tr>
                    <tr bgcolor="#FFFFFF">
                        <td width="40%"><b>Navn:</b></td>
                        <td width="60%"><input type="text" class="textbox" name="name" value="" size="25" maxlength="40"><font color="#990000">*</font></td>
                    </tr>
                    <tr bgcolor="#FFFFFF">
                        <td width="40%"><b>Addresse:</b></td>
                        <td width="60%"><input name="address" class="textbox" value="" type="text"><font color="#990000">*</font></td>
                    </tr>
                    <tr bgcolor="#FFFFFF">
                        <td width="40%"><b>Postnr:</b></td>
                        <td width="60%"><input name="postcode" class="textbox" value="" type="text">
                        <font color="#990000">*</font></td>
                    </tr>
                    <tr bgcolor="#FFFFFF">
                        <td width="40%"><b>By:</b></td>
                        <td width="60%"><input name="town" class="textbox" value="" type="text"><font color="#990000">*</font></td>
                    </tr>
                    <tr bgcolor="#FFFFFF">
                        <td width="40%"><b>Telefon:</b></td>
                        <td width="60%"><input name="phone" class="textbox" value="" type="text"><font color="#990000">*</font></td>
                    </tr>
                    <tr bgcolor="#FFFFFF">
                        <td width="40%"><b>Email:</b></td>
                        <td width="60%"><input name="email" class="textbox" value="" type="text"><font color="#990000">*</font></td>
                    </tr>
                    <tr bgcolor="#FFFFFF">
                        <td width="40%"><b>Evt kommentar:</b></td>
                        <td width="60%"><textarea name="comment" class='box' style='width: 250px;'></textarea></td>
                    </tr>
                    <tr bgcolor="#FFFFFF">
                        <td width="40%">&nbsp;</td>
                        <?
                        $_SESSION[order_session_id] = array($session_id);
                        $_SESSION[order_prod_id] = $prod_id;
                        $_SESSION[order_prod_name] = $prod_name;
                        $_SESSION[order_price] = $price;
                        $_SESSION[order_ship_price] = $ship_price;
                        $_SESSION[order_total] = $total;
                        ?>
                        <td><INPUT TYPE="submit" NAME="order" VALUE="  Bestil  "><br>På næste side kan du se en kopi af din faktura, samtiddig med der bliver sendt en til din email</td>
                    </tr>
                </table>
                </form>
            </td>
            </tr>
        </table>


Og så skal alle de produkter man så har valgt igen gemmes SAMLET i mysql på en eller anden måde.. :)
Avatar billede detox Nybegynder
16. april 2005 - 21:15 #1
Avatar billede qub- Novice
17. april 2005 - 21:01 #2
Jeg har fundet en smatere måde at klare det på!
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

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