Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Rekordy z dzisiaj i ostatnich 7 dni
Forum PHP.pl > Forum > Bazy danych > MySQL
fiwus
Witam Was!
Dzisiaj zwracam się z prośbą dotycząca dodawania rekordow z automatyczna data i godziną oraz co najwazniejsze:
- jak zrobic, aby pokazalo na stronie rekordy tylko te ktore maja mniej niz 7 dni, starszych niz 7 dni juz nie,
- zeby pokazywalo ile wpisow bylo dzisiaj dodanych w formie np, [30]
- jak zrobic zeby przy dodawaniu na stronie w formularzu danych automatycznie do bazy przypisala sie data wraz z godzina.

Prosze o pomoc, wiele razy pisalem i nie zawiedliscie mnie, otrzymywalem odpowiednie porady, prosze i dzisiaj.

Z gory dziekuje

(nie krzyczec, dopiero sie ucze)
erix
  • DATE_DIFF i to jest Twoja praca domowa
  • GROUP BY, tylko musisz sobie utworzyć odpowiednią kolumnę w select
  • CURRENT TIMESTAMP

Podałem frazy, teraz poszukaj.
fiwus
poszukalem, popytalem i mam smile.gif

rozwiazania, tylko prosze powiedziec czy nie ma w tym bledow:



1.

z tygodnia
mysql_query("SELECT * FROM `tab` WHERE UNIX_TIMESTAMP(`data`)>".strtotime("today -1 week"));



2.

z dzisiaj
mysql_query("SELECT * FROM `tab` WHERE UNIX_TIMESTAMP(`data`)>".strtotime("today 0:00"));



3.

dodawanie z automatyczna data
mysql_query("INSERT INTO `tab` SET `pole`='$zmienna', `data`=NOW()"));


karol33
chyba nie ma, sprawdziles u siebie działa?
fiwus
nie dziala wywolanie pokazujace liczbe dodanych dzisiaj wpisow..

macie jakies rozwiazanie? bede wdzieczny.


Mchl
1.
Kod
SELECT * FROM tab WHERE data > CURDATE() - INTERVAL 1 WEEK;

2.
Kod
SELECT * FROM tab WHERE DATE(data) = CURDATE();

3.
Można tak jak zrobiłeś, ale wygodniej jest zdefiniować pole w tabeli jako TIMESTAMP DEFAULT CURRENT_TIMESTAMP
fiwus
A wiec po koleji, bo nadal mi nie dziala..:/

tabela w bazie danych:
  1. CREATE TABLE `date` (
  2. `id` int(11) NOT NULL AUTO_INCREMENT,
  3. `imie` varchar(100) NOT NULL DEFAULT '',
  4. `data` date NOT NULL DEFAULT '0000-00-00',
  5. PRIMARY KEY (`id`)
  6. ) TYPE=MyISAM AUTO_INCREMENT=26 ;



kod dodajacy rekordy
  1. <?php
  2. echo '<form action="test.php" method="post">
  3. imie:
  4. <input name=imie><br>
  5. <input type=submit value=dodaj>
  6.  
  7.  
  8. </form>';
  9.  
  10. // odbieramy dane z formularza
  11. $imie = $_POST['imie'];
  12.  
  13. if($imie) {
  14.  
  15.  
  16. // dodajemy rekord do bazy
  17. $ins = @mysql_query("INSERT INTO date SET imie='$imie', data=CURDATE();");
  18.  
  19. if($ins) echo "Rekord został dodany poprawnie";
  20. else echo "Błąd nie udało się dodać nowego rekordu";
  21.  
  22.  
  23. }
  24.  
  25.  
  26.  
  27. ?>




wywolanie ktore ma pokazac wpisy z dnia dzisiejszego:

  1. #
  2. <?php
  3. #
  4. $wynik = mysql_query("SELECT * FROM date WHERE DATE(data) = CURDATE();")
  5. #
  6. or die('Błąd zapytania');
  7. #
  8.  
  9. #
  10. /*
  11. #
  12. wyświetlamy wyniki, sprawdzamy,
  13. #
  14. czy zapytanie zwróciło wartość większą od 0
  15. #
  16. */
  17. #
  18. if(mysql_num_rows($wynik) > 0) {
  19. #
  20. /* jeżeli wynik jest pozytywny, to wyświetlamy dane */
  21. #
  22. echo "<table cellpadding=\"2\" border=1>";
  23. #
  24. while($r = mysql_fetch_assoc($wynik)) {
  25. #
  26. echo "<tr>";
  27. #
  28. echo "<td>".$r['imie']."</td>";
  29. #
  30. echo "<td>
  31. #
  32. <a href=\"index.php?a=del&id={$r['id']}\">DEL</a>
  33. #
  34. <a href=\"index.php?a=edit&id={$r['id']}\">EDIT</a>
  35. #
  36. </td>";
  37. #
  38. echo "</tr>";
  39. #
  40. }
  41. #
  42. echo "</table>";
  43. #
  44. }
  45. #
  46.  
  47. #
  48. ?>


wyskakuje blad polaczenia, prosze o pomoc ostateczna sad.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.