Avatar billede Morten Professor
10. juli 2012 - 13:17 Der er 11 kommentarer og
1 løsning

Forsøger at få flere vare i min session

Hej Eksperter

Jeg har forsøgt i noget tid forgæves at få flere vare i min session.
Jeg kan bare ikke få flere ind, når jeg trykke den sidste ind er det kun der kommer.

Har kigget mig godt omkring på siden men kan ikke få den til at virke som den skal.

Koden jeg bruger er:

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

Håber der er en der kan finde problemet.

Med venlig hilsen
Morten Møller
Avatar billede balcom Nybegynder
10. juli 2012 - 13:45 #1
Helt ærligt, så har jeg ikke check på programmering, men syntes bare at det ser "forkert" ud når først står : if(isset($...  og næste gang : if(!isset($.... (udråbstegnet) og sidst, igen : if(isset($...
Avatar billede Morten Professor
10. juli 2012 - 13:54 #2
Hej

Hvis jeg fjerner det, kommer der ikke til at stå vares navn.
Avatar billede Temp_dk Nybegynder
10. juli 2012 - 18:26 #3
Spørgsmål


Er $row_rsVare_Salg['vare'] et array ?

eller mere uddybende

Hvilke type er følgende

  $row_rsVare_Salg['vare']
  $row_rsVare_Salg['varenr']
  $row_rsVare_Salg['antal']
  $row_rsVare_Salg['pris']
  $row_rsVare_Salg['id']
Avatar billede Morten Professor
10. juli 2012 - 18:42 #4
$row_rsVare_Salg['vare'] er min måde at få min data fra min database.

og så har jeg lavet dem om så de ført ind i min SESSION.
Og det virker fint.
Men kan ikke få flere ind.


  $row_rsVare_Salg['vare'] / Varens navn
  $row_rsVare_Salg['varenr'] / et varenr
  $row_rsVare_Salg['antal'] / antal af vare
  $row_rsVare_Salg['pris'] / Pris
  $row_rsVare_Salg['id'] / id (Varens id)
Avatar billede Temp_dk Nybegynder
10. juli 2012 - 19:13 #5
Eksempel

$row_rsVare_Salg['vare'] = "Bøffer";
$row_rsVare_Salg['varenr'] = 123456;
$row_rsVare_Salg['antal'] = 25;
$row_rsVare_Salg['pris'] = 12.23;
$row_rsVare_Salg['id'] = 2;

// Opretter SESSIONS variabel vare som et array
$_SESSION['vare'] = $row_rsVare_Salg;

if(isset($row_rsVare_Salg['id']))
{
  if(!isset($_SESSION['vare']))
  {
      $_SESSION['vare'] = array();
  }

  if(isset($_SESSION['vare']))
  {
      $_SESSION['vare']['antal'] ++;
  }
  else
  {
      $_SESSION['vare']['antal'] = 1;
  }
}
else
{
  echo "Fejl: Ingen varenr";
}

Resultatet af ovenstående er:

Debug #1 af 1 Variabel navn: $_SESSION Variabel type: array
array (1)
vare => array (5)
    vare => Bøffer
    varenr => 123456
    antal => 26
    pris => 12.23
    id => 2
Avatar billede Morten Professor
10. juli 2012 - 20:18 #6
Det virker fuldstændig som det skal nu.
1000 tak for hælpen endnu engang.

Med venlig hilsen
Morten Møller
Avatar billede Morten Professor
10. juli 2012 - 21:15 #7
Jeg kom til at se den laver alt fra databasen.

Og den ligge ikke de to ting, jeg prøver at ligge ind i session.
Kun den sidste jeg ligger ind i min session.
Avatar billede Temp_dk Nybegynder
11. juli 2012 - 07:02 #8
Vil du vise den kode du bruger til dette ?
Avatar billede Morten Professor
11. juli 2012 - 09:51 #9
mysql_select_db($database_hellestrik, $hellestrik);
$query_rsVare_Salg = sprintf("SELECT * FROM vare WHERE id = %s", GetSQLValueString($colname_rsVare_Salg, "int"));
$rsVare_Salg = mysql_query($query_rsVare_Salg, $hellestrik) or die(mysql_error());
$row_rsVare_Salg = mysql_fetch_assoc($rsVare_Salg);
$totalRows_rsVare_Salg = mysql_num_rows($rsVare_Salg);


/*
  Tilføj en vare til kurv
  Modtager vareid som $_GET['vareid']
  Lægger 1 til $_SESSION['varer']['vareid']
*/   
{
session_start();
    $vare = $row_rsVare_Salg['vare'];
    $varenr = $row_rsVare_Salg['varenr'];
    $antal = $row_rsVare_Salg['antal'];
    $pris = $row_rsVare_Salg['pris'];
    $id = $row_rsVare_Salg['id'];
   
        $_SESSION['vare'] = $row_rsVare_Salg['vare'];
        $_SESSION['varenr'] = $row_rsVare_Salg['varenr'];
        $_SESSION['antal'] = $row_rsVare_Salg['antal'];
        $_SESSION['pris'] = $row_rsVare_Salg['pris'];
        $_SESSION['id'] = $row_rsVare_Salg['id'];

// Opretter SESSIONS variabel vare som et array
$_SESSION['vare'] = $row_rsVare_Salg;

if(isset($row_rsVare_Salg['id']))
{
  if(!isset($_SESSION['vare']))
  {
      $_SESSION['vare'] = array();
  }

  if(isset($_SESSION['vare']))
  {
      $_SESSION['vare']['antal'] ++;
  }
  else
  {
      $_SESSION['vare']['antal'] = 1;
  }
}
else
{
  echo "Fejl: Ingen varenr";
}
}

Tak for du vil brug din tid, til at hjælpe mig.
Avatar billede Temp_dk Nybegynder
11. juli 2012 - 21:19 #10
prøv

// Tilføjer total antal til $_SESSION['total']
$_SESSION['total'] = mysql_num_rows($rsVare_Salg);
Avatar billede Morten Professor
12. juli 2012 - 17:28 #11
Den gør desværre ikke nogen forskel.

session_start();
    $vare = $row_rsVare_Salg['vare'];
    $varenr = $row_rsVare_Salg['varenr'];
    $antal = $row_rsVare_Salg['antal'];
    $pris = $row_rsVare_Salg['pris'];
    $id = $row_rsVare_Salg['id'];
   
        $_SESSION['vare'] = $row_rsVare_Salg['vare'];
        $_SESSION['varenr'] = $row_rsVare_Salg['varenr'];
        $_SESSION['antal'] = $row_rsVare_Salg['antal'];
        $_SESSION['pris'] = $row_rsVare_Salg['pris'];
        $_SESSION['id'] = $row_rsVare_Salg['id'];
       
        // Tilføjer total antal til $_SESSION['total']
$_SESSION['total'] = mysql_num_rows($rsVare_Salg);
       
// Opretter SESSIONS variabel vare som et array
$_SESSION['vare'] = $row_rsVare_Salg;

if(isset($row_rsVare_Salg['id']))
{
  if(!isset($_SESSION['vare']))
  {
      $_SESSION['vare'] = array();
  }

  if(isset($_SESSION['vare']))
  {
      $_SESSION['vare']['antal'] ++;
  }
  else
  {
      $_SESSION['vare']['antal'] = 1;
  }
}
else
{
  echo "Fejl: Ingen varenr";
}

Jeg prøvede at sætte [total] ved siden af [antal] men så kom den med denne meddelse:

Fatal error: Cannot increment/decrement overloaded objects nor string offsets in...
Avatar billede Morten Professor
27. september 2012 - 10:12 #12
Jeg lukker problemet her.
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