14. september 2005 - 08:08
Der er
34 kommentarer og 1 løsning
tæller i session
Hej Hvordan laver jeg en tæller i en session? Jeg skal brugen den så jeg ksn skrive: "Du har 5 ting i kurven"
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
14. september 2005 - 08:11
#1
$_SESSION['count'] += 1;
14. september 2005 - 08:12
#2
og den lange version: <?php session_start(); $_SESSION['count'] += 1; if($_SESSION['count'] >= 5) { echo "Du har 5 ting i kurven"; }
14. september 2005 - 08:56
#3
fint, tak for hjælpen
14. september 2005 - 08:57
#4
NP!
14. september 2005 - 11:11
#5
når jeg bruger count, går den så ned i session og tæller hvor mange elementer der er? Jeg har lidt problemer når jeg har slettet nogle vare fra min indkøbskurv så står min 'counter' stadig på det samme antal
14. september 2005 - 11:15
#6
Når du sletter skal du hsuke at tælle count ned: $_SESSION['count'] -= 1;
14. september 2005 - 12:38
#7
min "slet" ser sådan ud: if (isset($slet)) { $ialt -= $pris; unset($_SESSION["varer"][$slet]); } men den sletter alle vare med det samme id. Selv om alle varerne med den samme id er vær fra sessions, så ændre det ikke på min $count.
14. september 2005 - 12:39
#8
vil det være nemmer/mere praktisk hvis man kun slettede 1 vare af gangen og ikke alle vare med samme id?
14. september 2005 - 12:41
#9
Er det muligt at jeg kan sende dig koden og du så evt kan kigge det igennem. Der skal selvfølgelig nok kommer flere point :-)
14. september 2005 - 12:58
#10
Du må gerne sende mig koden ja! jakobdo (at) hotmail (dot) com
14. september 2005 - 13:10
#11
Jeg har sendt en mail til dig, men hvis det er nemmer for dig kan vi sagtens fortsætte forklaringen her, så der evt. også er andre der kan få gavn af det :-)
14. september 2005 - 13:17
#12
Lad os evt vise svaret her til sidst! Men jeg har ikke modtaget noget! Prøv evt at send til: jakobols (at) tiscali (dot) dk
14. september 2005 - 13:21
#13
Det er på vej, sorry :-)
14. september 2005 - 13:28
#14
Jeg modtager intet! Smid evt din kode herind.
14. september 2005 - 13:36
#15
Index.php: <? session_start(); $id = $_REQUEST['id']; $slet = $_REQUEST['slet']; // Tildele pris og navn på baggrund af ID if ($id =$id) { $tilkurv = $hf_foder_navn; $pris = $hf_foder_pris; $maengde = $hf_foder_maengde; } if (isset($tilkurv)) { $_SESSION["varer"]["id".$tilkurv]["antal"]++; $_SESSION["varer"]["id".$tilkurv]["navn"] = $tilkurv; $_SESSION["varer"]["id".$tilkurv]["pris"] = $pris ; $_SESSION["varer"]["id".$tilkurv]["maengde"] = $maengde; $_SESSION['count'] += 1; } ?> <Html> <Head> <Title>Indkøbskurv</Title> </Head> <Body> <? if (count($_SESSION["varer"])==0) { echo "Du har 0 ting i kurven"; }elseif(count($_SESSION["varer"])==1){ echo "Du har 1 ting i kurven"; }elseif(count($_SESSION["varer"])>1){ echo "Du har $count ting i kurven"; } print"<br><br><a href='kurv.php'>Kurv</a><br><br>"; ?> <?php require("req/db_connect.php"); $query ="SELECT * FROM akvarie_hf_foder ;"; $result = mysql_db_query ($database, $query, $link ); print"<table border='1' cellspacing='0' cellpadding='0'> <tr valign='top'> <td><b>Vare nummer</b></td> <td><b>Navn</b></td> <td><b>Beskrivelse</b> </td><td><b>Mængde</b></td> <td><b>Pris</b></td> <td><b>Tilføj til kurv</b></td></tr> "; while($row = mysql_fetch_array($result)){ $id = $row[id]; $hf_foder_varenr = $row[hf_foder_varenr]; $hf_foder_navn = $row[hf_foder_navn]; $hf_foder_beskrivelse = $row[hf_foder_beskrivelse]; $hf_foder_maengde = $row[hf_foder_maengde]; $hf_foder_pris = $row[hf_foder_pris]; print" <tr><td>$hf_foder_varenr</td> <td>$hf_foder_navn </td> <td width='300'>$hf_foder_beskrivelse </td> <td>$hf_foder_maengde kg </td> <td>$hf_foder_pris kr </td> <td align='center'><a href='index.php?id=$id&hf_foder_navn=$hf_foder_navn&hf_foder_beskrivelse=$hf_foder_beskrivelse&hf_foder_pris=$hf_foder_pris&hf_foder_maengde=$hf_foder_maengde'>Kurv </a> </td> </tr>"; } ?> </Body> </html> kurv.php: <? session_start(); $id = $_REQUEST['id']; $slet = $_REQUEST['slet']; // Tildele pris og navn på baggrund af ID if (count($_SESSION["varer"])>=0) { print"Antal i kurven: $count <br>"; } if (isset($slet)) { $ialt -= $pris; unset($_SESSION["varer"][$slet]); } print"<Font face=verdana, arial, helvetica size=2>"; if (count($_SESSION["varer"])>0) { while (list ($key, $val) = each ($_SESSION["varer"])) { $navn =$_SESSION["varer"]["$key"]["navn"]; $antal =$_SESSION["varer"]["$key"]["antal"]; $pris =$_SESSION["varer"]["$key"]["pris"] * $antal ; $maengde =$_SESSION["varer"]["$key"]["maengde"]; $ialt += $pris; echo "$antal x $navn DKK " . number_format($pris,2); echo " Antal kg: $maengde "; printf("<A HREF=\"kurv.php?slet=%s&\"> Slet</A></Td></Tr>", urlencode($key) ); echo "<br>"; } } if ($ialt>0) { echo "<B> I alt DKK ". number_format($ialt,2)."</b>"; } /* Hvis indkøbsvognen er tom */ if (count($_SESSION["varer"])==0) { echo "Din indkøbskurv er tom"; $count = 0; } print"<br><br><a href='index.php'>Tilbage </a>til shop"; ?>
14. september 2005 - 13:47
#16
Hvorfor bruger du ikke "bare": $_SESSION["varer"]["id".$tilkurv]["antal"] Den indeholder jo antal vare!
14. september 2005 - 13:49
#17
Det har jeg prøvet, men den printer jo kun antallet ud for den vare jeg lige har lagt i kurven. Hvordan får jeg alle "antal" lagt sammen?
14. september 2005 - 13:52
#18
Jeg kan selvfølgelig køre den i en løkke
14. september 2005 - 14:11
#19
Prøv evt at test: echo "Antal varer: " . array_sum($_SESSION['varer']);
14. september 2005 - 14:16
#20
Det kunne jeg ikke få til at virke, men jeg har løst det ved at lave en løkke
14. september 2005 - 14:19
#21
Jeg tror også jeg misforstod din array-struktur! Du kan evt teste på følgende måde: echo "<pre>"; print_r($_SESSION['varer']); echo "</pre>"; Så kan vi se hvordan du bygger det hele op!
14. september 2005 - 14:30
#22
den printer dette retur: Array ( [idPremium Lamb Meal ] => Array ( [antal] => 2 [navn] => Premium Lamb Meal [pris] => 369 [maengde] => 15 [antal_kurv] => ) )
14. september 2005 - 14:31
#23
[antal_kurv] => Skal du lige se bort fra. det er mig der er ved at forsøge noget
14. september 2005 - 14:33
#24
Du undgår nok ikke en løkke nej! Nu ved jeg ikke hvordan din løkke ser ud! Men denne burde også kunne gøre det: $antal = 0; foreach($_SESSION['varer'] as $vare) { $antal += $vare['antal'] } echo "Antal: " . $antal;
14. september 2005 - 14:43
#25
når jeg sætter din kode ind, får jeg følgende fejæ: Parse error: parse error, unexpected '}' in /hsphere/local/home/boris/kryt.dk/akvariehulen/req/basket_counter.php on line 6 Jeg kan ikke se hvad der er galt
14. september 2005 - 14:46
#26
vent lidt, det er hvis noget andet der er galt
14. september 2005 - 14:47
#27
Der er en lille fejl i min kode! $antal += $vare['antal'] skal være: $antal += $vare['antal']; //<----- Havde glemt ;
14. september 2005 - 14:53
#28
nej, jeg får stadig fejl Jeg har sat din kode ind på et selvstændigt dokument og så skrevet " require("req/basket_counter.php"); " hvor det skal sættes ind, men jeg får stadig ovenstående fejl. Min kode ser sådan ud: <?php $antal = 0; foreach($_SESSION['varer'] as $vare) { $antal += $vare['antal'] } echo "Antal: " . $antal; ?>
14. september 2005 - 14:54
#29
jep, nu passer det :-)
14. september 2005 - 14:54
#30
<?php $antal = 0; foreach($_SESSION['varer'] as $vare) { $antal += $vare['antal']; } echo "Antal: " . $antal; ?>
14. september 2005 - 14:54
#31
Du glemte ; igen! :o)
14. september 2005 - 15:02
#32
jeg havde ikke fået set dit svar inden jeg skrev, sorry Fejlen er rettet og nu virker det. Vil du ikke gerne snart have nogle point. Smid et svar og fortæl mig hvordan jeg giver ekstra point :-)
14. september 2005 - 15:06
#33
Et svar! Ekstra point tror jeg du gør i toppen! Men ved det faktisk ikke!
14. september 2005 - 15:11
#34
Jeg kan ikke se hvor jeg giver dig ekstra point, men jeg opretter et ekstra spørgsmål. Så kan du få point den vej
14. september 2005 - 15:13
#35
Jeg takker! Husk at lav en reference til denne tråd så!
Vi tilbyder markedets bedste kurser inden for webudvikling