Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]przekazanie zmiennej, dzień miesiąca w zapytaniu do sql (tablice)
wojtekwro
post
Post #1





Grupa: Zarejestrowani
Postów: 60
Pomógł: 0
Dołączył: 26.04.2007

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


Witam,

mam problem, pisząc skrypt "lista obecności" zatrzymałem się w 1 miejscu.
  1. <table border=1 cellpadding=0 cellspacing=0 width= 90%>
  2. <tr>
  3. <td>dzień</td>
  4. <td>user1</td>
  5. <td>user2</td>
  6. <td>user3</td>
  7. <td>user4</td>
  8. </tr>
  9. <div id="kalendarz">
  10.  
  11. <?php
  12. $parm=$_GET['parm']; // $parm to numer miesiąca w postaci xx
  13. function dni_mies($parm,$rok) {
  14.  
  15.  $dni = 31;
  16.  while (!checkdate($parm, $dni, $rok)) $dni--;
  17.  
  18.  
  19. return $dni;
  20. }
  21.  echo '<b class="hidden">00</b> ';
  22.  
  23. for($i=1;$i<dni_mies(date("$parm"),date("Y")) +1;$i++) {
  24.  if ($i<10) $i = '0'.$i;
  25.  echo '<tr><td>'.$i.'</td> ';
  26. } ?>
  27. </div>
  28. <td>--------- zapytanie do sql ---------------</td>
  29. <td></td>
  30. <td></td>
  31. <td></td>
  32.  
  33. </tr>
  34. </table>


w miejscu zapytanie do sql chciałbym umieścić coś co sprawdzałoby mi czy istnieje wpis, że user 1 w dniu 20-08-2008 logował się do serwisu. Baza jest bardzo prosta id user i data. Problem mam w tym, że nie wiem jak wykonać takie zapytanie tak aby robiło się to z automatu, próbowałem wykorzystać funkcję stworzoną do wypisania dni danego miesiąca ale nie działa. Nie wiem jak przekazać zmienną $i do zapytania w sql. Jak stworzyć zapytanie które po przejrzeniu bazy dla np lutego 28 / 29 dni nie będzie szukało dalej tylko skończy przeszukiwania i wyświetli mi rezultat w tabeli. oraz jak prawidłowo umieścić dane obok dnia miesiąca w pierwszym rzędzie. Czyli 1 luty logował się wyświetla +, 2 luty brak wpisu wyświetla - itp itd.

Z góry dziękuję
Wojtek

Ten post edytował wojtekwro 20.08.2008, 19:58:48
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
luck
post
Post #2





Grupa: Zarejestrowani
Postów: 317
Pomógł: 58
Dołączył: 6.11.2005

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


Użyj zapytania (z głowy, ale powinno zadziałać)
  1. <?php
  2. SELECT user_login, DAY(date) AS dzien FROM obecny WHERE YEAR(date)='. $rok .' AND MONTH(date)=. $miesiac;
  3. ?>

Potem robisz np.
  1. <?php
  2. $obecnosci = array();
  3. while ($row = mysql_fetch_object ($wynikZapytania)) {
  4. $obecnosci[$row->user_login][$row->dzien] = 'byl';
  5. }
  6. ?>

Na koniec przy generowaniu tabelki sprawdzasz, czy w tabeli $obecnosci jest klucz z okreslonym userem i dniem tygodnia. Klucz jest = user był obecny, brak klucza = user nieobecny.
Pokombinuj trochę, ale nie wysyłaj do bazy miliona niepotrzebnych zapytań (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Ten post edytował luck 20.08.2008, 19:54:54
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 10.10.2025 - 10:42