Forkerte oplysninger sendes via mail
Hej,I min webshop sendes der automatisk en mail til mig, når en ny ordre er gået igennem. I forbindelse med implementering af en produktkonfigurator, ønsker jeg at få tilføjet kundernes valg af konfigurationer på en ny linie lige under hovedvaren. Det fungerer fint nok, når jeg udskriver til skærm, men i min mail sendes kun de konfigurationer, der har med den sidste vare at gøre, og disse konfigurationer står ud for alle varerne - dvs sidste varens konfiguration overskriver alle de andre varers konfigurationer.
Kan I følge mig?
Herunder er scriptet, der definerer varekurven til senere brug i mail():
// Definerer bestillingen
include("admin/connect.php");
$bestilling = "$shoptekster[antal]\t\t$shoptekster[varetekst]\t\t$shoptekster[pris_stk]\t$shoptekster[pris_i_alt]\n";
$varer = array();
$konfigurationer = array();
$kurvensindhold = mysql_query("SELECT * FROM varekurv WHERE ordrenr = '$alinfo[ordrenr]'");
while($kurv = mysql_fetch_array($kurvensindhold)) {
$pris_total = $kurv[antal]*$kurv[pris];
$q_varenavn = mysql_query("SELECT varenavn FROM varer_flex WHERE vareid = '$kurv[vareid]' AND sprogid = '$sprog'"); // Jeg tror godt du kan spare denne query væk og joine dig til den i $kurvensindhold
$varenavn = mysql_fetch_assoc($q_varenavn);
$kurv['varenavn'] = $varenavn['varenavn'];
$varer[$kurv['id']] = $kurv; // Brug samme nøgle i begge arrays
if($_SESSION[konfigurator] == '1') {
// Henter eventuelle konfigurationer
$q_konfemner = mysql_query("SELECT * FROM varekurv_konf INNER JOIN konfiguratoremner ON varekurv_konf.emneid = konfiguratoremner.konfemne_id WHERE varekurv_konf.id_varekurv = '$kurv[id]'");
while($konfemner = mysql_fetch_assoc($q_konfemner)) {
$konfigurationer[$kurv['id_varekurv']] = $konfemner; // Brug samme nøgle i begge arrays
}
}
}
mysql_close($connection);
foreach($varer as $kurv) {
if($kurv[antal] == '0.50') { // Tager højde for ikke-antalsafhængige emner
$pris_total = $kurv[pris];
} else {
$pris_total = $kurv[antal]*$kurv[pris];
}
$bestilling .= $kurv['antal']."\t\t".$kurv['varenavn']."\t\t".number_format($kurv['pris'], 2, ',','.')."\t".number_format($pris_total, 2, ',','.')."\n";
if(!empty($konfigurationer[$kurv['id_varekurv']])) { // Tilføj et isset() check hvis du kører strict
$konfemner = $konfigurationer[$kurv['id_varekurv']];
if($konfemner[antal] < '1') {
$emneantal = '';
$emneantal_beregning = 1;
} else {
$emneantal = number_format($konfemner[antal], 0,',','.');
}
if($konfemner[pris] > '0') {
$pris = number_format($konfemner[pris], 2,',','.');
} else {
$pris = '';
}
if(($pris*$emneantal) > '0') {
$pris_ia = number_format(($pris*$emneantal), 2,',','.');
} else {
$pris_ia = '';
}
if($emneantal_beregning == 1) { // Overstyrer beregningen ovenfor, så prisen ikke bliver halveret (antal = 0.50)
if(($pris*$emneantal_beregning) > '0') {
$pris_ia = number_format(($pris*$emneantal), 2,',','.');
} else {
$pris_ia = '';
}
}
$bestilling .= $emneantal."\t\t".$konfemner[emnenavn]."\t\t".$pris."\t".$pris_ia."\n";
}
}
