Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql] Wyciąganie danych, jeżeli ten sam miesiąc i rok to żeby nie powtarzało
Forum PHP.pl > Forum > Przedszkole
in5ane
Hi, mam problem, ponieważ nie wiem jak zrobić zapytanie, aby gdy wyciągnie już rekord powiedzmy z października 2007 to już następnego z tym samym miesiącem ma nie wyciągać, czyli np.: październik 2007, luty 2006, sierpień 2005.

Oto kod:
  1. <?php
  2.  
  3. $query = "SELECT * FROM page_news WHERE status = '2'";
  4. $result = mysql_query($query);
  5. echo '<p><form style="text-align: center;" action="news_archiwum.php"><select>';
  6. while ($row = mysql_fetch_array($result)) {
  7.  
  8. $miesiac = date('m', $row[data_dodania]);
  9.  switch ($miesiac) {
  10.  case '01': $miesiac = 'styczeń'; break; 
  11.  case '02': $miesiac = 'luty'; break; 
  12.  case '03': $miesiac = 'marzec'; break; 
  13.  case '04': $miesiac = 'kwiecień'; break; 
  14.  case '05': $miesiac = 'maj'; break; 
  15. case '06': $miesiac = 'czerwiec'; break; 
  16.  case '07': $miesiac = 'lipiec'; break; 
  17.  case '08': $miesiac = 'sierpień'; break; 
  18.  case '09': $miesiac = 'wrzesień'; break; 
  19.  case '10': $miesiac = 'październik'; break; 
  20.  case '11': $miesiac = 'listopad'; break; 
  21.  case '12': $miesiac = 'grudzień'; break; 
  22.  default: $miesiac = 'niezidentyfikowany'; break; 
  23. }
  24.  
  25. echo '<option value ="';
  26. echo date('m, Y', $row[data_dodania]);
  27. echo '">';
  28. echo $miesiac.' '.date('Y', $row[data_dodania]); 
  29. echo'</option>';
  30. }
  31. echo '</select></p><p style="margin: 10 0 0 0;"><input class="mainoption" type="submit" value="OK"></form></p>';
  32.  
  33. ?>
qqrq
Może tak:

  1. <?php
  2. $query = "SELECT * FROM page_news WHERE status = '2'";
  3. $result = mysql_query($query);
  4. $ddd = array();
  5. echo '<p><form style="text-align: center;" action="news_archiwum.php"><select>';
  6. while ($row = mysql_fetch_array($result)) {
  7.  
  8. $miesiac = date('m', $row[data_dodania]);
  9.  switch ($miesiac) {
  10.  case '01': $miesiac = 'styczeń'; break; 
  11.  case '02': $miesiac = 'luty'; break; 
  12.  case '03': $miesiac = 'marzec'; break; 
  13.  case '04': $miesiac = 'kwiecień'; break; 
  14.  case '05': $miesiac = 'maj'; break; 
  15. case '06': $miesiac = 'czerwiec'; break; 
  16.  case '07': $miesiac = 'lipiec'; break; 
  17.  case '08': $miesiac = 'sierpień'; break; 
  18.  case '09': $miesiac = 'wrzesień'; break; 
  19.  case '10': $miesiac = 'październik'; break; 
  20.  case '11': $miesiac = 'listopad'; break; 
  21.  case '12': $miesiac = 'grudzień'; break; 
  22.  default: $miesiac = 'niezidentyfikowany'; break; 
  23. }
  24. if (isset($ddd[$miesiac])) 
  25.  continue;
  26. else
  27.  $ddd[$miesiac] = true;
  28. echo '<option value ="';
  29. echo date('m, Y', $row[data_dodania]);
  30. echo '">';
  31. echo $miesiac.' '.date('Y', $row[data_dodania]); 
  32. echo'</option>';
  33. }
  34. echo '</select></p><p style="margin: 10 0 0 0;"><input class="mainoption" type="submit" value="OK"></form></p>';
  35. ?>


Czy jakoś podobnie.
in5ane
Dzięki działa smile.gif

@edit:
Jednak jak mam wrzesień 2006 i wrzesień 2007 (to jest przykładowe) to wyświetla tylko to, które jest ma wcześniejsze ID, czyli np. wrzesień 2006, a już wrzesień 2007 nie wyświetla, a też powinno, no bo to już inny miesiąc (bo z innego roku).

@edit2:
Dobra działa, na tyle się wysiliłem, aby poszukać błędu tongue.gif
qqrq
Cytat(in5ane @ 7.10.2007, 18:20:31 ) *
Dobra działa, na tyle się wysiliłem, aby poszukać błędu tongue.gif


No i brawo. Szukanie byków to podstawa. smile.gif
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.