Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Jak wyświetlić kolejny rekord z bazy pasujący do warunku?
Forum PHP.pl > Forum > Przedszkole
Tomek_K
Cześć, mam bazę danych w której przetrzymywane są wykonane projekty. Są tam dane dotyczące wykonawców, powierzchni itd itd i jest też pole zawierające wartość PROJECT_CATHEGORY. Kateogrii projektów jest 5, ustawia się je przy dodawaniu. Przyjmijmy, że kategorie numerowane od 1 - 5 i w bazie wygląda to tak:
  1. 1
  2. kategoria pole id
  3. 3 1
  4. 2 2
  5. 3 3
  6. 3 4
  7. 5 5
  8. 3

Każdy z nich ma swoje określone id. Jak po pobraniu tylko projektów z kategorii 3 poczynając od pierwszego przeskoczyć do kolejnych? z wykorzystaniem, albo bez uzywania pola ID.(W sensie jak z ID 1 przejść do id 3. Myślałem, żeby w pętli zrobić licznik i dopóki $r['kategoria'] != $_GET['cathegory'], to zwiększać id obecnie pokazywanego wpisu - wtedy w momencie napotkania kolejnego wpisu z kategorii id zwiększane będzie takie samo jak jego, ale ma to jedną wadę - pobrane wpisy mają taką samą kategorię)
mmmmmmm
W pętli while(){}
Tomek_K
No też o tym myślałem, ale tak jak pisałem - pomysł wysypuje się na tym, że kategoria zawsze jest taka sama. Chyba, że masz jakąś inną wizję tego rozwiązania to chętnie posłucham ;p

Chyba, że można by najpierw pobrać jeden rekord pasujaćy do kategorii i wyświetlić go jako "ostatnio dodany" dla danej kategorii, a potem kategorię zapisac w zmiennej $cathegory i po pojawieniu się ?id
  1. if(isset($_GET['id'])
sprawdzać to przy pomocy while()
mmmmmmm
Daj kod PHP, bo nie rozumiem. Z kody prędzej skumam.
Tomek_K
kod jeszcze nie powstał, na razie szukam pomysłu na rozwiązanie.

  1. if($_SESSION['lang'] == 'fr') { //w wypadku gdy jest to język francuski
  2. $ask = mysql_query("SELECT * FROM projectfr WHERE project_cathegory='".$_GET['cathegory']."' ORDER BY project_id DESC LIMIT 1"); // pobieramy ostatni projekt dodany do bazy i wyświetlamy.
  3. if(mysql_num_rows($ask) > 0){ //sprawdzanie czy jakiś rekord został dodany do bazy
  4. while($r = mysql_fetch_assoc($ask)){


tutaj jest tylko pobieranie ostatniego dodanego projektu z wybranej kategorii. I teraz szukam pomysłu jak przejść do wcześniejszego jeżeli ich id nie są po kolei smile.gif
mmmmmmm
Wywal LIMIT.
Tomek_K
ale nie chcę pobierać i wyświetlać wszystkich tylko jeden ostatni, więc dlaczego wywalać LIMIT ?
sobol6803
To w końcu chcesz tylko 1, ostatni projekt z danej kategorii z bazy wyciągnąć, czy wszystkie, czy jak?

Jak chcesz przedostatni z kategorii, to limit na 2 ustaw i select Ci 2 wiersze pobierze. Jak chcesz 3 to 3, itd.
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.