Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Sprawdzenie czy podane liczby padły, w żądanym okresie czasu
maverickkk
post 21.01.2006, 21:28:57
Post #1





Grupa: Zarejestrowani
Postów: 181
Pomógł: 0
Dołączył: 12.11.2005

Ostrzeżenie: (0%)
-----


Hi.

Mam bazę z tabelami przechowująca liczby z dużego lotka

| data | liczba1 | liczba2 | liczba3 | liczba4 | liczba5 | liczba6 |

i moje pytanie. Jak powinno wyglądać zapytanie aby wpisująć w 6 pól formularza liczby oraz zaznaczając okres od / do sprawdziś czy takie liczby padły w danym okresie czasu.

część odpowiedzialna za sprawdzenie czy dana liczb istnieje wygląda tak:

$liczbazszukana[$i]- jest tablicą zapełniona 6 liczbami wprowadzonymi z formularza.

  1. <?php
  2. for($i=1;$i<7;$i++)
  3.  if($liczbazszukana[$i])
  4.  {
  5. $zapytanie=mysql_query("SELECT * FROM duzylotek where liczba1 LIKE $liczbazszukana[$i] OR liczba2 L
    IKE $liczbazszukana[$i] OR liczba3 LIKE $liczbazszukana[$i] OR liczba4 LIKE $licz
    bazszukana[$i] OR liczba5 LIKE $liczbazszukana[$i] OR liczba6 LIKE $liczbazszukan
    a[$i]"
    ) or die ("Wkonanie zapytania nie możliwe2");
  6.    $rezultat=mysql_num_rows($zapytanie);
  7.    echo "<br  />Liczba <b>$liczbazszukana[$i]</b> występuje: $rezultat razy ";
  8.  }
  9.  
  10. ?>


i teraz co trzeba zrobić to dodać to zapytania ograniczenie where data >= '$data1' and data <= '$data2' ale jak podam je w takie postaci to pokazuje mi liczbe rekorow od dnia do dnia co jest logiczne a chce zrobić aby pokazywało to oczym pisałem na początku.

Z góry thx za pomoc.

Ten post edytował maverickkk 21.01.2006, 21:30:04


--------------------
Robie to co lubie, lubie to co Robie
Go to the top of the page
+Quote Post
crash
post 21.01.2006, 22:48:58
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

Ostrzeżenie: (0%)
-----


Może lepiej tak to napisać:
  1. <?php
  2. // $nums to Twoja $liczbazszukana (6 podanych liczb)
  3. $where = array();
  4. for( $i = 1; $i <= 6; $i++ )
  5. {
  6.  $where[] = 'liczba' . $i . ' = IN (' . implode( ', ', $nums ) . ' )';
  7. }
  8. $where = '( ' . implode( ' OR ', $where ) . ' )';
  9.  
  10. $data = mysql_query( 'SELECT * FROM duzylotek WHERE ' . $where . ' AND data >= "' . $data1 . '" AND data <= "' . $data2 . '"' );
  11. ?>


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 26.06.2025 - 21:18