Avatar billede snigeren Nybegynder
13. november 2007 - 17:57 Der er 6 kommentarer og
1 løsning

hjælp til en foreach

Jeg har min foreach herunder,.. Den virker næsten som den skal, indimellem har jeg bare brug for at hente "cartId" fra min cart tabel i DB´en. Hvordan henter jeg "cartId" ud for hver vare der er i carten?

foreach($_POST['frilaengde'] AS $id => $frilaengde) 
{
  mysql_query("update cart set frilaengdecart = '" . $frilaengde . "' where mixId = '" . $id . "' LIMIT 1") or die(mysql_error()); 
}


Scriptene bliver brugt til at opdatere indkøbskurven, selve input feltet ser således ud:

<input onkeypress="return isNumberKey(event)" type="text" name="frilaengde[<?php echo $row["mixId"]; ?>]" size="30" value="<?php
if($row["enhed"]=="9999" && $row["frilaengdecart"]==false){
  echo "husk, skriv det ønskede mål her!";
}else {
  echo $row["frilaengdecart"];
}
?>">
Avatar billede majbom Novice
14. november 2007 - 12:47 #1
er cartId ikke det samme for alle varer i samme "cart" - eller er det bare mig der mener det lyder logisk?
Avatar billede snigeren Nybegynder
14. november 2007 - 17:03 #2
Uhm altså lige nu er cart´en egentlig lidt dum for den gemmer alt indhold i en database hvilket giver et problem med for mange entries hvis kunden fortryder og slukker browseren uden at slette eller færdiggøre bestillingen så bliver varerne i kurven. =(  men det skal jeg nok have lavet om til at gemme kurven i sessions.

Men lige nu skal jeg bare have det til at fungere og så lave det om senere, men felterne i cart tabellen ser således ud:

cartId    (bare et fortløbende id nummer med autoincrement)
cookieId 
itemId 
mixId 
qty 
enhed 
frilaengdecart 
surfacenavn 
farvekode 
kommentar


Så var det jeg tænkte om ikke man kunne blande det cartId nummer ind i min foreach, for problemet er at man kan lægge nøjagtigt den samme vare i indkøbskurven flere gang med den lille forskel at længden ikke er den samme. Og som det er nu virker "opdater" ikke hvis jeg har lagt to af den samme vare med forskellig længde i kurven så bliver kun den ene opdateret.
Avatar billede majbom Novice
15. november 2007 - 08:30 #3
hmm, jeg er stadig ikke helt med :s

jeg regner med at der er med vilje at man kan lægge samme vare i kurven, blot med forskellig længde (går ud fra det er et rør eller noget, som man gerne vil have i bestemte længder)?

og så skal man kunne rette længden på flere "instanser" af samme vare og opdatere?
Avatar billede snigeren Nybegynder
15. november 2007 - 16:57 #4
lige præcis! så er du jo med =)

CookieId er det session nr. der bliver genereret hver gang man kommer ind på siden og begynder at putte i kurven.

Det jeg gerne vil have er at jeg man i den foreach jeg har herunder for hver eneste vare der er i kurven kan kalde til db´en og hente det id der hedder cartId:

foreach($_POST['frilaengde'] AS $id => $frilaengde) 
{
  mysql_query("et kald til db´en der henter cartId");
  mysql_query("update cart set frilaengdecart = '" . $frilaengde . "' where mixId = '" . $id . "' LIMIT 1") or die(mysql_error()); 
}

kan man ikke det på en eller anden måde?
Avatar billede majbom Novice
16. november 2007 - 10:23 #5
nå er det ikke andet? :)

men hvordan er det så at du skal bruge det id senere? mere af hensyn til hvordan det skal gemmes efter udtræk...
Avatar billede snigeren Nybegynder
17. november 2007 - 12:03 #6
Weeeee =)

Nu har jeg fundet ud af det,.. man skal jo bare tænke sig om :D

mixId er samlet af to andre tal fra hvert produkt, efter jeg lavede det blev det lavet om så de to tal faktisk godt kunne være ens og så hjælper det jo lige fedt,.. Nu har jeg bare samlet mixId af 2 tal + tid =)

Så er det jo 100% unikt fra produkt til produkt :D

Damn jeg skal huske den tid noget mere!

Men tak for interessen i mit spg. men nu lukker jeg det eftersom jeg selv fandt en løsning =)
Avatar billede majbom Novice
18. november 2007 - 09:52 #7
hehe kanon :)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester