Avatar billede disher Nybegynder
10. april 2004 - 14:14 Der er 6 kommentarer og
1 løsning

problem med next/prev funktion

Hej, jeg har et problem med next/prev side visning.. jeg har et sql udtræk med id som feks kan se sådan ud: 1,2,27
Så i dette tilfælde kan jeg ikke bruge $next = $show+1
Jeg har prøvet at rode med kombination af array next/prev/search, som I kan se her i koden:

  $ids = array();
  $sql = "SELECT id FROM wip WHERE cat = '$cat'";
  $sql_result = mysql_query($sql,$connection)
    or die ("Couldn't execute query");

while ($row = mysql_fetch_array($sql_result))
{
    array_push($ids, "$row[id]");
}
    $prev = prev(array_search('$show', $ids));
    $next = next(array_search('$show', $ids));

($show er lig det aktuelle id)
Men det virker jo ikke helt, så er der nogen bud på hvordan det kan gøres?
Avatar billede schaefner Juniormester
10. april 2004 - 14:19 #1
Prøv:

<?php
$ids = array();
$sql = "SELECT id FROM wip WHERE cat = '$cat'";
$sql_result = mysql_query($sql,$connection) or die ("Couldn't execute query");

while ($row = mysql_fetch_array($sql_result)) {
    array_push($ids, $row['id']);
}
$prev = prev(array_search($show, $ids));
$next = next(array_search($show, $ids));
?>
Avatar billede schaefner Juniormester
10. april 2004 - 14:23 #2
<?php
$ids = array();
$sql = "SELECT id FROM wip WHERE cat = '$cat'";
$sql_result = mysql_query($sql,$connection) or die ("Couldn't execute query");

while ($row = mysql_fetch_array($sql_result)){
    $ids[] = $row['id'];
}
$prev_key = array_search($show, $ids)-1;
echo $ids[$prev_key];
$next_key = array_search($show, $ids)+1;
echo $ids[$next_key];
?>
Avatar billede schaefner Juniormester
10. april 2004 - 14:25 #3
Eller:

$current = array_search($show, $ids);
echo 'Prev : '.$ids[$current-1].'<br />';
echo 'Next : '.$ids[$current+1];
Avatar billede disher Nybegynder
10. april 2004 - 14:33 #4
Aaah takker mange gange for din hurtig hjælp :)
Du vil vel gerne ha' nogle points? :D
Avatar billede schaefner Juniormester
10. april 2004 - 14:35 #5
jooh :)
Avatar billede schaefner Juniormester
10. april 2004 - 14:38 #6
For lige et forklare det du selv havde skrevet:

$prev = prev(array_search('$show', $ids));

$show vil i dette tilfælde ikke blive opfattet som en variabel, fordi den er indkapslet i single-qutes, men som en streng indeholdende teksten $show og dens værdi vil derfor ikke blive indsat.

http://dk2.php.net/types.string

mvh. Jesper Sørensen
Avatar billede disher Nybegynder
11. april 2004 - 12:23 #7
Ok I see, tak for oplysningen. Jeg har siddet og fedtet rundt med de '/" i et stykke tid. Jeg troede feks at single skulle bruges når man behandlede tal.. :)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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