• Login
  • Register
  • Zoek
This Thread
  • Everywhere
  • This Thread
  • This Forum
  • Articles
  • Pages
  • Forum
  • Filebase Entry
  • More Options

ICTscripters

Dé plek voor IT

Dé plek voor IT

Login

Geavanceerde opties
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  9. Goedkope domeinnamen
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  9. Goedkope domeinnamen
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  9. Goedkope domeinnamen
  1. Dé plek voor IT - ICTscripters
  2. Forum
  3. Scripting & programmeren
  4. PHP + SQL

Forum

  • Ictscripters Chat

    Frenzo.Brouwer 9 maart 2026 om 21:31
  • Help testers nodig voor android app Urgent

    Servertjee 20 februari 2026 om 12:07
  • Partner Gezocht om meerdere NFT Collecties op Open Sea te Plaatsen

    Servertjee 20 februari 2026 om 12:06
  • Afspraken systeem met planbeperking

    Jeffrey.Hoekman 20 februari 2026 om 11:52
  • Developer Gezocht

    Servertjee 19 februari 2026 om 17:31
  • Na 15 jaar terug van weggeweest: iCriminals.nl is terug (BETA)!

    Servertjee 18 februari 2026 om 16:57
  • Op zoek naar de legends

    Syntax 5 januari 2026 om 13:50
  • [FREE] WeFact Hosting module

    Jeroen.G 13 oktober 2025 om 14:09

Marktplaats

  • Domeinportfolio uitkuis

    Syntax 19 maart 2026 om 10:18
  • Heel wat sterke domeinen > 2 letters, 3 letters, premiums

    Michael DW 11 maart 2026 om 12:12
  • 367 Nieuwe Domeinnamen Februari 2026

    shiga 1 maart 2026 om 14:50

