Avatar billede Morten Professor
05. oktober 2012 - 09:04 Der er 5 kommentarer og
1 løsning

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
05. oktober 2012 - 09:29 #1
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>";
 
  }
}
Avatar billede Morten Professor
05. oktober 2012 - 10:18 #2
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
05. oktober 2012 - 18:15 #3
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?
Avatar billede Morten Professor
06. oktober 2012 - 09:15 #4
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
07. oktober 2012 - 22:17 #5
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.
Avatar billede Morten Professor
08. oktober 2012 - 07:28 #6
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
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
Computerworld tilbyder specialiserede kurser i database-management

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