Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Rekordy z dzisiaj i ostatnich 7 dni, How?
fiwus
post 30.06.2010, 10:26:26
Post #1





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 12.05.2010

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


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)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
erix
post 30.06.2010, 10:28:35
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




  • 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.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
fiwus
post 30.06.2010, 16:47:01
Post #3





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 12.05.2010

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


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()"));


Go to the top of the page
+Quote Post
karol33
post 1.07.2010, 07:22:30
Post #4





Grupa: Zarejestrowani
Postów: 42
Pomógł: 1
Dołączył: 23.02.2010

Ostrzeżenie: (10%)
X----


chyba nie ma, sprawdziles u siebie działa?


--------------------
dla reklamobiorcow, hull, strony
Go to the top of the page
+Quote Post
paziek
post 1.07.2010, 08:28:43
Post #5





Grupa: Zarejestrowani
Postów: 207
Pomógł: 25
Dołączył: 16.11.2006

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


http://dev.mysql.com/doc/refman/5.1/en/dat...nction_date-sub
Go to the top of the page
+Quote Post
fiwus
post 1.07.2010, 13:53:07
Post #6





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 12.05.2010

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


nie dziala wywolanie pokazujace liczbe dodanych dzisiaj wpisow..

macie jakies rozwiazanie? bede wdzieczny.


Go to the top of the page
+Quote Post
Mchl
post 1.07.2010, 15:24:07
Post #7





Grupa: Zarejestrowani
Postów: 855
Pomógł: 145
Dołączył: 17.07.2008
Skąd: High Memory Area

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


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

Ten post edytował Mchl 1.07.2010, 15:25:45
Go to the top of the page
+Quote Post
fiwus
post 1.07.2010, 20:06:13
Post #8





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 12.05.2010

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


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

Ten post edytował fiwus 1.07.2010, 20:08:14
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: 19.07.2025 - 20:47