verwijderen product uit winkelwagen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ventilatiesysteem Productontwikkelaar HBO WO Verwa

Samengevat: Zij bieden flexibele ventilatiematerialen, geluidsdempers, rookgasafvoer producten en industrieslangen. Ben jij een technisch productontwikkelaar? Heb jij ervaring met het ontwikkelen van nieuwe producten? Vaste baan: Technisch Productontwikkelaar HBO WO €3.000 - €4.000 Zij bieden een variëteit aan flexibele ventilatiematerialen, geluiddempers, rookgasafvoer producten, industrieslangen en ventilatieslangen voor de scheepsbouw. Met slimme en innovatieve materialen zorgen wij voor een gezonde en frisse leefomgeving. Deze werkgever is een organisatie die volop in ontwikkeling is met hardwerkende collega's. Dit geeft goede ontwikkelingsmogelijkheden. De branche van dit bedrijf is Techniek en Engineering. Functie: Voor de vacature als Technisch Productontwikkelaar Ede Gld HBO WO ga

Bekijk vacature »

Krist Ensing

Krist Ensing

08/05/2013 10:10:09
Quote Anchor link
Ik wil een product uit een winkelwagelwagen verwijderen als de checkbox de waarde true heeft. Helaas krijg ik bij het drukken op de delete knop een foutmelding betreffende de sql-query. De code is als volgt:
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
<?php
if (isset($_POST["Update_x"]))
{


if($_POST['delete'] == "true") {
          
            $strSQL = "delete from tblartikelen, tblorderregels
                     and tblorderregels.Artikelnummer = tblartikelen.Artikelnummer"
;
                        
                        $rs = mysql_query($strSQL, $db);
                        if (!$rs)    
                        
        die("de SQL opdracht is fout<br>" . $strSQL);    // mysql_close($db);
}
header ("Location: winkelwagen.php");

}

?>


Wie ziet wat er fout gaat?
Gewijzigd op 08/05/2013 10:10:39 door Krist Ensing
 
PHP hulp

PHP hulp

15/05/2024 13:50:47
 
Chris -

Chris -

08/05/2013 10:14:24
Quote Anchor link
Je query bevat een fout. Moet zijn:

$strSQL = "DELETE FROM tblorderregels WHERE Artikelnummer = ?";

Waar vraagteken iets van een ID is of iets dergelijks. Je database ziet er in ieder geval niet geoptimaliseerd uit, zoek even naar database normaliseren
 
Albert de Wit

Albert de Wit

08/05/2013 10:15:06
Quote Anchor link
Even je code op orde stellen hoor...

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
if (isset($_POST["Update_x"])){
    if ($_POST['delete'] == "true"){
        $strSQL = "DELETE FROM tblartikelen, tblorderregels AND tblorderregels.Artikelnummer = tblartikelen.Artikelnummer";
                        
        $rs = mysql_query($strSQL, $db);
        if (!$rs){                
            die("de SQL opdracht is fout<br>" . $strSQL);// mysql_close($db);
        }
        header ("Location: winkelwagen.php");
    }
}

?>


Heb je misschien ook het formulier waaruit de waarden komen? Database connectie?
 
Krist Ensing

Krist Ensing

08/05/2013 10:21:15
Quote Anchor link
er is een databaseconnectie, dat is niet het probleem. Het formulier wordt als volgt gevuld:
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
<?php

$SessieId
= (session_id());          
            $strSQL = "select *  from tblartikelen, tblorderregels, tblorder
                        where tblorder.Ordernummer = tblorderregels.Ordernummer
                        and tblorderregels.Artikelnummer = tblartikelen.Artikelnummer
                        and tblorder.SessieId = '$SessieId'"
;
                        $rs = mysql_query($strSQL, $db);
                        if (!$rs)    
        die("agenda.php: de SQL opdracht is fout<br>" . $strSQL);
    
    // Haal alle records 1 voor 1 op zolang er records zijn
    while ($r = mysql_fetch_array($rs))
    {
  

  ?>
    
            <TR><TD class=infoBoxContents vAlign=top
                                align=left><SPAN
                                class=infoBoxContents>                    
                                <?php echo($r["Aantal"]); ?>&nbsp;
</TD>
                                <TD class=infoBoxContents vAlign=top><?php echo($r["Artikelnaam"]); ?></SPAN></TD>
                                
                                </TR><?php } ?></TBODY></TABLE></TD></TR>
                          <TR>
                            <TD class=boxText><IMG border=0 alt=""
                              src="winkelwagen_files/pixel_black.gif"
                              width="100%" height=1></TD></TR>
                            
                          <TR>