Winkelmandje script

  • djordyh
  • 10 april 2012 om 21:11
  • djordyh
    Professional
    Berichten
    627
    • 10 april 2012 om 21:11
    • #1

    *knip*

    Inmiddels is het eerste probleem opgelost, nu het 2e probleem nog.
    Bij het weergeven van de prijs haalt hij de prijs uit de database en doet deze keer het aantal. Nu is echter de prijs 12,85 en het aantal 1, dus hoort hij 12,85 te weergeven maar i.p.v dat is de outcome: 12.

    Dit is het winkelmandje script:

    PHP
    <?php
    // Kijk of er iets in de winkelmandje zit
    if(empty($_SESSION['winkelmandje']))
    {
        echo '<p>Uw winkelmandje is momenteel leeg.</p>';
    }
    // Anders
    else
    {
                echo '<div class="row">';
                echo '<p class="small"><b>Aantal:</b></p>';
                echo '<p class="small"><b>Art. nr.:</b></p>';
                echo '<p class="big"><b>Product:</b></p>';
                echo '<p class="small"><b>Actie:</b></p>';
                echo '<p class="small"><b>Prijs:</b></p>';
                echo '</div>';
        
            // Exploden
            $cart = explode('|', $_SESSION['winkelmandje']);
    
    
            // Begin formulier
            echo '<form action="Upd_winkelmandje.php" method="post">';
                // Show winkelmandje
                $i = 0;
                foreach($cart as $products)
                {
                    // Split
                    /*
                    $product[x] -->
                        x == 0 -> product id
                        x == 1 -> hoeveelheid
                    */
                    $product = explode(',', $products);
            
                    // Get product info
                    $sql = mysql_query("SELECT * FROM producten WHERE productnummer = '".intval($product[0])."'");
                  
                    // Als query gelukt is
                    if($sql)
                    {
                        // Als er items zijn
                        if(mysql_num_rows($sql) > 0)
                        {
                            // Alle items echoën
                            $rec = mysql_fetch_assoc($sql);
                            $i++;
            
                             // Verborgen vars
                            echo '<input type="hidden" name="productnummer_'.$i.'" value="'.$product[0].'" />';
                            
                             echo '<div class="row">';
                                // Aantal
                            echo '<p class="small">';
                            echo '<input type="text" style="margin-top: 1px; class="aantal_w" name="hoeveelheid_'.$i.'" value="'.$product[1].'" size="2" maxlength="2" onKeyPress="return submitenter(this,event)" />';
                                echo '</p>';
                                
                                // Artikel nummer
                                echo '<p class="small">';
                                echo $product[0];
                                echo '</p>';
                                
                                // titel
                                echo '<p class="big">';
                                    echo $rec['productnaam'];
                                echo '</p>';
                                
                                // Acties
                                echo '<p class="small">';
                                    echo '<a href="javascript:removeItem('.$i.')">Del</a>';
                                echo '</p>';
                                
                                // Prijs
                                echo '<p class="small">';
                                echo '&euro; '.$rec['prijs'] * $product[1];
                                echo '</p>';
                            echo '</div>';
                    }
                    // Anders
                    else
                    {
                        // Mysql error opvangen
                        echo 'Er is een fout opgetreden in de query. <br />';
                        echo mysql_error();
                    }
                }
    		}
            echo '</form>';
        }
    ?>
    Toon Meer

    Dit is de add.php:

    PHP
    <?php 
    // CONTROLEREN OF ER EEN PRODUCT ID IS OPGEGEVEN EN OF HET EEN NUMMER IS
    if(!isset($_POST['product_id']) || !is_numeric($_POST['product_id']))
    {
        exit('Er is geen product id meegezonden');
    }
    else
    {
        $product_id = $_POST['product_id'];
    }
    // CONTROLEREN OF ER EEN AANTAL IS OPGEGEVEN EN OF HET EEN NUMMER IS
    if(!isset($_POST['aantal']) || !is_numeric($_POST['aantal']))
    {
        exit('Er is geen product id meegezonden');
    }
    else
    {
        $aantal = $_POST['aantal'];
    }
    
    
    
    
    
    
    // KIJKEN OF ER WAT IN DE WINKELMANDJE ZIT
    if(empty($_SESSION['winkelmandje']))
    {
        // WINKELMANDJE SESSIE AANMAKEN
        $_SESSION['winkelmandje'] = $product_id.','.$aantal;
    }
    // ANDERS
    else
    {
        // WINKELMANDJE OPSPLITSEN
        $cart = explode('|', $_SESSION['winkelmandje']);
    
    
        // WINKELMANDJE INHOUD TELLEN
        $count = count($cart);
    
    
        // VAR OM TE CHECKEN BIJ HET TOEVOEGEN
        $add = TRUE;
        foreach($cart as $products)
        {
            // EXPLODEN
            /*
                $product[x] -->
                x == 0 -> productnummer
                x == 1 -> hoeveelheid
            */
            
            $product = explode(',', $products);
            // ALS DE PRODUCT AL IN DE WINKELMANDJE ZIT
            if($product[0] == $product_id)
            {
                $product[1] = $product[1] + $aantal;
                $add = FALSE;  // NIET TOEVOEGEN
            }
        
            // WEER IN DE SESSIE PLAATSEN
            $i++;
            if($i == 1)
            {
                // IN DE SESSIE GOOIEN
                $_SESSION['winkelmandje'] = $product[0].','.$product[1];
            }
            // ANDERS
            else
            {
                // BIJ DE OUDE SESSIE PLAATSEN
                $_SESSION['winkelmandje'] = $_SESSION['winkelmandje'].'|'.$product[0].','.$product[1];
            }
        }
    
    
        // ALS ER TOEGEVOEGT MOET WORDEN
        if($add)
        {
            $_SESSION['winkelmandje'] = $_SESSION['winkelmandje'].'|'.$product_id.','.$aantal;
        }
    }
    
    
    // DOORSTUREN
    header('Location: index.php?p=winkelmandje');
    ?>
    Toon Meer

    Weet iemand waar dit aan ligt?

    Met vriendelijke groet,

    Djordy.

  • Guest, wil je besparen op je domeinnamen? (ad)
  • jopitan
    Professional
    Berichten
    684
    • 11 april 2012 om 16:52
    • #2

    Als er letterlijk 12,50 staat dan moet je deze eerst converteren naar 12.50

    Oftewel str_replace(',', '.', $rec['prijs'])

    Je kunt het beste alle prijzen als FLOAT numbers in de database zetten.

    Dan wanneer je de prijs wilt weergeven op de pagina gebruik je number_format($variable, 2, ',', '.');

    Kast: HAF922 | CPU: I7-930 @ 4.0GHz | CPU Cooler: Noctua NH-D14 | HDD0: Crucial M4 128GB, HDD1: Kingston SSD 64GB, HDD2/3: WD Black & Green 1TB, HDD4: Seagate 1.5TB | Mem: Kingston HyperX 12GB @ 1600MHz | Graphics: Crossfire HD6970 | Res: 5760x1080

  • djordyh
    Professional
    Berichten
    627
    • 11 april 2012 om 17:25
    • #3
    Citaat van jopitan

    Als er letterlijk 12,50 staat dan moet je deze eerst converteren naar 12.50

    Oftewel str_replace(',', '.', $rec['prijs'])

    Je kunt het beste alle prijzen als FLOAT numbers in de database zetten.

    Dan wanneer je de prijs wilt weergeven op de pagina gebruik je number_format($variable, 2, ',', '.');

    Bedankt! Ik krijg nu het volle bedrag, echter is er nog 1 probleem.

    Bijvoorbeeld bij de prijs euro 51.40, hij weergeeft dit als euro 51.4, ik heb al een round geprobeerd maar dit werkt niet :O

    PHP
    '.round($rec['prijs'] * $product[1], 2);

    Met vriendelijke groet,

    Djordy.

  • jopitan
    Professional
    Berichten
    684
    • 11 april 2012 om 17:30
    • #4

    Die had ik al gegeven. Number format gebruik je hiervoor.
    number_format($var, 2, ',', '.' );

    Kast: HAF922 | CPU: I7-930 @ 4.0GHz | CPU Cooler: Noctua NH-D14 | HDD0: Crucial M4 128GB, HDD1: Kingston SSD 64GB, HDD2/3: WD Black & Green 1TB, HDD4: Seagate 1.5TB | Mem: Kingston HyperX 12GB @ 1600MHz | Graphics: Crossfire HD6970 | Res: 5760x1080

  • djordyh
    Professional
    Berichten
    627
    • 11 april 2012 om 20:12
    • #5

    Oeps, over het hoofd gezien :)

    EDIT

    Ik loop nog vast met 1 ding, hoe kan ik de totale prijs uitrekenen?

    Met vriendelijke groet,

    Djordy.

Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!

