waarden onthouden sessies

Status
Niet open voor verdere reacties.
K

ku30

Gast
.
.
.
}

$colname_detail = "-1";
if (isset($_GET['titel'])) {
$colname_detail = $_GET['titel'];
}
mysql_select_db($database_booksh, $booksh);
$query_detail = sprintf("SELECT * FROM artikel WHERE titel = %s", GetSQLValueString($colname_detail, "text"));
$detail = mysql_query($query_detail, $booksh) or die(mysql_error());
$row_detail = mysql_fetch_assoc($detail);
$totalRows_detail = mysql_num_rows($detail);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Naamloos document</title>
</head>

<body><?
// ken een waarde toe aan de variabele.

$_SESSION["titel"] = $row_detail['titel'];
if(isset($_SESSION["titel"])){
echo $row_detail['titel'].'</br>';
}

$_SESSION["auteur"] = $row_detail['auteur'];
if(isset($_SESSION["auteur"])){
echo $row_detail['auteur'].'</br>';
}

$_SESSION["beschrijving"] = $row_detail['beschrijving'];

if(isset($_SESSION["beschrijving"])){
echo $row_detail['beschrijving'].'</br>';
}

$_SESSION["isbn"] = $row_detail['isbn'];
if(isset($_SESSION["isbn"])){
echo $row_detail['isbn'].'</br>';
}
?>


<a href = "javascript:history.back()">vorige pagina</a>

</body>
</html>
<?php
mysql_free_result($detail);
?>
dit is een stuk uit een pagina waar details getoond worden van boeken, dus isbn nr, titel, auteur enz...
ik heb hier sessievariabelen benoemd maar hoe kan je het voor elkaar krijgen dat die de inhoud bewaren? zodat er dus een lijstje ontstaat van gevraagde details? als iemand hier zin voor heeft mij te helpen daarmee?
 
Je moet je resultaat op slaan in een sessie en dan kan je alles uit de sessie halen.
doormiddel van $_SESSION['naamvande waarde'] letop deze moet je naturlijk wel zelf toekennen.

Je kan het ook op de volgende manier doen maar ik denk dat het te lastig voor je wordt.

PHP:
<?php
 // Connect to server and database
 $mysqli        = new mysqli("$dbServer", "$dbUser", "$dbPass", "$dbName");
 
// Open First Stored Procedure using MYSQLI_STORE_RESULT to retain for looping
 $resultPicks = $mysqli->query("CALL $proc ($searchDate, $maxRSI, $incRSI, $minMACD, $minVol, $minTrades, $minClose, $maxClose)", MYSQLI_STORE_RESULT);
 
// process one row at a time from first SP
 while($picksRow = $resultPicks->fetch_array(MYSQLI_ASSOC)) {
     // Get Parameter for next SP
     $symbol     = $picksRow['Symbol'];
 
    // Free stored results
     clearStoredResults($mysqli);
 
    // Execute second SP using value from first as a parameter (MYSQLI_USE_RESULT and free result right away)
     $resultData    = $mysqli->query("CALL prcGetLastMACDDatesBelowZero('$symbol', $searchDate)", MYSQLI_USE_RESULT);
     $dataRow    = $resultData->fetch_array(MYSQLI_ASSOC);
 
    // Dump result from both related queries
     echo "<p>$symbol ... Num Dates: " . $dataRow['NumDates'];
 
    // Free results from second SP
     $resultData->free();
 
}
 
// Free results from first SP
 $resultPicks->free();
 
// close connections
 $mysqli->close();
 
#------------------------------------------
 function clearStoredResults($mysqli_link){
 #------------------------------------------
     while($mysqli_link->next_result()){
       if($l_result = $mysqli_link->store_result()){
               $l_result->free();
       }
     }
 }
 ?>

Dit kan je ook terug vinden bij PHP: Hypertext Preprocessor
 
er is dus geen probleem met het weergeven van de details, ik ben echter op zoek om een soort verlanglijstje samen te stellen, vergelijkbaar met een overzicht zoals je ze vind op webshops, een overzicht van reeds bestelde items.
ik ga zeker eens proberen om je gegeven script hier door te nemen en ik zie wel wat ik er kan mee aanvangen. het lijkt me echter nogal ingewikkeld.
 
<body>
PHP:
<? 
// ken een waarde toe aan de variabele. 

$_SESSION["titel"] = $row_detailset['titel']; 
if(isset($_SESSION["titel"])){ 
   echo 'titel: ' . $_SESSION['titel'].'</br>'; 
} 

$_SESSION["auteur"] = $row_detailset['auteur']; 
if(isset($_SESSION["auteur"])){ 
    echo 'auteur: ' . $_SESSION['auteur'].'</br>'; 
} 

$_SESSION["beschrijving"] = $row_detailset['beschrijving']; 

if(isset($_SESSION["beschrijving"])){ 
    echo 'inhoud: ' . $_SESSION['beschrijving'].'</br>'; 
} 

$_SESSION["isbn"] = $row_detailset['isbn']; 
if(isset($_SESSION["isbn"])){ 
    echo 'isbnnr: ' . $_SESSION['isbn'].'</br>'; 
} 
?>
<a href = "javascript:history.back()">vorige pagina</a>

</body>
</html>
PHP:
<?php 
mysql_free_result($detailset); 
?>

</body>
</html>
in mijn body staan dus deze variabelen. wordt er nu voor elke sessievariabele een aparte array gemaakt? ik dacht dat deze allen in 1 array kwamen te staan die ik dan middels een functie kan uitlezen en naar het scherm schrijven? vb met foreach. ik meende dat sessies bijgehouden worden in een array? ik zeg het, daar vind je zo weinig van terug als je daar naar zoekt. basics wel, maar daarmee zijn we er niet. ik heb vardump toegepast en er worden steeds 2 detailsets bijgehouden. eigenlijk zou ik willen dat er 5 of 6 sets bijgehouden worden en eventueel met een verwijderlink apart kunnen verwijdert worden.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan