Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php+MySql]Wyszukiwanie miejsca w tabeli.
Forum PHP.pl > Forum > Przedszkole
Amorph
mam zapytanie do bazy:
  1. <?php
  2. $x="Jakies_Imie";
  3.  
  4. $zapytanie = "SELECT COUNT(id) FROM tabela WHERE Punkty >= (SELECT Punkty FROM baza WHERE Imie LIKE "".$x."" )";
  5. ?>


I wszystko ladnie smiga do czasu kiedy w bazie sa 2 identyczne imiona.... chce aby zapytanie wskazywalo mi osobe o najwyzszym id z Danym imieniem, czyli teoretycznie ostatnio dopisana....
Jestescie w stanie pomoc mi zlokalizowac blad ?
Z gory wielkie dzieki.
suck
jesli nie masz pola w ktorym bylaby data dopisania rekordu to zakladam, ze pole id jest auto incrementowane wiec mozesz zrobic do wyswietlenia if, ktory jesli imiona sie powtorza to wyswietlasz te, ktore ma wieksze id bo tak z logiki wynika.
Amorph
Pole id ma autoinkementacje.
Jak zrobic zalozenie if ?
moze jakis przyklad ?
tu wybieram najwyzszy id
  1. <?php
  2. SELECT COUNT(id) FROM tabela WHERE Punkty
  3. ?>
batman
Najwyższy id wybieraj przez max a nie count.

A jeśli chcesz wyświetlić największy id przy pomocy SQL(sprawdzone na postgresie):

  1. SELECT * FROM tabela WHERE name='imie' AND id = (SELECT max(id) FROM tabtest)

Możesz też napisać:

  1. SELECT * FROM tabela WHERE name='imie' ORDER BY id DESC LIMIT 1

lub:

  1. SELECT max(id) FROM tabela WHERE name='imie'
Amorph
Tyle ze przy zapytaniu count(id) rowniez licze ktora pozycje w tabeli po posortowaniu wg. punktow zajmuje dane imie. Przez max juz to nie wyjdzie

edit:
Wyszlo mi:
  1. <?php
  2. $zapytanie = "SELECT COUNT(id) FROM baza WHERE Punkty >= (SELECT Punkty FROM tabela WHERE Imie LIKE "".$x.""ORDER BY id DESC LIMIT 1 )";
  3. ?>

Bardzo dziekuje za pomoc....
batman
Przecież count nie zwraca pozycji danego wiersza lecz ich ilość. Zapytanie, które napisałeś zwróci Ci ilość id w tabeli baza, gdzie punkty są równe lub większe od tego co zwróci podzapytanie.
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.