Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php i MySQL], Wyświetlanie newsów
Frozen
post 17.04.2006, 09:08:52
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 17.04.2006

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


Chciałem zrobić prosty skrypt który by pobierał tytuł,date i treść newsa z bazy danych i następnie wyświtlał te dane w tabelce (w dwóch górnych komórkach tytuł i data w dolnej komórce treść).
Próbowałem takiego sposoby:
  1. <html>
  2. <?php
  3.  
  4. mysql_connect('localhost', 'root', '123456') or die('Problem z polonczeniem');
  5. mysql_select_db('frozen');
  6. $query1 = "SELECT tytul FROM news";
  7. $result1 = mysql_query($query1);
  8. $query2 = "SELECT news FROM news";
  9. $result2 = mysql_query($query2);
  10. $query3 = "SELECT data FROM news";
  11. $result3 = mysql_query($query3);
  12.  
  13. $column_count = mysql_num_fields($result1);
  14.  
  15. print("<table border=1>\n");
  16. while($row2 = mysql_fetch_row($result3) AND $row1 = mysql_fetch_row($result1) AND row3 = mysql_fetch_row($result2)) {
  17.   for ($column_num = 0;
  18.     $column_num < $column_count;
  19.     $column_num++)
  20. print("<tr>");
  21. print("<td>$row1[$column_count]</td>\n");
  22. print("<td>$row2[$column_count]</td>\n");
  23. print("</tr>");
  24. Print("<tr>");
  25. print("<td>$row3[$column_count]</td>\n");
  26. Print("</tr>");
  27. }
  28. print("</table>\n");
  29.  
  30. ?>
  31.  
  32. </html>

Aktualnie w lini 17 mam errror: "Parse error: parse error in c:\usr\apache\httpd\html\3.php on line 17" , przy wcześniejszych próbach nie miałem z tym problemu, ale w mojej tabelce tworzą się puste pola. mad.gif
Dopiero co zaczynam sie uczyć php (tzn. nie tak dopiero co ale teraz zacząłem tak.. poważniej smile.gif) i zawsze gdy miałem jakiś problem to starałem się go samemu rozwiązać ale to były raczej rzeczy robione na podstawie książki a teraz to jest bardziej mój wymyślony pomysł. Najprawdopodobniej to że ten skrypt nie działa wynika z mojej niewidzy ale bardzo prosze o pomoc i ew. podsyłanie linków z jakimiś tutkami do tworzenia systemów newsów itp.
Z góry dziękuje za pomoc i Pozdrawiam Frozen smile.gif

Ten post edytował Frozen 17.04.2006, 09:11:44
Go to the top of the page
+Quote Post
LBO
post 17.04.2006, 09:42:36
Post #2





Grupa: Zarejestrowani
Postów: 1 415
Pomógł: 117
Dołączył: 7.09.2005
Skąd: Warszawa

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


zamiast 3 zapytań, wystarczy jedno:
  1. <?php
  2.  
  3. $query = 'SELECT tytul, news, data FROM news';
  4. $result = mysql_query($query);
  5.  
  6. ?>


zupełnie skopałeś while:

  1. <?php
  2.  
  3. while($row = mysql_fetch_array($result)) {
  4. print("<tr>");
  5. print("<td>$row['tytul']</td>\n");
  6. print("<td>$row['news']</td>\n");
  7. print("</tr>");
  8. print("<tr>");
  9. print("<td colspan=2>$row['data']</td>\n");
  10. print("</tr>");
  11. }
  12.  
  13. ?>


...pomogłem teraz, ale radzę zajrzeć tutaj zanim zabierzesz sie dalej do roboty smile.gif cheers
Go to the top of the page
+Quote Post
Frozen
post 17.04.2006, 11:17:36
Post #3





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 17.04.2006

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


