I guiden laver man en side hvor man kan bestille, og en side hvor det man har bestilt er (indkøbskurven). jeg har lavet en test her: http://ftpsite.h4f.dk/test/products.php
Hvis I prøver at bestille noget, kommer i hen til indkøbskurven. Mit problem er at jeg ikke kan få sendt den liste med det der er bestilt til min email. Har I nogen ide om hvordan jeg gør?
hmm, det lyder meget fornuftigt, men jeg ved ikke lige hvordan man gør... vil du hjælpe mig med at lave det?
Synes godt om
Slettet bruger
24. april 2003 - 14:11#3
hmmm... nu ved jeg jo ikke lige hvordan dine tabeller er sat sammen!!! Men noget i den her stil: -------------------------------- $sql = "select * from varer where buyer=$buyer_id"; $result = mysql_query($sql); $content = "Et eller andet er bestilt:\n"; while($row=mysql_fetch_array($result)) { $content .= $row[antal]." ".$row[navn]." ".$row[pris]."\n"; } mail($dinmail,"titel", $content);
og din server skal have forbindelse til en smtp-server!
her er noget info du måske kan bruge: $dbServer = "localhost"; $dbUser = "ftpsite"; $dbPass = "************"; $dbName = "ftpsite";
Når man trykker "add item" tilføjer den itemId til et table kaldet cart, hvor der er følgende rækker: cartId int(3) cookieId varchar(50) itemId int(11) qty int(11)
Jeg tror at den række vi skal bruge er itemId, for der står der Id'et for den vare der er tilføjet.
Synes godt om
Slettet bruger
24. april 2003 - 14:23#5
Jeg går udfra at du har connected til databasen i forvejen.... ------------------------------------- $sql = "select * from cart where cookieId='".$_COOKIE[cookieId]."'"; $result = mysql_query($sql); $content = "Et eller andet er bestilt:\n"; while($row=mysql_fetch_array($result)) { $content .= $row[qty]." stk. af VareId".$row[itemId]."\n"; } mail($dinmail,"titel", $content);
Du har nok også en række som hedder items eller noget i den stil!?
der er et table der hedder items, hvor der er disse rækker: itemId int(11) itemName varchar(50) itemDesc varchar(250) itemPrice decimal(4,2)
Synes godt om
Slettet bruger
24. april 2003 - 14:31#7
$sql = "select i.itemName as navn, i.itemPrice as pris, t.qty as antal, (i.itemPrise * t.qty) as ialt from cart c, items i where c.cookieId='".$_COOKIE[cookieId]."' and c.itemId=i.itemId"; $result = mysql_query($sql); $content = "Et eller andet er bestilt:\n"; while($row=mysql_fetch_array($result)) { $content .= $row[antal]." stk. ".$row[navn]." til ".$row[pris]." i alt:".$row[ialt]."\n"; } mail($dinmail,"titel", $content);
switch($_GET["action"]) { case "add_item": { AddItem($_GET["id"], $_GET["qty"]); ShowCart(); break; } case "update_item": { UpdateItem($_GET["id"], $_GET["qty"]); ShowCart(); break; } case "remove_item": { RemoveItem($_GET["id"]); ShowCart(); break; } default: { ShowCart(); } }
function AddItem($itemId, $qty) { // Will check whether or not this item // already exists in the cart table. // If it does, the UpdateItem function // will be called instead
global $dbServer, $dbUser, $dbPass, $dbName;
// Get a connection to the database $cxn = @ConnectToDb($dbServer, $dbUser, $dbPass, $dbName);
// Check if this item already exists in the users cart table $result = mysql_query("select count(*) from cart where cookieId = '" . GetCartId() . "' and itemId = $itemId"); $row = mysql_fetch_row($result); $numRows = $row[0];
if($numRows == 0) { // This item doesn't exist in the users cart, // we will add it with an insert query
@mysql_query("insert into cart(cookieId, itemId, qty) values('" . GetCartId() . "', $itemId, $qty)"); } else { // This item already exists in the users cart, // we will update it instead
UpdateItem($itemId, $qty); } }
function UpdateItem($itemId, $qty) { // Updates the quantity of an item in the users cart. // If the qutnaity is zero, then RemoveItem will be // called instead
global $dbServer, $dbUser, $dbPass, $dbName;
// Get a connection to the database $cxn = @ConnectToDb($dbServer, $dbUser, $dbPass, $dbName);
if($qty == 0) { // Remove the item from the users cart RemoveItem($itemId); } else { mysql_query("update cart set qty = $qty where cookieId = '" . GetCartId() . "' and itemId = $itemId"); } }
function RemoveItem($itemId) { // Uses an SQL delete statement to remove an item from // the users cart
global $dbServer, $dbUser, $dbPass, $dbName;
// Get a connection to the database $cxn = @ConnectToDb($dbServer, $dbUser, $dbPass, $dbName);
mysql_query("delete from cart where cookieId = '" . GetCartId() . "' and itemId = $itemId"); }
function ShowCart() { // Gets each item from the cart table and display them in // a tabulated format, as well as a final total for the cart
global $dbServer, $dbUser, $dbPass, $dbName;
// Get a connection to the database $cxn = @ConnectToDb($dbServer, $dbUser, $dbPass, $dbName);
$totalCost = 0; $result = mysql_query("select * from cart inner join items on cart.itemId = items.itemId where cart.cookieId = '" . GetCartId() . "' order by items.itemName asc"); ?> <html> <head> <title> Your Shopping Cart </title> <script language="JavaScript">
function UpdateQty(item) { itemId = item.name; newQty = item.options[item.selectedIndex].text;
?> <?php $sql = "select i.itemName as navn, i.itemPrice as pris, t.qty as antal, (i.itemPrise * t.qty) as ialt from cart c, items i where c.cookieId='".$_COOKIE[cookieId]."' and c.itemId=i.itemId"; $result = mysql_query($sql); $content = "Et eller andet er bestilt:\n"; while($row=mysql_fetch_array($result)) { $content .= $row[antal]." stk. ".$row[navn]." til ".$row[pris]." i alt:".$row[ialt]."\n"; } mail(andhansen@yahoo.com,"titel", $content); ?>
Synes godt om
Slettet bruger
24. april 2003 - 14:41#11
mail("andhansen@yahoo.com","titel", $content);<--- skulle hjælpe.... @ bruges til at undertrykke fejlmeddelelser! f.eks. $var = @implode(".", 20);//Vil ikke give nogen fejlmeddelelse! $var = @implode(".", 20);//Vil give fejlmeddelelse!
så nu er det rettet, men så kommer der en ny fejl: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /disk2/users/ftpsite/test/cart.php on line 229
Synes godt om
Slettet bruger
24. april 2003 - 14:43#13
Prøv at lav en echo $sql; og test det i phpmyadmin eller lav et mini dump af databasen!
hvis jeg sætter echo $sql ind, så skriver den: select i.itemName as navn, i.itemPrice as pris, t.qty as antal, (i.itemPrise * t.qty) as ialt from cart c, items i where c.cookieId='".$_COOKIE[cookieId]."' and c.itemId=i.itemId
hvis jeg skriver echo $result skriver den ikke noget.
$sql = "select i.itemName as navn, i.itemPrice as pris, t.qty as antal, (i.itemPrise * t.qty) as ialt from cart c, items i where c.cookieId='".GetCartId()."' and c.itemId=i.itemId";
hmm jeg kan ikke se nogen ændring... den skriver stadig ikke noget når jeg skriver echo result
Synes godt om
Slettet bruger
24. april 2003 - 15:16#19
hvad får du af echo $sql; ??? prøv at test det output i PHPMYADMIN... Så skulle du gerne få nogle fejlmeddelelser du kan arbejde videre med...
$sql = "select ii.itemName as navn, ii.itemPrice as pris, tt.qty as antal, (ii.itemPrise * tt.qty) as ialt from cart tt, items ii where tt.cookieId='".GetCartId()."' and tt.itemId=ii.itemId";
når jeg skriver echo $sql; så kommer der dette: select i.itemName as navn, i.itemPrice as pris, t.qty as antal, (i.itemPrise * t.qty) as ialt from cart c, items i where c.cookieId='7479c46fcab0d34ff627289a9addfcf6' and c.itemId=i.itemId
Synes godt om
Slettet bruger
24. april 2003 - 15:21#21
hvad hvis du ændrer $sql til det jeg skrev 15:16:15 ???
jeg ved ikke om jeg har gjort det rigtigt, men hvis jeg sætter dette ind i "Kør SQL forspørgsel(er) på database ftpsite" kommer denne fejl:
Fejl
SQL-forespørgsel :
SELECT i.itemName AS navn, i.itemPrice AS pris, t.qty AS antal, (
i.itemPrise * t.qty ) AS ialt FROM cart c, items i WHERE c.cookieId = '".$_COOKIE[cookieId]."' AND c.itemId = i.itemId LIMIT 0 , 30
MySQL returnerede:
Unknown table 't' in field list
Synes godt om
Slettet bruger
24. april 2003 - 15:24#23
$sql = "select ii.itemName as navn, ii.itemPrice as pris, tt.qty as antal, (ii.itemPrise * tt.qty) as ialt from cart tt, items ii where tt.cookieId='".GetCartId()."' and tt.itemId=ii.itemId";
her er 15:16:15: select ii.itemName as navn, ii.itemPrice as pris, tt.qty as antal, (ii.itemPrise * tt.qty) as ialt from cart tt, items ii where tt.cookieId='7479c46fcab0d34ff627289a9addfcf6' and tt.itemId=ii.itemId
$sql = "select ii.itemName as navn, ii.itemPrice as pris, tt.qty as antal, (ii.itemPrise * tt.qty) as ialt from cart tt, items ii where tt.cookieId='".GetCartId(
). "' and tt.itemId=ii.itemId"
MySQL returnerede:
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '$sql = "select ii.itemName as navn, ii.itemPrice as pris, tt.q
Synes godt om
Slettet bruger
24. april 2003 - 15:27#27
select ii.itemName as navn, ii.itemPrice as pris, tt.qty as antal, (ii.itemPrise * tt.qty) as ialt from cart tt, items ii where tt.cookieId='7479c46fcab0d34ff627289a9addfcf6' and tt.itemId=ii.itemId
SELECT ii.itemName AS navn, ii.itemPrice AS pris, tt.qty AS antal, (
ii.itemPrise * tt.qty ) AS ialt FROM cart tt, items ii WHERE tt.cookieId = '7479c46fcab0d34ff627289a9addfcf6' AND tt.itemId = ii.itemId LIMIT 0 , 30
MySQL returnerede:
Unknown column 'ii.itemPrise' in 'field list'
Synes godt om
Slettet bruger
24. april 2003 - 15:30#29
$sql = "select ii.itemName as navn, ii.itemPrice as pris, tt.qty as antal, (ii.itemPrice * tt.qty) as ialt from cart tt, items ii where tt.cookieId='".GetCartId(
). "' and tt.itemId=ii.itemId";<--- ind i scriptet... tag echo resultatet og test i phpmyadmin
skal jeg så lave <?php $sql = "select ii.itemName as navn, ii.itemPrice as pris, tt.qty as antal, (ii.itemPrice * tt.qty) as ialt from cart tt, items ii where tt.cookieId='".GetCartId(). "' and tt.itemId=ii.itemId"; $result = mysql_query($sql); $content = "Et eller andet er bestilt:\n"; while($row=mysql_fetch_array($result)) { $content .= $row[antal]." stk. ".$row[navn]." til ".$row[pris]." i alt:".$row[ialt]."\n"; } mail("andreas@hansen.tdcadsl.dk","titel", $content); ?> som en funktion?
skal den se sådan ud?: function sendmail() { $sql = "select ii.itemName as navn, ii.itemPrice as pris, tt.qty as antal, (ii.itemPrice * tt.qty) as ialt from cart tt, items ii where tt.cookieId='".GetCartId(). "' and tt.itemId=ii.itemId"; $result = mysql_query($sql); $content = "Et eller andet er bestilt:\n"; while($row=mysql_fetch_array($result)) { $content .= $row[antal]." stk. ".$row[navn]." til ".$row[pris]." i alt:".$row[ialt]."\n"; } mail("andreas@hansen.tdcadsl.dk","titel", $content); }
Synes godt om
Slettet bruger
24. april 2003 - 17:11#43
Jepper og så slutte den med: header("location: ".$_SERVER[PHP_SELV]);
Synes godt om
Slettet bruger
24. april 2003 - 17:11#44
Det sidste sørger for at brugeren får vist sit indkøbs kort igen... han bliver sendt videre til en ny side!
nu sender den når jeg trykker på linket... men den sender mig ikke hen til en anden side... kan du ikke lige forklare det der med header("location: ".$_SERVER[PHP_SELV]);
Utrolig som jeg kan: header("location: ".$_SERVER[PHP_SELF]);// <--- HEN TIL SAMME STI
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.