Oprettet fre. d. 05. oktober 2012 kl. 09:04:01

morticms
morticms (1.790 point. Point ude: 60)

Brug af (foreach)

Hej Eksperter.

Jeg vil høre om i kan hjælpe mig med denne her.
Når jeg kun ligger en vare i virker den fint, men flere vare bliver det noget juks.
Ved ikke lige hvordan jeg for delt det op.

  foreach($_SESSION["varenr"] as $varenr => $item)
  foreach($_SESSION["navn"] as $vare => $item)
  {
    echo $_SESSION['vare']." varenr ". $varenr ." ".$vare." : <a href=\"slet.php?slet=".$varenr."\">slet</a></br>";
   
  }
Udskriver den:
(varenr 519 Sweater : slet
varenr 519 Hue med heste : slet) {Ens link}
(varenr 531 Sweater : slet
varenr 531 Hue med heste : slet) {Ens Link}

Håber der er en der kan hjælpe mig.

Med venlig hilsen
Morten Møller

Skrevet fre. d. 05. oktober 2012 kl. 09:29:06| #1

Christian_Belgien
Christian_Belgien (50.838 point)
Jeg observerer, at du mangler et sæt {} til at indeslutte den anden foreach.  Så et spørgsmål:  Hvad har du stående i $_SESSION['vare']?  Det at den ikke udskriver noget for $_SESSION['vare'] kunne måske skyldes, at den er tom.  Skulle det have været $_SESSION['navn']?

Om den følgende kode hjælper til at løse problemet ved jeg ikke, men det er hurtigt at prøve:

foreach($_SESSION["varenr"] as $varenr => $item)
{
  foreach($_SESSION["navn"] as $vare => $item)
  {
    echo $_SESSION['navn']." varenr ". $varenr ." ".$vare." : <a href=\"slet.php?slet=".$varenr."\">slet</a></br>";
 
  }
}

Skrevet fre. d. 05. oktober 2012 kl. 10:18:04| #2

morticms
morticms (1.790 point)
Det gav samme resultat.
Men det var en rigtig god ide.

Jeg har lige gjort det lidt mere overskuligt:

foreach($_SESSION["varenr"] as $varenr => $item)
{
  foreach($_SESSION["navn"] as $navn => $item)
  {
    echo " varenr ". $varenr ." ".$navn." : <a href=\"slet.php?slet=".$varenr."\">slet</a></br>";
 
  }
}

Den udskriver:
Liste over de vare du har i indkøbskurven

// Har samme link men forskellige navne.
varenr 519 Sweater : slet
varenr 519 Hue med heste : slet

// Har samme link men forskellige navne.
varenr 531 Sweater : slet
varenr 531 Hue med heste : slet

Med venlig hilsen
Morten Møller

Skrevet fre. d. 05. oktober 2012 kl. 18:15:48| #3

Christian_Belgien
Christian_Belgien (50.838 point)
Det er ikke tydeligt fra dine eksempler hvad sammenhængen er mellem $_SESSION['varenr'] og $_SESSION['navn'].  Det kunne tyde på, at du har en række værdier i $_SESSION['varenr'], nemlig 519, 531, .... og at du har en række værdier i $_SESSION['navn'], 'Sweater', 'Hue med heste,' ....  For hvert nyt varenummer kører du navnene igennem i rækkefølge, hvorimod det nok er således, at der til hvert varenummer hører en række navne, og du havde forventet, at der for hvert nummer kun blev udskrevet de navne der hørte dertil.  Så hvad er sammenhængen mellem numre og navne og hvordan placerer du værdierne i session variablerne?

Skrevet lør. d. 06. oktober 2012 kl. 09:15:40| #4

morticms
morticms (1.790 point)
Hej Christian.
Tak for du vil hjælpe mig! :o)

Jeg bruger denne kode til at få lavet mine sessions:

