1. #1

    Registered
    08/12/03
    Location
    Linden
    Posts
    4,560
    iTrader
    0
    Mentioned
    0 Post(s)
    Reputation
    0/0

    selecteer ==> bevestig, array/doorgeefprobleem

    ik heb een klein probleempje waar ik geen oplossing voor weet/vind.

    Je hebt een pagina waarop alle producten worden getoond (vanuit een databank) en je kan 1-meer producten bestellen (aanvinken) + daarbij een aantal (drop list met max van 10 of minder al naargelang aantal nog ter beschikking).

    Nu wil ik als je dat verzend, een overzicht geven van alles wat is aangevinkt + aantal daarbij om dat te bevestigen.
    Ik kan echter mijn aantal niet laten weergeven (als het niet is aangevinkt geeft hij 0 door overigens)

    mijn code:
    voor de pagina om het aan te duiden

    PHP Code:
    <?php 
    function laat_producten_zien(){ 
            
            echo 
    '<div id="productencontainer">' ;
            
            echo 
    '<h1>Producten in ons gamma</h1>' ;

            echo 
    '<table cellpadding="5" summary="productenoverzicht" CELLSPACING="5" rules="all">' ;
            echo 
    '<tr> <th>productnaam</th> <th>prijs</th> <th>selecteer</th> <th>aantal</th> </tr>' ;
            
    $res_producten pg_query("SELECT * from \"r1serwin\".producten order by naam"); 
                  
    //we selecteren alle gegevens uit de tabel producten

            
    while($obj_producten  pg_fetch_object($res_producten)){  
                echo 
    '<tr> <td>' .$obj_producten->naam '</td>'  ;
                echo 
    '<td>' .$obj_producten->prijs '</td>' ;
                echo 
    '<td> <input type="checkbox" value = "' .$obj_producten->productnr '"name = "productnr[]"></td>';
                echo 
    '<td> <select name = "aantal_te_bestellen[]" size = "1">' ;
            
                for (
    $getal 0$getal<=$obj_producten->aantal_op_stock && $getal<=10$getal++) {
                            echo 
    "<option value=\"$getal\">$getal</option>\n"
                } 
                echo 
    '</select></td></tr>' ;
              }
                 echo 
    '<tr> <td></td> <td></td> <td></td> <td align="center"><input type="submit" value="verstuur" /></td>' ;
               echo 
    "</table>"
                 echo 
    '</div>' ;

    ?>

    om dat te laten weergeven:

    PHP Code:
    <?php
    function valideer_bestelling () {

            echo 
    '<div id="productencontainer">' ;
            
            echo 
    '<h1>Bestel deze producten</h1>' ;

            echo 
    '<table cellpadding="5" summary="productentebestellen" CELLSPACING="5" rules="all">' ;
            echo 
    '<tr> <th>productnaam</th> <th>prijs</th> <th>aantal</th> </tr>' ;
            
    $res_producten pg_query("SELECT * from \"r1serwin\".producten order by naam"); 
                  
    //we selecteren alle gegevens uit de tabel producten
            
        
    $index ;
            while(
    $obj_producten  pg_fetch_object($res_producten)){  
                foreach (
    $_GET['productnr'] as $productnr) {
                if (
    $productnr == $obj_producten->productnr) {
                        echo 
    '<tr> <td>' .$obj_producten->naam '</td>'  ;
                        echo 
    '<td>' .$obj_producten->prijs '</td>' ;
                        echo 
    '<td>' .$_GET['aantal_te_bestellen[$index]'] . '</td></tr>' ;
                    }
                
    $index ++ ;
              }
            }
                 echo 
    '<tr> <td></td> <td></td><td align="center"><input type="submit" value="bevestig bestelling" /></td>' ;
               echo 
    "</table>"
                 echo 
    '</div>' ;    
    }
    ?>

    ik denk dat er iets mis is met $_GET['aantal_te_bestellen[$index]'] maar ik weet het niet zeker
    no votes  

  2. #2
    Lashknife's Avatar
    Registered
    17/07/02
    Location
    Boechout
    Posts
    3,081
    iTrader
    1 (100%)
    Mentioned
    0 Post(s)
    Reputation
    0/0
    ik heb het niet helemaal overlezen, maar je gebruik single quotes (letterlijke interpretatie) om idd die aantal_te_bestellen[$index] op te vragen
    daardoor plakt hij rechtstreeks $index in die string en gans die value slaat op niks natuurlijk.

    Je vraagt gewoon $mijnaantal = $_GET['aantal_te_bestellen'] op en dan zit in $mijnaantal een array met uw geselecteerde elementen. Die kan je aflopen op eender welke manier je een array kan aflopen.
    Eventueel doe je een print_r($mijnaantal) om zelf even te kijken hoe die get value er uitziet en hoe je dat best afhandelt in jouw toepassing.

    Ik snap ook niet goed waar jouw $index vandaan komt... maar dat zou dan correct $_GET['aantal_te_bestellen'][$index] zijn om de element uit jouw array aan te spreken
    Visit www.holysh1t.net and http://tv.holysh1t.net and join #qlpickup.eu for Quake Live CTF (and TDM) pickup!
    no votes  

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

Log in

Log in