resultaat opzoekquery in array?
Ik zoek een manier om het resultaat van een opzoekquery te bewaren zodat je het terug kan oproepen als je één van de items uit de overzichtslijst in detail bekijkt.
Daarnaast wil ik ook een knop plaatsen op de detailfiche waarmee je het vorige of volgende item in de lijst meteen in detail kan bekijken.
Iemand een idee hoe je dat aanpakt?
</Zuppo>
Vorige/volgende: url met daarin het id van het vorige/volgende item, /items.php?code=23 om naar item nr. 23 te gaan.
Succes!
Vorige/Volgende: OK, maar wat als de ID's van m'n fiches niet op elkaar volgen?
Mooi kontje heb je
;-)
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?php
error_reporting(E_ALL);
$array = array(23 => 'aap', 48 =>'noot', 123 =>'mies', 458 => 'hond');
echo '<style type="text/css">ul li {display:inline;}</style>';
echo '<ul>';
foreach ($array as $key => $value) {
echo '<li><a href="?item='.$key.'">'.$value.'</a></li>'.PHP_EOL;
}
echo '</ul>';
if (isset($_GET['item'])) {
foreach ($array as $key =>$value) {
if ($key == $_GET['item']) {
echo '<div><p>'.$array[$_GET['item']].'</p>';
$prev = prev($array); // en nu terug naar de vorige
$prevkey = array_keys($array, $prev);
if (!empty($prevkey)) {
$prev = '<a href="?item='.$prevkey[0].'">Previous</a>';
}
else $prev = 'Previous';
if(!$next = next($array)){
reset($array);
}
$next = next($array);
$nextkey = array_keys($array, $next);
if (!empty($nextkey)) {
$next = '<a href="?item='.$nextkey[0].'">Next</a>';
}
else {
$next = 'Next';
}
echo $prev.' | '.$next.'</div>';
}
else {
$next = next($array);
}
}
}
else {
echo 'Geen item geselecteerd';
}
?>
error_reporting(E_ALL);
$array = array(23 => 'aap', 48 =>'noot', 123 =>'mies', 458 => 'hond');
echo '<style type="text/css">ul li {display:inline;}</style>';
echo '<ul>';
foreach ($array as $key => $value) {
echo '<li><a href="?item='.$key.'">'.$value.'</a></li>'.PHP_EOL;
}
echo '</ul>';
if (isset($_GET['item'])) {
foreach ($array as $key =>$value) {
if ($key == $_GET['item']) {
echo '<div><p>'.$array[$_GET['item']].'</p>';
$prev = prev($array); // en nu terug naar de vorige
$prevkey = array_keys($array, $prev);
if (!empty($prevkey)) {
$prev = '<a href="?item='.$prevkey[0].'">Previous</a>';
}
else $prev = 'Previous';
if(!$next = next($array)){
reset($array);
}
$next = next($array);
$nextkey = array_keys($array, $next);
if (!empty($nextkey)) {
$next = '<a href="?item='.$nextkey[0].'">Next</a>';
}
else {
$next = 'Next';
}
echo $prev.' | '.$next.'</div>';
}
else {
$next = next($array);
}
}
}
else {
echo 'Geen item geselecteerd';
}
?>
De sessie mag je zelf inbouwen, de array moet dus in deze sessie komen te staan en in mijn voorbeeldje gebruik je dan overal de sessie (en dus niet de hardcoded array, dat is slechts een voorbeeldje).
Edit: Deze ziet er wat beter uit. (x)html-valid maken, mag je zelf doen.
Gewijzigd op 01/01/1970 01:00:00 door Frank -
Sorry dat 't zo lang heeft geduurd voor ik reageer, maar ik was er effe tussenuit.
Heel erg bedankt voor je uitleg. Ik heb 't script effe uitgeprobeerd en 't werkt prima. Daar ga je ook andere NB-php'ers plezier mee doen, denk ik. Wat me (en hen misschien ook) niet helemaal duidelijk is: hoe krijg ik het resultaat van m'n query omgezet in zo'n soort array als jij hier gebruikt?
</zuppo>