Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php i MySQL]
Forum PHP.pl > Forum > Przedszkole
Frozen
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
LBO
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
Frozen
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>
Kuziu
  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
LBO
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
Frozen
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
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.