Avatar billede e_w Nybegynder
15. maj 2007 - 10:20 Der er 18 kommentarer og
1 løsning

hjælp til shop

HEj, jeg sidder og er igang med at lave en meget lille shop, men kan ikke finde ud af det lige pt.. :S

vil gerne sådan at hver varer jeg køber bliver sat i session og sendt ind i database, problemet er bare at når jeg "bestiller" de bestemte varer så enten tager den kun ét billede i session eller også reagere den bare ikke..
jeg har set mig frem til at der nogle steder bliver brugt foreach til når man køber en varer

noget alla det her

foreach($_POST as $_SESSION)

er det noget man kan bruge, og hvis ja, hvordan?. .:S
Avatar billede phliplip Nybegynder
15. maj 2007 - 10:27 #1
foreach($_POST as $_SESSION) er i hvertfald helt forkert!
Avatar billede e_w Nybegynder
15. maj 2007 - 10:29 #2
Så tror jeg at jeg har misforstået det.. :S:(
Avatar billede phliplip Nybegynder
15. maj 2007 - 10:34 #3
Nu har jeg ikke set din shop. Men jeg kan varmt anbefale osCommerce!

Du kan få mere specifik hjælpt til osC på www.openforum.dk!

Du kan se en shop jeg har lavet baseret på osCommerce her; http://www.holtevinlager.dk/

Men hvis du bare vil opnå at ligge en vare i SESSION så er følgende en mulighed;

if((count($_POST['varer']) > 0) && (is_array($_POST['varer']))) {
  foreach($_POST['varer'] as $varenr => $antal) {
    $_SESSION['varer'][$varenr] += $antal;
  }
}

Din input tags skal så se nogenlunde sådan ud <input type="text" name="varer[/*DIT VARENR HER*/]" value="1">
Avatar billede michael_stim Ekspert
15. maj 2007 - 10:37 #4
Du kan såmänd godt bruge foreach.
foreach ($_POST as $kurv){
if ($kurv != ""){
$kurv=$_SESSION['nogetDerIdentifiererBrugeren'][$kurv]['evtAntal'];
}
}
Avatar billede michael_stim Ekspert
15. maj 2007 - 10:43 #5
$kurv= skal selvf. väk. Og så skal der også testes på om $_POST ikke er en knap osv.
Avatar billede michael_stim Ekspert
15. maj 2007 - 10:43 #6
Men det er kun dig der ved hvad du har i din form.
Avatar billede e_w Nybegynder
15. maj 2007 - 10:47 #7
min form ser således ud.. :S

<input type='submit' name='BestilNow' value='Bestil' />";                        
echo"<input type='hidden' name='BilledeID' value='". $RowGroup['PicID'] ."' />
<input type='hidden' name='Billede' value='". $RowGroup['Billede'] ."' />
Avatar billede e_w Nybegynder
15. maj 2007 - 10:59 #8
phliplip har prøvet at lege lidt med dit script, og det sys til at reagere, problemet er bare at den counter alle de billeder i en bestem kategori jeg har, skal den ikke tjekke fra en bestem ID?.. eller..
(det er første gang jeg leger med sådan noget her, så bær over med mig at jeg spørger sådan, men har ingen andelse hvordan sådan noget fungere, endnu)
Avatar billede phliplip Nybegynder
15. maj 2007 - 11:30 #9
Der er ikke mulighed for at se sitet du arbejder på?
Avatar billede e_w Nybegynder
15. maj 2007 - 11:46 #10
ikke helt..:( arbjeder på localserver..
men kan skrie det kode ned som jeg har brugt!
Avatar billede e_w Nybegynder
15. maj 2007 - 12:04 #11
her prøver jeg at få udskrevet det script du har lavet!

if (isset($_POST['BestilNow']))
        {       
            $Varer = $_POST['Varernavn'];
            $PicID = $_POST['VarerPicID'];
           
            if((count($Varer) > 0) && (is_array($Varer)))
            {
              foreach($Varer as $ProduktID => $Antal)
              {                 
                $_SESSION['Varer'][$ProduktID] += $Antal; // læg det sammen
               
              }
            }                   
        }


###### her vises formen #####3

<input type='hidden' name='VarerPicID' value='". $RowGroup['PicID'] ."'  />
                                    <input type='hidden' name='Varernavn[". $RowGroup['Billede'] ."]' value='1'  />

ved ikke helt om du forstår ?.. :$
Avatar billede phliplip Nybegynder
15. maj 2007 - 12:13 #12
Hvad indeholder $RowGroup['Billede'] ?? Hvis du ikke ønsker at man skal vælge antal før man ligger i kurven så er dette nok en bedre løsning:

Ved ikke lige hvad og hvorfor du har $RowGroup['Billede'] men her har jeg altså lige pillet det ud. Min tanke er at du har et array i SESSION af billeder (PicID). Når du så skal vise kurven er det bare at loope det array igennem og hente billede feltet i databasen hvis du skal bruge den.

if (isset($_POST['BestilNow']))
        {     
            $Varer = $_POST['Varernavn'];
                     
            if((count($Varer) > 0) && (is_array($Varer)))
            {
              foreach($Varer as $ProduktID)
              {               
                $_SESSION['Varer'][$ProduktID]++; // læg det sammen
             
              }
            }                 
        }

###### her vises formen #####3

<input type='hidden' name='Varernavn[]' value='. $RowGroup['PicID'] ."'  />
Avatar billede e_w Nybegynder
15. maj 2007 - 12:27 #13
Tror det var en smutter..  min fejl..

det er fordi jeg har lagt det ind i kategorier, men for hvergang at jeg tager en bestilling så counter den alle produkter med 1 så jeg lige pludselig har købt f.eks. 7 billeder fordi der er 7 i den bestemte kategori.. så den tager ikke kun det ene produkt som man har valgt men simpelthen alle.. det er vist der mit næste problem opstår.. :S
Avatar billede phliplip Nybegynder
15. maj 2007 - 12:34 #14
Det er jo så fordi du skal ligge en <form> rundt om hver vare.. ellers så submitter den alle <input> felterne på siden og så er det klart at den tæller alle op!
Avatar billede e_w Nybegynder
15. maj 2007 - 12:40 #15
LOL.. det virker sku..
der kan man bare se.. fedt at du viste det!! Ser ud til at virke!!
tror jeg vil prøve at se om jeg kan arbjeder videre med det, du skal hvertfald have dine points for det.. det er super nice:P!

mange gange takker!!
Avatar billede e_w Nybegynder
15. maj 2007 - 12:45 #16
lige hurtigt, kan du skrive hvordan man udskriver det så man kan se hvor mange eller hvad for nogle varer der er blevet lagt.. ???
Avatar billede phliplip Nybegynder
15. maj 2007 - 14:03 #17
foreach($_SESSION['Varer'] as $produkt_id => $antal) {
  echo $produkt_id . ' x ' . $antal . '<br>'."\n";
}
Avatar billede e_w Nybegynder
15. maj 2007 - 14:22 #18
Takker!
Avatar billede e_w Nybegynder
15. maj 2007 - 14:39 #19
er det muligt at counte alle produkter sammen? så den tæller det hele hvor mange produkter man har valgt?... bare lige til en sidste tilføjelse.. :$
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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