Wielkie dzięki za pomoc. Po odpowiednim włożeniu tego co poprawiłeś do mojego kodu pojawił się niestety taki błąd: "Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\usr\apache\httpd\html\3.php on line 10". Z tego co zrozumiałem chodzi o to że informacje z bazy nie mogą być przetworzone przez mysql_fetch_array(). Tylko że w bazie wszystko jest ok.
Tutaj podaje nowy kod, jeżeli okaże się że jest dobry to dam wrzuce tu jakos jak mam zrobioną baze.
  1. <html>
  2. <?php
  3. mysql_connect('localhost', 'root', '123456') or die('Problem z polonczeniem');
  4. mysql_select_db('frozen');
  5. $query = 'SELECT Tytul, news, data FROM news';
  6. $result = mysql_query($query);
  7.  
  8. $column_count = 4;
  9.  
  10. while($row = mysql_fetch_array($result)) {
  11.   for ($column_num = 0;
  12.     $column_num < $column_count;
  13.     $column_num++)
  14.     print("<tr>");
  15.     print("<td>$row[Tytul]</td>\n");
  16.     print("<td>$row[news]</td>\n");
  17.     print("</tr>");
  18.     print("<tr>");
  19.     print("<td colspan=2>$row[data]</td>\n");
  20.     print("</tr>");
  21. }
  22.  
  23. ?>
  24.  
  25. </html>


Ten post edytował Frozen 17.04.2006, 11:18:15
Go to the top of the page
+Quote Post
Kuziu
post 17.04.2006, 11:21:35
Post #4





Grupa: Zarejestrowani
Postów: 743
Pomógł: 0
Dołączył: 11.11.2003
Skąd: Toruń

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


  1. <?php
  2. $result = mysql_query($query);
  3. ?>


Zmień tą linię na

  1. <?php
  2. $result = mysql_query($query) or die(mysql_error());
  3. ?>


I powiedz co sie pojawia


--------------------
Słońce zachodzi ... kolejna noc nadchodzi ...
Go to the top of the page
+Quote Post
LBO
post 17.04.2006, 12:07:01
Post #5





Grupa: Zarejestrowani
Postów: 1 415
Pomógł: 117
Dołączył: 7.09.2005
Skąd: Warszawa

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


czytaj komentarze, dostosuj sie...
  1. <html>
  2. <?php
  3. mysql_connect('localhost', 'root', '123456') or die('Problem z poł<b>ą</b>czeniem');
  4. mysql_select_db('frozen');
  5. $query = 'SELECT tytul, news, data FROM news';
  6. $result = mysql_query($query);
  7.  
  8. $column_count = 4; //wywal
  9.  
  10. while($row = mysql_fetch_array($result)) {
  11. //wywal linijke poniżej, 4 razy wypisuje '<tr>' do kazdego news'a
  12. for ($column_num = 0; $column_num < $column_count; $column_num++)
  13. print("<tr>");
  14. print("<td>$row['tytul']</td>\n");
  15. print("<td>$row['news']</td>\n");
  16. print("</tr>");
  17. print("<tr>");
  18. print("<td colspan=2>$row['data']</td>\n");
  19. print("</tr>");
  20. }
  21.  
  22. ?>
  23.  
  24. </html>


i wykorzystaj radę ~Kuziu

Ten post edytował LBO 17.04.2006, 12:10:20
Go to the top of the page
+Quote Post
Frozen
post 17.04.2006, 21:22:15
Post #6





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 17.04.2006

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


Wielkie dzięki bardzo mi pomogliscie biggrin.gif . A to instrukcje warunkową for wstawiłem bo niedokońca rozumiałem działanie tej funkcji która przerabia dane na tablice.
A tutaj działajacy kod może się komus przyda.
  1. <html>
  2. <?php
  3. mysql_connect('localhost', 'root', '123456') or die('Problem z polonczeniem');
  4. mysql_select_db('frozen');
  5. $query = 'SELECT Tytul, news, data FROM news';
  6. $result = mysql_query($query) or die(mysql_error());
  7. echo '<center>';
  8. echo '<table border=0>';
  9. while($row = mysql_fetch_array($result)) {
  10. print("<tr>");
  11. print("<td>$row[Tytul]</td>\n");
  12. print("<td>$row[data]</td>\n");
  13. print("</tr>");
  14. print("<tr>");
  15. print("<td colspan=2>$row[news]</td>\n");
  16. print("</tr>");
  17. }
  18. echo '</table>';
  19. echo '</center>';
  20. ?>
  21.  
  22. </html>

Jeszcze raz dzięki i Pozdrawiam Frozen
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: 12.06.2025 - 12:29