Hoe meerdere aankopen als een wegschrijven?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Kristof s

Kristof s

29/01/2007 16:24:00
Quote Anchor link
Hallo, ik zit wat vast met hetvolgende

ik wil dat je een klant kan selecteren uit een drobdownbox (dit is geen probleem).
Nu wil ik dat die klant, een aankoop kan doen MAAR
één aankoop kan wel uit meerdere aankopen bestaan.
BV aankoop 1 bestaat uit
- een auto
- een brommer
- een vliegtuig

Nu het probleem is hoe krijg ik dit allemaal via één invulformulier in een database gezet ?
Ik vermoed dat ik één tabel zal maken met als titel AANKOOP en daarin enkel een ID laat optellen. En dat ik aan die ID een AANKOOPDETAIL tabel zal koppelen. Dus ik moet denk ik dan die drie lijnen kunnen wegschrijven in de AANKOOPDETAIL tabel. Maar ik zie niet goed in hoe ik hieraan moet beginnen.

Iemand een suggestie of voorbeeldscriptje ?
Bij voorbaat dank
 
PHP hulp

PHP hulp

19/11/2024 23:33:46
 
Karel

karel

29/01/2007 16:29:00
Quote Anchor link
hiervoor heb je dan drie tabellen nodig

je tabel waar je alle gegevens nu in opslaat

een tabel met verkoopartikelen waarin je alle artikelen opslaat, deze moeten dan een id hebben.

nog een tabel waarin je de id nummers van je eerste tabel in plaats en de id nummers van je artikelen
 
Arjan Kapteijn

Arjan Kapteijn

29/01/2007 16:29:00
Quote Anchor link
Koppeltabel?


Orders:
OrderID
KlantID

Koppeltabel:
OrderID
ProductID
 
Kristof s

Kristof s

29/01/2007 19:46:00
Quote Anchor link
ja maar het is niet zozeer het normaliseren dat een probleem is.
ik zie alleen niet goed in hoe ik meerdere artikelen in een aankoop kan steken met een formulier.
ik bedoel als ik een vakje heb met product en aantal
kan er toch moeilijk zo twintig onder elkaar gaan zetten ?
 
Frank -

Frank -

29/01/2007 19:49:00
Quote Anchor link
Quote:
ik bedoel als ik een vakje heb met product en aantal
kan er toch moeilijk zo twintig onder elkaar gaan zetten ?
Hoezo? Je kunt toch prima 20 producten onder elkaar zetten? Wat is het probleem?

Heb je het hier over de weergave op het scherm, de manier waarop je de gegevens moet gaan verwerken of hoe je e.e.a. moet opslaan? Het is mij niet duidelijk.
 
Joren de Wit

Joren de Wit

29/01/2007 19:51:00
Quote Anchor link
Waarom niet?

Je zou bijvoorbeeld gebruik kunnen maken van een array als naam voor je inputvelden. Op die manier krijg je alle gegevens in een array te staan en kun je ze vervolgens met een foreach loop uitlezen.

Tijdens het uitlezen kijk je welke producten besteld zijn en in welke hoeveelheid. Vervolgens kun je die gegevens wegschrijven in je koppeltabel.
 
Kristof s

Kristof s

30/01/2007 17:40:00
Quote Anchor link
Frank schreef op 29.01.2007 19:49:
Quote:
ik bedoel als ik een vakje heb met product en aantal
kan er toch moeilijk zo twintig onder elkaar gaan zetten ?
Hoezo? Je kunt toch prima 20 producten onder elkaar zetten? Wat is het probleem?

Heb je het hier over de weergave op het scherm, de manier waarop je de gegevens moet gaan verwerken of hoe je e.e.a. moet opslaan? Het is mij niet duidelijk.


Y up het is het weergeven op het scherm dat me wat dwars zit.
en ja ik kan 20 producten onder elkaar zette en enkel die dat ik heb ingevuld wegschrijven maar vind dat beetje onpraktisch voor de gebruiker. Maar ik zie niet direct een andere oplossing dus zal het zo maar moeten.
 
Jan geen

Jan geen

30/01/2007 17:56:00
Quote Anchor link
zon multi selectbox lijkt me wel wat voor je.
 
Kristof s

Kristof s

30/01/2007 22:53:00
Quote Anchor link
multi selectbox hmmm
 
Kristof s

Kristof s

01/02/2007 14:35:00
Quote Anchor link
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
            <?php
            require_once('./config.php');
            mysql_connect("$host", "$dbusername", "$password") or die ("Kan geen verbinding leggen met de server");
            mysql_select_db("$db") or die ("Kan geen verbinding maken met de database");
#####################################################################################################
#                             Genereer dropdown met alle klanten in
#####################################################################################################

            ?>

<form name="selectklant" action="<?php echo $PHP_SELF;?>" method="post">
Selecteer Klant:
<select name="ID">
                <?php
                    $query
= "SELECT KlantId, KlantNaam from tblklanten ORDER BY KlantNaam ASC";
                    $sql = mysql_query($query);
                    while($line = mysql_fetch_array($sql, MYSQL_NUM))
                        {

                            $id = $line[0];
                            $naam = $line[1];
                            echo'<option value='.$id.'>'.$naam.'</option>';
                        }

                ?>

</select>
<br><br>
</form>
<?php
#####################################################################################################
#          Genereer lijst van alle producten die men kan bestellen + invulvak voor aantal
#####################################################################################################

?>

<table border="1">
<form>
            <?php
            $p
= "SELECT ProductId,ProductOmschrijving, ProductPrijs FROM tblproducten";
            $sql1 = mysql_query($p);
                        while($line1 = mysql_fetch_array($sql1, MYSQL_NUM))
                        {

                        $productid = $line1[0];
                        $productomschrijving = $line1[1];
                        $productprijs = $line1[2];
                        echo '
                                <tr>
                                <td>'
.$productomschrijving.'</td>
                                <td>'
.$productprijs.'</td>
                                <td> <input type="text" name="aantal"> </td>
                                </tr>
                            '
;

            }

            $aantal = $_POST['aantal'];
            ?>

</form>
</table>
<form name="aankopen" action="<?php echo $PHP_SELF;?>" method="post">
<input type="submit" name="bevestig" value="Bevestig Aankoop">
</form>
            <?php
            
            if (isset($_POST['bevestig']))
                {

                    $a = "INSERT INTO tblaankopen (ProductId,Aantal,KlantId) VALUES ('$productid','$aantal','$id')";
                    $sql2 = mysql_query($a);
                }

                
            
            ?>


Ok ik heb wat geprobeerd.
wat werkt ?
- het genereert mijn drobdownbox
- het geeft mij de lijst van de producten correct weer

wat werkt niet ?
- het schrijft deels weg in tbl aankopen maar de userid blijft altijd 1
- hij schrijft telkens alleen het laatste product weg
- hij schrijft het aantal niet weg

Kan iemand me nu wat verder opweg zetten? Ik heb hier al tijdje aan zitten klooien maar zo ervaren ben ik nog niet. ben nog maar korte tijd bezig eigenlijk. Hopelijk is uitleg duidelijk genoeg ! Alvast Bedankt
 
Kristof s

Kristof s

09/02/2007 16:06:00
Quote Anchor link
niemand een reactie ? :s
 



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.