Maak een account aan Login

ICT Nieuws

  • Samsung zal miljoenen verdienen aan Apple iPhone Fold dankzij zijn 12GB RAM

    ICTscripters 11 maart 2026 om 22:42
  • Apple heeft zojuist iOS 26.4 Beta 4 vrijgegeven: hier is de verwachte lanceerdatum.

    ICTscripters 11 maart 2026 om 12:01
  • Kritieke kwetsbaarheid in Nginx UI bedreigt gevoelige data

    ICTscripters 10 maart 2026 om 18:29

Blogs

  • Functioneel ontwerp

    Dees 28 december 2014 om 12:38
  • Access Control List implementatie in PHP/MySQL - deel 1/2

    FangorN 28 december 2018 om 12:35
  • Access Control List implementatie in PHP/MySQL - deel 2/2

    FangorN 29 december 2018 om 12:37

Gebruikers die dit topic bekijken

  • 1 Gasten
  1. Marktplaats
  2. Design
  3. Voorwaarden
  4. Ons team
  5. Leden
  6. Geschiedenis
  7. Regels
  8. Links
  9. Privacy Policy
ICTscripters ©2005 - 2026 , goedkope hosting door DiMoWeb.com, BE0558.915.582
Sponsors: Beste kattenhotel provincie Antwerpen | Beste Zetes eid kaartlezer webshop
Style: Nexus by cls-design
Stylename
Nexus
Manufacturer
cls-design
Licence
Commercial styles
Help
Supportforum
Visit cls-design