Ik probeer een stukje navigatie te maken voor op een site. Daarvoor haal ik het totaal aantal rijen op uit de db, met hun id's. Ik gebruik dus geen COUNT. Die id's gaan in een array. Nu krijg ik uit de url het nieuwe id door, en haal dmv een array_search de huidige key op.
Maar hoe zet ik de array internal pointer (zo heet dat geloof ik) nu op de huidige key? Zodat ik prev($rows) en next($rows) kan gebruiken voor de waarde uit de array met het id uit de url?
Ik heb ook scrip geprobeerd met dingen als:
maar dat gaf een fout, want het de array zelf moet in de prev staan en niet array met key.
Ik heb ook alle array functies op php.net bekeken, maar daar zag ik alleen current() dat in de buurt kwam, maar is het dus net niet. Je kan hiermee niet de internal pointer verplaatsen.
Maar hoe zet ik de array internal pointer (zo heet dat geloof ik) nu op de huidige key? Zodat ik prev($rows) en next($rows) kan gebruiken voor de waarde uit de array met het id uit de url?
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
| $current_key = array_search( $cid, $rows ); current($rows) = $current_key; // ik hoopte het hiermee op te lossen, maar dit doet ie niet he :-), het geeft misschien wel aan wat ik wil $pr_cid = prev($rows->projects_id); $nav_start = !prev($rows) ? '<label class="j_navigation_disabled">'. _JP_PREVIOUS_PROJECT. '</label>' : '<a href="'. $return.'&project='.$pr_cid.'" >'._JP_PREVIOUS_PROJECT.'</a>'; $nav_space = ' | '; $nx_cid = next($rows->projects_id); $nav_end = !next($rows) ? '<label class="j_navigation_disabled">'. _JP_NEXT_PROJECT. '</label>' : '<a href="'. $return.'&project='.$nx_cid.'" >'._JP_NEXT_PROJECT.'</a>'; $nav = $nav_start . $nav_space . $nav_end; |
Ik heb ook scrip geprobeerd met dingen als:
PHP:
1
| $nav_start = !prev($rows[$current_key]) ? '<labe...' //dus met $rows[$current_key] |
maar dat gaf een fout, want het de array zelf moet in de prev staan en niet array met key.
Ik heb ook alle array functies op php.net bekeken, maar daar zag ik alleen current() dat in de buurt kwam, maar is het dus net niet. Je kan hiermee niet de internal pointer verplaatsen.
[ Voor 15% gewijzigd door Verwijderd op 21-08-2007 01:36 . Reden: stukje erbij met wat ik geprobeerd heb ]