if(isset($row_rsVare_Salg['id'])){
  if(!isset($_SESSION['varenr'])){
    $_SESSION['varenr']=array();
  }
  if(isset($_SESSION['varenr'][$row_rsVare_Salg['varenr']])){
    $_SESSION['varenr'][$row_rsVare_Salg['varenr']]++;
    {
    $_SESSION['navn'][$row_rsVare_Salg['vare']]++;
   
  }
  } else {
    $_SESSION['varenr'][$row_rsVare_Salg['varenr']]=1;
    {
    $_SESSION['navn'][$row_rsVare_Salg['vare']]=1;
  }
  }
} else {
  echo "Fejl: Ingen vareid";
}


header('Location: ../oversigt.php?id='.$row_rsVare_Salg['id'].'&u='.$row_rsVare_Salg['u'].'&uk='.$row_rsVare_Salg['uk'].'');

Er det her jeg laver fejlen?

Med venlig hilsen
Morten Møller

Skrevet søn. d. 07. oktober 2012 kl. 22:17:20| #5

Christian_Belgien
Christian_Belgien (50.838 point)
morticms, undskyld forsinkelsen.  Men jeg kommer ikke i dette spørgsmål.  For det første er jeg temmelig hængt op for tiden, for det andet viser du i #4 en meget indviklet struktur som det for mig vil kræve meget tid at finde ud af.  Jeg må bakke ud her.

Du fik ikke indlæg fra andre end mig, og nu står spørgsmålet efterhånden på side 5 af 'alle kategorier', så der kommer nok ikke mange nye indlæg.  En vej frem kunne være, at du lukker dette spørgsmål (opret selv et svar og accepter det) og så opretter et nyt spørgsmål, der vil få frisk opmærksomhed.  Jeg vil foreslå, i dit nye spørgsmål, ikke alene at vise den forkerte udskrift, men også vise et eksempel på hvordan det skulle have været udskrevet.  Og så vise din session kode i spørgsmålet.

Skrevet man. d. 08. oktober 2012 kl. 07:28:05| #6

morticms
morticms (1.790 point)
Hej Christian,
Det er helt i orden,  tak for du har skrevet,  og forsøgte hjælpe mig.
Det var en god idé,  med hvordan jeg for mit spørgsmål frem på en ordentlig måde.

Med venlig hilsen
Morten Møller

Skriv et indlæg




Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] [img]link til billede[/img]
Web- og emailadresser omdannes automatisk til links

Log ind

   


Seneste spørgsmål

Select og 2 count

Oprettet den 17. maj 2013 kl. 17.15
steen-h giver 100 point for svar | Giv et svar »

syntax fejl, select med RANK()

Oprettet den 14. maj 2013 kl. 16.06
rhaa giver 30 point for svar | Giv et svar »

PHP mySQL problemer

Oprettet den 14. maj 2013 kl. 13.32
RasmusOv giver 60 point for svar | Giv et svar »








Tips & Tricks fra PC World

Teaser billede

Her er seks Google Labs-funktioner, som du skal slå til med det samme

Gmail Labs giver dig adgang til en masse smarte funktioner, som Googles ingeniører leger med i øjeblikket.


Anmeldelser fra PC World

Teaser billede

Test: Samsung Galaxy S4 er et hit - trods gøglertricks

Kan Samsung beholde førertrøjen i det store Android-race? Galaxy S4 er smækfyldt med innovative funktioner, men også med en del gøgl. Er det for meget? Få vores dom over Samsungs nye topmodel.


Seneste blogindlæg

Teaser billede

Tvangslukke spørgsmål: Hvad er den bedste løsning?

Hej Vi har mange åbne spørgsmål på Eksperten. Vi ville gerne tvangslukke dem - så et spørgsmål efter f.eks. 6 måneder lukkes. Men der er et par uklarheder som ville være gode at få lidt input til:...


Nyheder fra PC World

Teaser billede

Tre smarte trick som gør Windows 8 bedre

Boot direkte til skrivebordet, få en strategisk godt placeret luk-knap og slip for at logge ind. Her er tre tips til Windows 8, som gør det nemmere at blive venner med styresystemet.


Nyheder fra Computerworld

Teaser billede

Galleri: Her er Googles nyeste værktøj og legetøj

Google har i denne uge afholdt udviklerkonferencen I/O i San Francisco. Se her hvad søgegiganten kunne præsentere af nyskabelser.


IT Kurser
Samarbejdspartnere

Udgiver · © 2013 IDG Danmark A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger