Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] jak uzyskać id poprzedniegi i nastepnego rekordu
Forum PHP.pl > Forum > Przedszkole
puz219
Witam.

Mam taki problem, potrzebuje wyświetlić id poprzedniego i następnego rekordu, tylko nie wiem, w jaki sposób tego dokonać.

Kombinowałem już z tablicami i z funkcjami prev() i next(), ale to w ogóle nie działa.

Oto w jaki sposób pobieram i wyświetlam dane z MySQL

  1. <?php
  2. $sql = mysql_query("SELECT `wykonawca_id`, `imie_nazwisko` , `nazwa` , `adres` , `telefon` , `email` , `strona_www` , `opis` , `order` FROM `renoma_wykonawcy` WHERE `publikuj` = 1 ORDER BY `order` ");
  3. if(mysql_num_rows($sql) > 0) {
  4.    echo "<h1>Zaakceptowani wykonawcy</h1>";
  5.    $znalezionych=mysql_num_rows($sql);
  6.    //$changedIDs_prev = explode("|", getPublicedWykIDarray());
  7.    //$changedIDs_next = explode("|", getPublicedWykIDarray());
  8.    //reset($changedIDs_prev);
  9.    //reset($changedIDs_next);
  10.    for($g=0; $g<$znalezionych; $g++) {
  11.    list($wykonawca_id, $imie_nazwisko, $nazwa, $adres, $telefon, $email, $www, $opis) = mysql_fetch_row($sql);
  12.        ?>
  13.        <li><a href="../index.php?strona_id=10&akcja=pokaz&wykonawca=<?=$wykonawca_id?>" target="_blank"><b><?=$nazwa?></b> (<?=$imie_nazwisko?>)</a>
  14.        <?php
  15.        //if(prev($changedIDs) != NULL) {
  16.        ?>
  17.        <a href="?zmien_pozycje=<?=$wykonawca_id?>&type=up&change_id=<?=prev($changedIDs_prev)?>" title="zmien pozycje w gore"><img src="images/arrow_up.png" border="0" /></a>
  18.        <?php
  19.        //}
  20.        if(next($changedIDs_next) != NULL) {
  21.        ?>
  22.        <a href="?zmien_pozycje=<?=$wykonawca_id?>&type=down&change_id=<?=next($changedIDs_next)?>" title="zmien pozycje w dol"><img src="images/arrow_down.png" border="0" /></a>
  23.        <?php
  24.        }
  25.        ?>
  26.        <a href="?edytuj_dane=<?=$wykonawca_id?>" title="edytuj dane"><img src="images/icon-edytuj.gif" border="0" /></a>
  27.        <a href="?usun=<?=$wykonawca_id?>" title="usun wykonawce"><img src="images/iscon-usun.gif" border="0" /></a>
  28.        <br><br />
  29. <?php
  30. }
  31. }


Proszę o pomoc, jak rozwiązać ten problem.

Pozdrawiam
kefirek
Możesz tak
  1. <?php
  2. $nas = mysql_result(mysql_query("SELECT MIN(wykonawca_id) FROM renoma_wykonawcy WHERE id>'$wykonawca_id'"),0);
  3. echo "$nas";
  4. ?>


Podobnie z poprzednim.
dr_bonzo
http://nospor.pl/mysql-faq-n25.html#faq-4
puz219
kurcze, skomplikowane to dla mnie sad.gif

przykład kefirek'a wrzuciłem do pętli

  1. <?php
  2. for($g=0; $g<$znalezionych; $g++) {
  3. //........ tresc
  4. $changedIDs_next = mysql_result(mysql_query("SELECT MIN(wykonawca_id) FROM renoma_wykonawcy WHERE id>'".$wykonawca_id."'"),0);
  5. ?>
  6. <a href="?zmien_pozycje=<?=$wykonawca_id?>&type=down&change_id=<?=$changedIDs_next?>" title="zmien pozycje w dol"><img src="images/arrow_down.png" border="0" /></a>
  7. <?php
  8. }
  9. ?>


i wywala mi błąd:
Warning: mysql_result(): supplied argument is not a valid MySQL result resource in /virtual/pl/h2/r/admin/wykonawcy.php on line 76

Co zrobiłem źle?
kefirek
Bo do petli wstawisz tylko $next
czyli
  1. <?php
  2. $next = mysql_result(mysql_query("SELECT MIN(wykonawca_id) FROM renoma_wykonawcy WHERE id>'".$wykonawca_id."'"),0);
  3. for($g=0; $g<$znalezionych; $g++) {
  4. //........ tresc
  5. ?>
  6. <a href="?zmien_pozycje=<?=$wykonawca_id?>&type=down&change_id=<?=$next?>" title="zmien pozycje w dol"><img src="images/arrow_down.png" border="0" /></a>
  7. <?php
  8. }
puz219
zrobiłem funkcje, gdzie wprowadzam id wykonawcy, a ta zwraca mi id poprzedniego, tylko, że niestety nie działa tak jak należy, kolejność jest zupełnie inna.

Oto kod funkji:
  1. <?php
  2. function getPubPrevWykID($id) {
  3. global $config;
  4. $prev = mysql_result(mysql_query("SELECT MIN(wykonawca_id) FROM renoma_wykonawcy WHERE wykonawca_id>'".$id."'"),0);
  5.  
  6. return $prev;
  7. }
  8. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.