Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]System Newsów i... błąd !
iksior
post 9.03.2011, 22:24:08
Post #1





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 30.01.2010

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


Tak więc znalazłem w sieci system newsów oto jego skrypt
  1. <?php
  2. session_start(); // Obsługa sesji na stronie
  3. $dbh = mysql_connect("localhost", "root", ""); // Logowanie do bazy danych
  4. mysql_select_db("baza"); // Wybieranie bazy danych
  5. if(isset($_SESSION['login'])){ // Sprawdzanie czy user jest zalogowany, w miejsce login należy wstawić nazwę swojej sesji, która jest włączana przy logowaniu. Warunek ten nie jest konieczny jeśli chcecie by każdy user widział newsy - wykasujcie to i jeden } na końcu
  6. $news_strona = 5; // ile ma być newsów na stronę
  7. $x = $_GET['x']; // Pobieranie aktualnej strony
  8. if($x == NULL){ // Sprawdzanie czy $x nie jest puste
  9. $x = 1; // Jeśli jest puste to znaczy, że strona to strona nr. 1
  10. }
  11. $x = $x*$news_strona-5; // Ot obliczenie;)
  12. $x = ceil($x);
  13. $dzien = 60*60*24; // Ilość sekund w dniu
  14. $mysql = mysql_query("select * from `news` limit $x, $news_strona order by `id` desc"); // Zapytanie do bazy wyciągające z niej newsy od $x (pobiera ilość: $news_strona)
  15. while($news = mysql_fetch_array($mysql)){ // Pętla powtarzająca się $news_strona razy
  16. $time = time(); // Aktualna data w sekundach od 1970r.
  17. if(($news['date']+$dzien) <= $time){ // Warunek sprawdzający jak ma być wyświetlana data
  18. $data = date("d-m-Y");
  19. }
  20. else {
  21. $data = $time-$news['date'];
  22. $data = $data/60;
  23. $data = $data.' minut temu';
  24. }
  25. echo $news[1].'
  26.  
  27. Napisane przez '.$news[2].', '.$data.''; // Tu ustalacie jak ma być wyświetlany tekst
  28. }
  29. $mysql = mysql_query("select * from `news`"); // Zliczanie ilości newsów
  30. $ilosc_stron = mysql_num_rows($mysql); // To samo
  31. $ilosc_stron = ceil($ilosc_stron/$news_strona); // Obliczanie ile jest stron
  32. for($i=1;$i<=$ilosc_stron;$i++){
  33. echo "[$i]"; // Tu ustawcie jak mają być wyświetlane strony
  34. }
  35. }
  36. ?>

a oto błąd:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\wamp\www\ded\news.php on line 15
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
gorden
post 9.03.2011, 22:36:53
Post #2





Grupa: Zarejestrowani
Postów: 486
Pomógł: 101
Dołączył: 27.06.2010

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


Zamień linię 15 na:
  1. while($news = mysql_fetch_array($mysql) or die(mysql_error())){ // Pętla powtarzająca się $news_strona razy


Na pewno podałeś dobre dane do połączenia z bazą danych, stworzyłeś odpowiednie tabele etc.?
Go to the top of the page
+Quote Post
iksior
post 11.03.2011, 07:20:57
Post #3





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 30.01.2010

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


Teraz błąd wygląda następująco
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'order by `ID` desc' at line 1
a tabele tworzyłem takim zapytaniem:
  1. CREATE TABLE `news` (
  2. `ID` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
  3. `tekst` TEXT NOT NULL ,
  4. `autor` TEXT NOT NULL ,
  5. `date` BIGINT NOT NULL
  6. ) ENGINE = MYISAM;


ref

Refresh
Go to the top of the page
+Quote Post
xrtxgabv
post 11.03.2011, 08:53:02
Post #4





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 11.03.2011

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


W lini 15 daj sobie
Kod
echo "select * from `news` limit $x, $news_strona order   by `id` desc";

potem zapytanie które Ci wyświetli wykonaj bezpośrednio w bazie
zobaczysz czemu Ci nie zwraca żadnych rekordów
Go to the top of the page
+Quote Post
nospor
post 11.03.2011, 08:57:47
Post #5





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




http://dev.mysql.com/doc/refman/5.0/en/select.html
I proponuję przyjrzeć się kolejności co się daje najpierw a co potem.
A następnie skonfronować tę kolejność z kolejnością w swoim zapytaniu


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

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: 31.07.2025 - 10:49