[size=xsmall][i]Toevoeging op 08/05/2013 10:23:11:[/i][/size]

Inderdaad , bedankt!
Gewijzigd op 08/05/2013 10:36:19 door Krist Ensing
 
Albert de Wit

Albert de Wit

08/05/2013 10:34:32
Quote Anchor link
vervang de < met een [

Toevoeging op 08/05/2013 10:40:55:

Als je efficient een applicatie wilt schrijven moet je alles ordelijk schrijven. Dus de tab gebruiken om lijntjes op dezelfde lijn te krijgen zodat duidelijk is welke lijntjes onder welke parent/statement/loop horen, geen hoofdletters in variabelen gebruiken, commando's in je query met hoofdletters schrijven.

Je formulier is geen formulier...
 
Krist Ensing

Krist Ensing

08/05/2013 11:35:28
Quote Anchor link
Je hebt gelijk wat betreft het ordelijk schrijven. De opdracht is echter om een bestaande pagina met html en css werkbaar te maken met php, dus de html heb ik niet gebouwd en is inderdaad prut.

Je hebt gelijk dat ik niet het formulier hebt gestuurd. Dit is het formulier:
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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
<FORM method=post name="cart_quantity" action="<?php echo $_SERVER["PHP_SELF"] ?>">
              



            <TABLE border=0 cellSpacing=0 cellPadding=0 width="100%">
              <TBODY>
              <TR>
                <TD><INPUT value=1 type=hidden name=id[35{1}1][1]>
                  <TABLE class=productListing border=0 cellSpacing=0
                  cellPadding=2 width="100%">
                    <TBODY>
                    <TR>
                      <TD class=infoBoxHeading3 align=middle>Verwijder</TD>
                      <TD class=infoBoxHeading3>Artikel(en)</TD>
                      <TD class=infoBoxHeading3 align=middle>Aantal</TD>
                      <TD class=infoBoxHeading3
                      align=right>Totaal&nbsp;&nbsp;</TD></TR>
                <?php

$SessieId
= (session_id());          
            $strSQL = "select *  from tblartikelen, tblorderregels, tblorder
                        where tblorder.Ordernummer = tblorderregels.Ordernummer
                        and tblorderregels.Artikelnummer = tblartikelen.Artikelnummer
                        and tblorder.SessieId = '$SessieId'"
;
                        $rs = mysql_query($strSQL, $db);
                        if (!$rs)    
        die("agenda.php: de SQL opdracht is fout<br>" . $strSQL);
    
    // Haal alle records 1 voor 1 op zolang er records zijn
    while ($r = mysql_fetch_array($rs)) {  
  ?>
    
                    
                    <TR class=productListing-even>
                                                              
                      <TD class=productListing-data vAlign=top
                        align=middle><br><br>
                        
                        <INPUT type="checkbox" name="delete" value="true"></TD>
                      <TD class=productListing-data><BR>
                        <TABLE border=0 cellSpacing=2 cellPadding=2>
                          <TBODY>

                          
                          <TR>
                            <TD class=productListing-data align=middle><A
                              href="http://www.mijnoscommerce.nl/demo/shop1/product_info.php?products_id=35{1}1"><IMG
                              title="<?php echo($r["Artikelnaam"]); ?>" border=0
                              alt"<?php echo($r["Artikelnaam"]); ?>"
                              src="images/<?php echo($r["Afbeelding"]); ?>" width=100 height=80></A></TD>
                            <TD class=productListing-data vAlign=top><BR><A
                              href="http://www.mijnoscommerce.nl/demo/shop1/product_info.php?products_id=35{1}1"><B>
                              <?php echo($r["Artikelnaam"]); ?></B></A><SPAN
                              class=markProductOutOfStock></SPAN><BR><SMALL><I>-
                              Kleur Zwart</I></SMALL> </TD></TR></TBODY></TABLE></TD>
                      <TD class=productListing-data vAlign=top
                        align=middle><BR><BR><INPUT
                        onblur=document.cart_quantity.submit(); value="<?php echo($r["Aantal"]); ?>" size=4
                        name=cart_quantity[]><INPUT value=35{1}1 type=hidden
                        name=products_id[]></TD>
                      <TD class=productListing-data vAlign=top
                        align=right><BR><BR><B>&euro; <?php echo ($r["Aantal"])*($r["Prijs"]) ; ?>
                    </B>&nbsp;&nbsp;</TD></TR>
                        <?php         }     ?>
                    </TBODY></TABLE></TD></TR>
    
              <TR>
                <TD><IMG border=0 alt=""
                  src="winkelwagen_files/pixel_trans.gif" width="100%"
                height=10></TD></TR>
              <TR>
            <?php
            
            $strSQL
= "select SUM(Aantal*Prijs) as Subtotaal from tblorderregels
                        join tblorder
                        where tblorder.Ordernummer = tblorderregels.Ordernummer
                        and tblorder.SessieId = '$SessieId'"
;
                        $rs = mysql_query($strSQL, $db);
if (!$rs) {
die("de SQL opdracht is fout<br>" . $strSQL);
}

$r = mysql_fetch_array($rs);
mysql_freeresult($rs);
$Subtotaal = $r["Subtotaal"]    ;
?>

                <TD class=main align=right><B>Subtotaal: . <?php echo $Subtotaal ; ?>
                </B>&nbsp;&nbsp;</TD></TR>
        
              <TR>
                <TD class=stockWarning align=middle><BR></TD></TR>
              <TR>
                <TD><IMG border=0 alt=""
                  src="winkelwagen_files/pixel_trans.gif" width="100%"
                height=10></TD></TR>
                
              <TR>
                <TD>
                  <TABLE class=infoBox2 border=0 cellSpacing=1 cellPadding=2
                  width="100%">
                    <TBODY>
                    <TR class=infoBoxContents>
                      <TD>
                        <TABLE border=0 cellSpacing=0 cellPadding=2
width="100%">
                          <TBODY>
                          <TR>
                            <TD width=10><IMG border=0 alt=""
                              src="winkelwagen_files/pixel_trans.gif" width=10
                              height=1></TD>
                            <TD class=main>
                            
                            <INPUT name="Update"
                              border=0 alt="Update Winkelwagen"
                              src="winkelwagen_files/button_update_cart.gif"
                              type=image></TD>
                            <TD class=main><A
                              href="index.php    "><IMG
                              title=" Verder winkelen " border=0
                              alt="Verder winkelen"
                              src="winkelwagen_files/button_continue_shopping.gif"
                              width=129 height=16></A></TD>
                            <TD class=main align=right>
                            
                              
                              <INPUT type="image" alt="Afrekenen" name="Afrekenen"
                              src="winkelwagen_files/button_checkout.gif"
                              width=86 height=16></TD>
                            <TD width=10><IMG border=0 alt=""
                              src="winkelwagen_files/pixel_trans.gif" width=10
                              height=1></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></FORM>
 
Albert de Wit

Albert de Wit

08/05/2013 11:51:42
Quote Anchor link
Heb je ook de moeite genomen om naar Chris zijn antwoord te kijken?
Gewijzigd op 08/05/2013 11:52:44 door Albert de Wit
 
Krist Ensing

Krist Ensing

08/05/2013 11:56:10
Quote Anchor link
Ja, daar heb ik naar gekeken. Ik heb geprobeerd om het artikelnummer in een variabele te zetten en dan in de delete-query te plaatsen:
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
<?php
if (isset($_POST["Update_x"])){

    if ($_POST['delete'] == "true"){
        $strSQL = "select Artikelnummer from tblorderregels";
$rs = mysql_query($strSQL, $db);
if (!$rs) {
die("de SQL opdracht is fout<br>" . $strSQL);
$Artikenummer = $r['Artikelnummer'];
}

        $strSQL = "DELETE * FROM tblorderregels where Artikelnummer = '$Artikenummer' ";
        
        $rs = mysql_query($strSQL, $db);
        if (!$rs){                
            die("de SQL opdracht is fout<br>" . $strSQL);// mysql_close($db);
?>


Dit werkt helaas niet. Ik weet niet hoe ik anders het juiste artikelnummer moet 'vangen'.
Gewijzigd op 08/05/2013 11:57:06 door Krist Ensing
 
Albert de Wit

Albert de Wit

08/05/2013 12:01:57
Quote Anchor link
Sorry, maar ik denk niet dat je over voldoende kennis van PHP beschikt om zo'n opdracht te maken. Ik raad je eerder wat tutorials aan voordat je dit soort dingen bij een forum neerlegt. Wat je namelijk doet is vragen om antwoorden om iets af te maken. Zo leer je het nooit zelf.
 
Krist Ensing

Krist Ensing

08/05/2013 12:02:45
Quote Anchor link
ok
 



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.