Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Łączenie z bazą danych
Forum PHP.pl > Forum > Przedszkole
kosior11
  1. <table width=580px align="top" border="10">
  2.  
  3. <tr>
  4. <td><a href="dodaj.php"><img src="html/dodaj.jpg"></a></td>
  5.  
  6. <tr bgcolor="#FF6600">
  7. <td>kategoria 1</td>
  8. <tr>
  9. <td>
  10. <table width=580>
  11.  
  12. <?php
  13. [b]include("polacz.php");[/b]
  14. $query = mysql_query("select * from news WHERE `kat_id` = '1'");
  15. while($rekord = mysql_fetch_array($query))
  16. {
  17. $naz .= '<table><img src="html/f_6.jpg"><a href="news.php?id='.$rekord[0].'">'.$rekord[1].'</a> Autor: '.$rekord[3].' - '.$rekord[2].'<br><center><img src="html/linia.jpg"></center></br></table>';
  18.  
  19. echo '<tr>'.$naz.'</tr>';
  20.  
  21. }
  22. ?>
  23.  
  24. </td>
  25. <tr>
  26. <td><a href="ekstra.php">(więcej)</a></td>
  27. </tr>
  28.  
  29.  
  30.  
  31.  
  32. <tr bgcolor="#FF6600">
  33. <td>kategoria 2</td>
  34. <tr>
  35. <td>
  36. <table width=580>
  37.  
  38. <?php
  39. [b]include("polacz.php");[/b]
  40. $query = mysql_query("select * from news WHERE `kat_id` = '2'");
  41. while($rekord = mysql_fetch_array($query))
  42. {
  43. $naz .= '<table><img src="html/f_1.gif"><a href="news.php?id='.$rekord[0].'">'.$rekord[1].'</a> Autor: '.$rekord[3].' - '.$rekord[2].'<br><center><img src="html/linia.jpg"></center></br></table>';
  44.  
  45. echo '<tr>'.$naz.'</tr>';
  46. }
  47. ?>
  48.  
  49. </td>
  50. </tr>
  51.  
  52. <tr bgcolor="#FF6600">
  53. <td>kategoria 3</td>
  54. <tr>
  55. <td>
  56. <table width=580>
  57.  
  58. <?php
  59. [b]include("polacz.php"); [/b]
  60. $query = mysql_query("select * from news WHERE `kat_id` = '3'");
  61. while($rekord = mysql_fetch_array($query))
  62. {
  63. $naz .= '<table><img src="html/f_2.jpg"><a href="news.php?id='.$rekord[0].'">'.$rekord[1].'</a> Autor: '.$rekord[3].' - '.$rekord[2].'<br><center><img src="html/linia.jpg"></center></br></table>';
  64.  
  65. echo '<tr>'.$naz.'</tr>';
  66. }
  67. ?>
  68.  
  69. </td>
  70. </tr>
  71.  
  72. <tr bgcolor="#FF6600">
  73. <td>kategoria 4</td>
  74. <tr>
  75. <td>
  76. <table width=580>
  77.  
  78. <?php
  79. [b]include("polacz.php"); [/b]
  80. $query = mysql_query("select * from news WHERE `kat_id` = '4'");
  81. while($rekord = mysql_fetch_array($query))
  82. {
  83. $naz .= '<table><img src="html/f_3.jpg"><a href="news.php?id='.$rekord[0].'">'.$rekord[1].'</a> Autor: '.$rekord[3].' - '.$rekord[2].'<br><center><img src="html/linia.jpg"></center></br></table>';
  84.  
  85. echo '<tr>'.$naz.'</tr>';
  86. }
  87. ?>
  88.  
  89.  
  90. </td>
  91. </tr>
  92.  
  93. <tr bgcolor="#FF6600">
  94. <td>kategoria 5</td>
  95. <tr>
  96. <td>
  97. <table width=580>
  98.  
  99. <?php
  100. [b]include("polacz.php"); [/b]
  101. $query = mysql_query("select * from news WHERE `kat_id` = '5'");
  102. while($rekord = mysql_fetch_array($query))
  103. {
  104. $naz .= '<table><img src="html/f_4.jpg"><a href="news.php?id='.$rekord[0].'">'.$rekord[1].'</a> Autor: '.$rekord[3].' - '.$rekord[2].'<br><center><img src="html/linia.jpg"></center></br></table>';
  105.  
  106. echo '<tr>'.$naz.'</tr>';
  107. }
  108. ?>
  109.  
  110. </td>
  111. </tr>
  112.  
  113. <tr bgcolor="#FF6600">
  114. <td>kategoria 6</td>
  115. <tr>
  116. <td>
  117. <table width=580>
  118.  
  119.  
  120. <?php
  121. [b]include("polacz.php"); [/b]
  122. $query = mysql_query("select * from news WHERE `kat_id` = '6'");
  123. while($rekord = mysql_fetch_array($query))
  124. {
  125. $naz .= '<table><img src="html/f_5.jpg"><a href="news.php?id='.$rekord[0].'">'.$rekord[1].'</a> Autor: '.$rekord[3].' - '.$rekord[2].'<br><center><img src="html/linia.jpg"></center></br></table>';
  126.  
  127. echo '<tr>'.$naz.'</tr>';
  128. }
  129. ?>
  130.  
  131. </td>
  132. </tr>
  133. </table>
  134. </table>
  135. </table></table></table></table></table>


