textfield voor number of items in shop

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Malick heuvel

malick heuvel

17/12/2007 12:16:00
Quote Anchor link
Hallo PHP experts,

Ik zit met een moeilijkheidje. Heb namelijk een shopping cart gemaakt met behulp van voorbeelden op het web maar nu wil ik in mijn checkout.php script een veld inbouwen welke de item hoeveelheden kan wijzigen (dus bijvoorbeeld een gebruiker besluit om 20 producten van item A te nemen ) en een optie waarbij ik door op een image te klikken 1 item van producteenheden kan verwijderen. Nu lukt het mij alleen om een teller te bouwen welke de items met 1 ophoogt en een image welke bij klikken alle items van een bepaald product verwijderd.


ik doe en gebruik hiervoor het volgende:


checkout.php:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?

if (count($items) > 0)
            {

                foreach ($items as $key => $val)
                {

                    
                    $cat_num = substr($val['item_id'], 3);
                    $icat_num = $val['item_id'];
                    
                    $cartContents = '<td><a href="server.php?action=removeFromCart&amp;id=' . $val['item_id'] . '" onclick="return removeFromCart(' . $val['item_id'] . ')" ><img  src="stop.JPG" border="0"></a><br></div></td>';
            
                    
                    echo "<tr class=\"text\">
                  <td></td>
                  <td >"
.$cat_num."</td>
                  <td class=\"text\">"
.$val['title']."</td>
                  <td></td>
                  <td>"
.$val['qty']."</td>
                  <td rowpan=2></td>
                  <form  method=\"post\" action=\"server.php?action=addToCart\">
                  <td><input name=\"id\" id=\"id\" value=\"$val[item_id]\" type=\"hidden\"><input type=\"image\" src=\"images/plus.png\" alt=\"submit\" value=\"submit\" onclick=\"return addToCart($val[item_id]);\" /></td>
                  </form>    
                  <td></td><td></td>
                  <td>"
. moneyFormat($Cart->GetSubTotal($val['item_id'])) . " &#8364;</td>
              }
}



?>


server.php

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
<?
[
code]<?php
/**
 * Ajax shopping cart
*/

    session_start();    
    require_once 'config.php';
    
    // setup database connection
    try
    {
        $db = new CDB(DB_HOST, DB_USER, DB_PASS, DB_NAME);
    }

    catch(ConnectException $exception)
    {

        echo "Database Connection Error:<br />";
        var_dump($exception->getMessage());
    }
    

    $action = (isset($_GET['action']) ?  $_GET['action'] : '');

    switch($action)
    {

        // add item to cart
        case 'addToCart':
            
            $id = $db->real_escape_string($_POST['id']);
            // get item's details
            
            $sql = "SELECT short_name, sale_price_euro
                                         FROM suppliers
                                         WHERE intern_cat_num = '$id'"
;
            
            $result = $db->query($sql);
            $row = $result->fetch_assoc();
            
            // initialize the cart and add the item (quantity = 1)
            $Cart = new Cart(session_id());
            $added = $Cart->AddItem($id, 1, $row['sale_price_euro']);
            
            // if this was an Ajax call, return JSON, else redirect to previous page
            if (isAjax())
            {

                if ($added['newItem'] == 1)
                    $isNew = 1;
                else
                    $isNew = 0;
    
                $subTotal = moneyFormat($Cart->GetSubTotal($id));
                $total = moneyFormat($Cart->GetTotal());
    
                
                $response = '{ "cartItemDetails" : [
                    { "title" : "'
. $row['short_name'] . '",
                        "id" : "'
. $id .'",
                        "newPrice" : "'
. $subTotal . '",
                        "newQty" : "'
. $added['qty'] . '",
                        "total" : "'
. $total . '",
                        "isNew" : "'
. $isNew . '" } ]}';
                echo $response;
            }

            else
            {
                header('Location: ' . $_SERVER['HTTP_REFERER']);
            }

            $result->close();
            break;
            
        // remove item from cart
        case 'removeFromCart':
            $id = (isset($_GET['id']) ?  $_GET['id'] : $_POST['id']);
            $id = $db->real_escape_string($id);
            
            // initialize the cart and remove the specified item
            $Cart = new Cart(session_id());
            $removed = $Cart->RemoveItem($id);

            // if this was an Ajax call, return the cart's total value, else redirect to previous page
            if (isAjax())
            {

                echo moneyFormat($Cart->GetTotal());
            }

            else
            {
                header('Location: ' . $_SERVER['HTTP_REFERER']);
            }

            break;
            
        // empty cart
        case 'emptyCart':
            // initialize the cart and empty it
            $Cart = new Cart(session_id());
            $empty = $Cart->Clear();

            // if this was an Ajax call, return true, else redirect to previous page
            if (isAjax())
            {

                echo $empty;
            }

            else
            {
                header('Location: ' . $_SERVER['HTTP_REFERER']);
            }

            break;
    }

?>


Ik weet nu niet hoe ik de code in server.php aanpas zodat het doet wat ik zograag wil ....... weet iemand raad hierbij alle hulp is bruikbaar


in afwachting op jullie reacties tot spoed
Gewijzigd op 01/01/1970 01:00:00 door Malick heuvel
 
PHP hulp

PHP hulp

23/04/2024 13:21:57
 
Malick heuvel

malick heuvel

17/12/2007 12:19:00
Quote Anchor link
..
Gewijzigd op 01/01/1970 01:00:00 door malick heuvel
 
Jacco Engel

Jacco Engel

17/12/2007 12:20:00
Quote Anchor link
Bumpen mag nog niet
 
Malick heuvel

malick heuvel

17/12/2007 12:22:00
Quote Anchor link
hey jacco als ik een foutje maak hoe kan ik dan mijn bumpmessage verwijderen
 
Robert Deiman

Robert Deiman

17/12/2007 12:26:00
Quote Anchor link
Ik snap eigenlijk niet hoe het kan dat het je wel lukt om + 1 te doen in het textveld, maar -1 niet. Dat is toch eigenlijk helemaal hetzelfde, maar in plaats van + gebruik je -?
 
Malick heuvel

malick heuvel

17/12/2007 12:30:00
Quote Anchor link
hmmm daar zeg je me wat Robert mijn excuses

Moet de functie dus gewoon aanpassen -1 i.p.v 1 je hebt gelijk maar hoe zit het met die andere functie een field voor het aanpassen van de gehele quantity ?
Gewijzigd op 01/01/1970 01:00:00 door malick heuvel
 
Robert Deiman

Robert Deiman

17/12/2007 12:55:00
Quote Anchor link
Je hebt de oude quantity toch al? Die gebruik je ook in die functie met +1 en -1 -> Uiteindelijk zet je die nieuwe waarde (quantity-1 of +1) ook in dat veld. Dus je weet ook al hoe je een quantity in dat veld moet krijgen.
Oftewel: Veldwaarde = nieuwe ingevulde quantity. Met alles wat je nu al hebt gemaakt moet dat een eitje zijn toch?

(ik ben wel al even in de code gedoken, maar heb niet veel tijd op het moment om je verder te helpen. Maar misschien dat dit een zetje in de goede richting is)
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.