Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]Do którego przedziału nalezy liczba?
Forum PHP.pl > Forum > PHP
kukix
Witam.
Mam wpisy w bazie np:


  1. NAZWA OD DO
  2. POZYCJA_1 0 0
  3. POZYCJA_2 1 15
  4. POZYCJA_3 16 *



mam zmienną $numer = 4;

jak teraz sprawdzić, do którego przedziału nalezy ta liczba.. dodam, że chcialbym najpierw wybrac te przedziały z bazy do tablicy
i później sprawdzić, ponieważ będzie duzo takich operacji..

Będe wdzięczny za wszelkie wypowiedzi.
erix
BETWEEN
kukix
Cytat(erix @ 2.03.2010, 17:56:18 ) *
BETWEEN

tak, tylko, że potrzebuje w takim razie wykonac 100 zapytań z tym between...

zastanawiam sie, czy nie ma innego sposobu/pomysłu, zeby najpierw pobrac wszustkie przedziały z bazy a później wykonac na nich operacje..

morgan
No to pobierz wszystkie elementy z tablicy wykonujac select * from twoja_tabela
zapisz dane do jakiejs tablicy
potem dla kazdej liczby ktorej masz sprawdzic BETWEEN wykonaj sprawdzanie w tej tablicy
czyli wlasciwie dwie petle i 1 lub 2 * if
wszystko
Pawel_W
najprościej wybrać wszystko posortowane do tablicy, tak żeby było w takiej formie:
  1. array(0,15,itd...);

a potem robisz loopa po pętli i sprawdzasz, czy wartość jest większa od szukanej, jeżeli tak to znalazłeś przedział smile.gif
-=Peter=-
  1. SELECT * FROM tabela WHERE ? BETWEEN od AND do
Pilsener
Cytat
chcialbym najpierw wybrac te przedziały z bazy do tablicy
- przedziały mają "stały" skok. np. co 15? Wtedy łatwo to zrobisz w PHP, jeśli nie, to:
  1. $zrzut = mysql_query($zapytek);
  2. while($tab = mysql_fetch_assoc($zrzut)){
  3. if($liczba>$tab['od'] && $liczba<$tab['do']){
  4. $przedzial = $tab['nazwa'];
  5. break;
  6. }
  7. }
  8. echo $przedzial;
-obrabiasz tabelę i przeszukujesz po kolei każdy przedział, jak znajdziesz właściwy kończysz szukanie i wyświetlasz nazwę przedziału. Powinno działać.
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.