Jak zapisać ten kod żeby tylko raz się łączyć z bazą a nie kilka razy jak jest w moim przykładzie
bastard13
Zostaw pierwsze wystąpienie include("polacz.php"); , a pozostałe usuń.
kosior11
Mam taki problem:

Mam na stronie skrypt dodający artykuły podzielone na kilka kategorii. w html'u stworzyłem tabele i wrzuciłem w html'a kody php, czyli cały powyższy kod. i niestety artykuły które dodaje się powielają, nie wiem dlaczego.

Screen jak to wygląda:



Powinno być po jednym artykule z każdej kategorii, a w każdej następnej kategorii pojawiają się artykuły z wcześniejszych kategorii.

Ktoś wie co jest nie tak?
sakul55
musisz zrobic zamykanie polaczenia z baza po kazdym pobraniu danych, bo tutaj wyglada na to, ze do zmiennej $query laduja sie pokolei wszystkie zapytania.
ewentualnie dla I kategorii daj zmienna $query1 dla drugiej $query2 itd, wtedy powinno dzialac
kosior11
z tym zamykaniem probowałem ale wyskakiwal jakis bląd i nic sie nie zmienilo.
bastard13
Przed każdym:
$query = mysql_query("select * from news WHERE `kat_id` = '2'");
dodaj:
$naz = '';
i po kłopocie.
kosior11
  1. <?php
  2.  
  3. $query2 = mysql_query("select * from news WHERE `kat_id` = '2'");
  4. while($rekord = mysql_fetch_array($query2))
  5. {
  6. $naz .= '<table><img src="html/f_1.gif"><a href="news.php?id='.$rekord[0].'">'.$rekord[1].'</a> Autor: '.$rekord[3].' - '.$rekord[2].'<br><center><img
  7.  
  8. src="html/linia.jpg"></center></br></table>';
  9.  
  10. echo '<tr>'.$naz.'</tr>';
  11. }
  12. ?>


Zmieniłem wszystko w ten sposob i tez nic.
sakul55
wiec dla kazdej kategorii daj inna zmiena $query i pamietaj, zeby ja zmienic tez w funkcji mysql_fetch_array

bo jeszcze masz zmienna $naz ktora tez wszystko zbiera i ja tez zmien na inna
albo zrob tak jak Bastard napisal smile.gif
kosior11
Super! Działa jak należy!

Tylko dodatkowo wyskakuje mi błąd : Undefined variable: naz4 in w każdym wierszu
sakul55
to zrob tak:

  1. if(isset($naz4)){
  2. //tutaj np $naz4 =
  3. }


tylko skoro do niej cos przypisujesz to dlaczego takie cos wyskakuje? wklej ta linijke, w ktorej to jest
kosior11
Wszystko juz jest w porządku, wielkie dzięki.

Jakbyście mogli mi jeszcze podpowiedzieć jaką formułke mam dodać do "select * from news WHERE `kat_id` = '5'" żeby np. pokazywało tylko pierwsze 5 artykułów, bo jak na koncu umieszcze "desc limit..." to mi wszystko znika.

OK już zrobione!
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.