25. juli 2007 - 16:23
Der er
16 kommentarer og 1 løsning
add item to cart.php
Jeg stillede det her spørgsmål lidt tidligere men prøver lige at gøre det lidt mere overskueligt =) I hver linie af produkter er der to faktorer, der kan variere: dropdown menuen med forskellige overflader "surfacenavn" og antallet af hvert produkt man ønsker. Det jeg har brug for er så at når man trykker på indkøbskurv ikonet skal den hente data fra dropdown menuen "select1" og fra antallet "qty" og sende sammen med resten i følgende sætning: a href="cart.php?action=add_item&id=' . $row["id"] . '&qty=1"><img src="gfx/cart.gif" width="21" height="17" border="0"></a> Her skal &qty=1 så skiftes ud med noget, og her kan jeg ikke lige følge med selv =) Herunder selve koden for scriptet: <?php if($action=="ny"){ echo '<table width="100%" border="0" cellspacing="0" cellpadding="0">'; echo '<tr><td colspan="10"><span class=headline>Artikler fra gruppen: ' . $_GET["varetype"] . '</span><br><br></td></tr>'; echo '<tr><td colspan="10"><img src="billeder/varetyper/' . $row2["pic"] . '"><br><br><br></td></tr>'; echo '<tr><td colspan="10">Tryk på indkøbskurven udfor de artikler du ønsker. Antallet kan altid ændres senere.<br><br><br></td></tr>'; echo '<tr><td align="left">Vare nr.</td><td align="left" width="50%">Beskrivelse</td><td align="right">Dimension</td><td align="right">Overflader</td><td align="right">Enhed</td><td align="right">Antal</td><td align="right">Pris</td><td align="right"> Prisenhed</td><td></td><td align="center">Tilføj artikel</td><td></td></tr>'; echo '<tr><td colspan="10"><img src="gfx/brown_dot.gif" width="100%" height="1"></td><td></td></tr>'; while($row = mysql_fetch_array($query1)) { echo '<tr><td align="left">' . $row["varenr"] . '</td><td align="left" width="50%">' . $row["beskrivelse"] . '</td><td align="right">' . $row["dimension"] . '</td><td align="right"><select name="select1">'; $query3 = mysql_query("SELECT * FROM shop_surface_dd WHERE varenr=" . $row["varenr"] . "")or die(mysql_error()); while($row3 = mysql_fetch_array($query3)) { echo '<option>' . $row3["surfacenavn"] . '</option>'; } echo '</select></td><td align="right">' . $row["enhed"] . '</td><td align="right"><input type="text" name="qty" size="3" value="1"></td><td align="right">' . number_format($row["pris"], 2, ",", ".") . ' kr.</td><td align="right"> ' . $row["prisenhed"] . '</td><td></td><td align="center"><a href="cart.php?action=add_item&id=' . $row["id"] . '&qty=' . . '"><img src="gfx/cart.gif" width="21" height="17" border="0"></a></td><td></td></tr>'; } echo '</table>'; } ?> På forhånd tak!
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
Du er inde og bruge elementer fra en form, så det kunne lave sådan her: <?php if($action=="ny") { echo '<table width="100%" border="0" cellspacing="0" cellpadding="0">'; echo '<tr><td colspan="10"><span class=headline>Artikler fra gruppen: ' . $_GET["varetype"] . '</span><br><br></td></tr>'; echo '<tr><td colspan="10"><img src="billeder/varetyper/' . $row2["pic"] . '"><br><br><br></td></tr>'; echo '<tr><td colspan="10">Tryk på indkøbskurven udfor de artikler du ønsker. Antallet kan altid ændres senere.<br><br><br></td></tr>'; echo '<tr><td align="left">Vare nr.</td><td align="left" width="50%">Beskrivelse</td><td align="right">Dimension</td><td align="right">Overflader</td><td align="right">Enhed</td><td align="right">Antal</td><td align="right">Pris</td><td align="right"> Prisenhed</td><td></td><td align="center">Tilføj artikel</td><td></td></tr>'; echo '<tr><td colspan="10"><img src="gfx/brown_dot.gif" width="100%" height="1"></td><td></td></tr>'; while($row = mysql_fetch_array($query1)) { echo '<form action="cart.php?action=add_item" method="get">'; echo '<input type="hidden" name="id" value="'.$row['id'].'">'; echo '<tr><td align="left">' . $row["varenr"] . '</td><td align="left" width="50%">' . $row["beskrivelse"] . '</td><td align="right">' . $row["dimension"] . '</td><td align="right"><select name="select1">'; $query3 = mysql_query("SELECT * FROM shop_surface_dd WHERE varenr=" . $row["varenr"] . "")or die(mysql_error()); while($row3 = mysql_fetch_array($query3)) { echo '<option>' . $row3["surfacenavn"] . '</option>'; } echo '</select></td><td align="right">' . $row["enhed"] . '</td><td align="right"><input type="text" name="qty" size="3" value="1"></td><td align="right">' . number_format($row["pris"], 2, ",", ".") . ' kr.</td><td align="right"> ' . $row["prisenhed"] . '</td><td></td><td align="center"><a href="cart.php?action=add_item&id=' . $row["id"] . '&qty=' . . '"><img src="gfx/cart.gif" width="21" height="17" border="0"></a></td><td></td></tr>'; echo '<tr><td><input type="submit" value="indkøbskurv ikon"></td></tr>'; } echo '</table>'; } ?>
Det ser meget fornuftigt ud,.. men nu kommer der et måske dumt spørgsmål,.. kan man lave den der kæmpe <input type="submit" value="indkøbskurv ikon"> knap som et fint lille stykke grafik? =)
Ja, du burde kunne lave: <input type="image" src="gfx/cart.gif" value="Submit" alt="Submit">
så blev knappen en lille fin grafik dimmer :D men jeg forstår ikke rigtig denne linie: echo '<input type="hidden" name="id" value="'.$row['id'].'">'; skal vi ikke ha puttet id ind i <form action="cart.php?action=add_item" ? Så der kommer til at står cart.php?action=add_item&id=$row['id'] på en eller andet måde?
Det gør vi netop med feltet hidden
jeg er ikke helt sikker på den gør det, hvis jeg holder musen over cart.gif så står der bare: cart.php?action=add_item og intet andet,.. der skulle den da gerne skrive: cart.php?action=add_item&id=idnr&select1=envalgtoverflade Kan det ikke passe?
Ja! Prøv at klik på knappen.
ahh great sry my bad... glemte at se i selve adresselinien =) /me er pinligt berørt nu =) ud over de ting jeg skal bruge kommer der også &x=10&y=9 derudover hvis der er mere end én vare på siden kommer alle varerne med i strengen dvs. jeg trykker på vare ét men vare to følger samtidig med... =( Jeg smider lige hele scriptet med her igen for jeg har lavet et par ændringer og tilføjet dine scripts: <?php if($action=="ny"){ echo '<table width="100%" border="0" cellspacing="0" cellpadding="0">'; echo '<tr><td colspan="8"><a href="java script:history.go(-1);"><< Gå tilbage til produktgruppe oversigten</a><br><br><br></td></tr>'; echo '<tr><td colspan="8"><span class=headline>Artikler fra gruppen: ' . $_GET["varetype"] . '</span><br><br></td></tr>'; echo '<tr><td colspan="8"><img src="billeder/varetyper/' . $row2["pic"] . '"><br><br><br></td></tr>'; echo '<tr><td colspan="8">Tryk på indkøbskurven udfor de artikler du ønsker. Antallet kan altid ændres senere.<br><br><br></td></tr>'; echo '<tr><td align="left">Vare nr.</td><td align="left" width="50%">Beskrivelse</td><td align="right">Dimension</td><td align="right">Overflader</td><td align="right">Enhed</td><td align="right">Antal</td><td></td><td align="center">Tilføj artikel</td><td></td></tr>'; echo '<tr><td colspan="8"><img src="gfx/brown_dot.gif" width="100%" height="1"></td><td></td></tr>'; while($row = mysql_fetch_array($query1)) { echo '<form action="cart.php?action=add_item" method="get">'; echo '<input type="hidden" name="itemId" value="'.$row['itemId'].'">'; echo '<tr><td align="left">' . $row["varenr"] . '</td><td align="left" width="50%">' . $row["beskrivelse"] . '</td><td align="right">' . $row["dimension"] . '</td><td align="right"><select name="surfacenavn">'; $query3 = mysql_query("SELECT * FROM shop_surface_dd WHERE varenr=" . $row["varenr"] . "")or die(mysql_error()); while($row3 = mysql_fetch_array($query3)) { echo '<option>' . $row3["surfacenavn"] . '</option>'; } echo '</select></td><td align="right">' . $row["enhed"] . '</td><td align="right"><INPUT onkeypress="return isNumberKey(event)" type="text" name="qty" value="1" size="3"></td><td></td><td align="center"><input type="image" src="gfx/cart.gif" value="Submit" alt="Submit"></td><td></td></tr>'; echo '<tr><td colspan="8"> </td></tr>'; echo '<tr><td colspan="8"><img src="gfx/brown_dot.gif" width="100%" height="1"></td><td></td></tr>'; echo '<tr><td colspan="8"> </td></tr>'; } echo '<td></td><td></td></tr></table>'; } ?>
Så ville jeg nok lave noget i stil med: <?php if($action=="ny") { echo '<form action="cart.php?action=add_item" method="post">'; echo '<table width="100%" border="0" cellspacing="0" cellpadding="0">'; echo '<tr><td colspan="8"><a href="java script:history.go(-1);"><< Gå tilbage til produktgruppe oversigten</a><br><br><br></td></tr>'; echo '<tr><td colspan="8"><span class=headline>Artikler fra gruppen: ' . $_GET["varetype"] . '</span><br><br></td></tr>'; echo '<tr><td colspan="8"><img src="billeder/varetyper/' . $row2["pic"] . '"><br><br><br></td></tr>'; echo '<tr><td colspan="8">Tryk på indkøbskurven udfor de artikler du ønsker. Antallet kan altid ændres senere.<br><br><br></td></tr>'; echo '<tr><td align="left">Vare nr.</td><td align="left" width="50%">Beskrivelse</td><td align="right">Dimension</td><td align="right">Overflader</td><td align="right">Enhed</td><td align="right">Antal</td><td></td><td align="center">Tilføj artikel</td><td></td></tr>'; echo '<tr><td colspan="8"><img src="gfx/brown_dot.gif" width="100%" height="1"></td><td></td></tr>'; while($row = mysql_fetch_array($query1)) { echo '<tr><td align="left">' . $row["varenr"] . '</td><td align="left" width="50%">' . $row["beskrivelse"] . '</td><td align="right">' . $row["dimension"] . '</td><td align="right"><select name="surfacenavn['.$row['id'].']">'; $query3 = mysql_query("SELECT * FROM shop_surface_dd WHERE varenr=" . $row["varenr"] . "")or die(mysql_error()); while($row3 = mysql_fetch_array($query3)) { echo '<option>' . $row3["surfacenavn"] . '</option>'; } echo '</select></td><td align="right">' . $row["enhed"] . '</td><td align="right"><INPUT onkeypress="return isNumberKey(event)" type="text" name="qty['.$row['id'].']" value="1" size="3"></td></tr>'; echo '<tr><td colspan="8"> </td></tr>'; echo '<tr><td colspan="8"><img src="gfx/brown_dot.gif" width="100%" height="1"></td><td></td></tr>'; echo '<tr><td colspan="8"> </td></tr>'; } echo '<tr><td colspan="8" align="center"><input type="image" src="gfx/cart.gif" value="Submit" alt="Submit"></td></tr>'; echo '</table>'; echo '</form>'; } ?>
26. juli 2007 - 16:41
#10
uhm med det sidste script,.. kommer der først kun et indkøbskurv logo frem for neden i form`en. Det rettede jeg så det kom ud for hvert produkt. Men ingen af de to metoder sender itemId og/eller surfacenavn videre. Noget helt andet er at jeg ikke helt kan forstå hvorfor den første løsning du lavede sender alle varene videre... me no get?! =)
26. juli 2007 - 17:41
#11
Min sidste løsning smider det nu videre med POST, så der skal du rette din cart.php fra $_GET til $_POST Det er nemmere når vi snakker store mængder data som skal sendes. $_GET har en begrænsning på 1024 mener jeg.
26. juli 2007 - 18:12
#12
hmm jeg kan altså ikke få den til at smide det videre med post, har rettet det i cart.php men så vidt jeg kan se har jeg fået dem alle rettet. Men hvis jeg laver dit nye script om til GET sender den fint data videre men der kommer alle produkterne stadig med i adresse linien =( Jeg forstår stadig intet... må jeg uploade filerne til dig eller noget?
26. juli 2007 - 18:25
#13
Så fang mig hellere på msn: jakobdo (at) hotmail [dot] com
29. juli 2007 - 12:15
#14
Og løsningen blev: if($action=="ny") { echo '<table width="100%" border="0" cellspacing="0" cellpadding="0">'; echo '<tr><td colspan="8"><a href="java script:history.go(-1);"><< Gå tilbage til produktgruppe oversigten</a><br><br><br></td></tr>'; echo '<tr><td colspan="8"><span class=headline>Artikler fra gruppen: ' . $_GET["varetype"] . '</span><br><br></td></tr>'; echo '<tr><td colspan="8"><img src="billeder/varetyper/' . $row2["pic"] . '"><br><br><br></td></tr>'; echo '<tr><td colspan="8">Tryk på indkøbskurven udfor de artikler du ønsker. Antallet kan altid ændres senere.<br><br><br></td></tr>'; echo '<tr><td align="left">Vare nr.</td><td align="left" width="50%">Beskrivelse</td><td align="right">Dimension</td><td align="right">Overflader</td><td align="right">Enhed</td><td align="right">Antal</td><td></td><td align="center">Tilføj artikel</td><td></td></tr>'; echo '<tr><td colspan="8"><img src="gfx/brown_dot.gif" width="100%" height="1"></td><td></td></tr>'; while($row = mysql_fetch_array($query1)) { echo '<form action="cart.php?action=add_item" method="get">'; echo '<input type="hidden" name="itemId" value="'.$row['itemId'].'">'; echo '<tr><td align="left">' . $row["varenr"] . '</td><td align="left" width="50%">' . $row["beskrivelse"] . '</td><td align="right">' . $row["dimension"] . '</td><td align="right"><select name="surfacenavn['.$row['id'].']">'; $query3 = mysql_query("SELECT * FROM shop_surface_dd WHERE varenr=" . $row["varenr"] . "")or die(mysql_error()); while($row3 = mysql_fetch_array($query3)) { echo '<option>' . $row3["surfacenavn"] . '</option>'; } echo '</select></td><td align="right">' . $row["enhed"] . '</td><td align="right"><INPUT onkeypress="return isNumberKey(event)" type="text" name="qty['.$row['id'].']" value="1" size="3"></td><td></td><td align="center"><input type="image" src="gfx/cart.gif" value="Submit" alt="Submit"></td></tr>'; echo '<tr><td colspan="8"> </td></tr>'; echo '</form>'; echo '<tr><td colspan="8"><img src="gfx/brown_dot.gif" width="100%" height="1"></td><td></td></tr>'; echo '<tr><td colspan="8"> </td></tr>'; } echo '<tr><td colspan="8" align="center"></td></tr>'; echo '</table>'; } ?> Det var bare en forkert placering af <form> tags =) Tak for hjælpen jakobdo, smider du lige et svar :D
29. juli 2007 - 12:41
#15
Svar!
29. juli 2007 - 13:16
#16
Takker for point.
29. juli 2007 - 18:32
#17
no problemo =) forresten var den sidste del af mit problem at action=add_item ikke kom med... Dvs. følgende linie bliver "glemt"? echo '<form action="cart.php?action=add_item" method="get">'; Derfor smed jeg følgende linie ind under, hvorefter det virker. Sikkert ikke den rigtige løsning men indtil videre må det være godt nok: echo '<input type="hidden" name="action" value="add_item">';
Vi tilbyder markedets bedste kurser inden for webudvikling