Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] problem z petla
Forum PHP.pl > Forum > Przedszkole
Balon
  1. <?
  2. mysql_connect ("localhost","","") or die ("Nie mozna polaczyc sie z baza MySQl");
  3. mysql_select_db (soonhost_sl) or die ("Nie mozna polaczyc sie z wybrana baza danych");
  4. $ile = 10;
  5. $numrows = mysql_num_rows(mysql_query("SELECT * FROM linki"));
  6. if(!$p) $p = 0;
  7.  
  8. $zapytanie = "SELECT * FROM `linki` where zatw='tak' ORDER BY `id` DESC LIMIT $p,$ile";
  9. $wykonaj = mysql_query ($zapytanie);
  10. $kolor[0] = "#FFFFFF";
  11. $kolor[1] = "#F8F8F8";
  12. while($row=mysql_fetch_array ($wykonaj)) {
  13. echo "<tr bgcolor="".$kolor[$i % 2]."" id="pod">
  14. <td>
  15. <table border=0 cellpadding=3 cellspacing=0 height=43>
  16. <tr>
  17. <td width=30></td>
  18.  
  19. <td width=557 class=tsc_m height=40>
  20. [ $row[data] ]<b>&nbsp;<a class="lnk" href=linki/";
  21. echo podmien($row[title]);
  22. echo ",$row[id].html target="_blank">$row[title]</a><br>
  23. </b>kliknięć: <b>$row[click]</b> / 
  24.  kategoria: <a href="Kategoria,$row[kat].html" class="a2">$row[kat]</a>
  25. </td>
  26.  
  27. <td width=381 align=left class="tsc_l">
  28. $row[opis] 
  29. // nazwa kategorii
  30. $kat=$row[kat];
  31. $query="SELECT * FROM `kategorie` where id=$kat";
  32. $q_wykonaj = mysql_query ($query);
  33. while($wiersz=mysql_fetch_array ($q_wykonaj)) {
  34. $wiersz['nazwa']
  35. }</td>
  36.  
  37. </tr>
  38.  
  39. </td>
  40. </tr>
  41. </table>";
  42. $i++;
  43. }
  44. ?>


Niestety ta ostatnia petla powoduje blad
Kod
Parse error: parse error, unexpected T_STRING, expecting ',' or ';'


P.S. Wiem, ze zaczynam Was wkurzac ale prosze o pomoc.... bo sam nie jestem wstanie sobie z tym poradzic... z php sie bawie dopiero 2 miesiace ale dziwnie sie jego ucze bo zaczynam od rzeczy trudniejszych dzieki ktorym poznaje latwiejsze i nie wszytko jestem wstanie pojac.... Wiec zwracam sie do Was winksmiley.jpg

pozdrawiam,
Balon.
Majdan
Zakończ stringi ". Bo w 27, 34 masz skopane.

Najlepiej stosuj ' i oddzielaj zmienne od stringow. A najelpszym rozwiązaniem jest:
  1. ?>
  2. Wyświetl
  3. <?php
  4. ?>
Balon
Ok dzieki to zadzialalo ale teraz mam klopot z ta petla... Nie wiem w jaki sposob mam umiescic $row['nazwa'] w petli
  1. <td width="381" align="left" class="tsc_l">
  2. <?
  3. $row[opis] 
  4. // nazwa kategorii
  5. $query="SELECT * FROM `kategorie` where id=$row[kat]";
  6. $q_wykonaj = mysql_query ($query);
  7. while($wiersz=mysql_fetch_array ($q_wykonaj)) {
  8. $wiersz['nazwa']
  9. }</td>
  10. ?>

w momencie $query
Majdan
Co masz na myśli pisząc "umieścić"?
Pomiędzy {, a } dajesz np.:
  1. <?php
  2. echo '<tr><td>'.$wiersz['nazwa'].'</td></tr>';
  3. ?>
Balon
chodzi mi o to ze ta linijka
  1. <? $query="SELECT * FROM `kategorie` where id=$row[kat]";
  2. ?>

generuje mi blad:
Kod
Parse error: parse error, unexpected T_VARIABLE in /home/soonhost/public_html/balon_portfolio/tmp/sl/inc/linki.php on line 67
crash
No przecież już dostałeś chyba dość podpowiedzi...
  1. <?php
  2. $query = "SELECT * FROM kategorie where id={$row[ 'kat' ]}";
  3. ?>

Albo:
  1. <?php
  2. $query = 'SELECT * FROM kategorie where id= ' . $row[ 'kat' ];
  3. ?>
Balon
Zrobiłem tak jak mówiłeś, ale nic to niestety nie dało....
  1. <td width="381" align="left" class="tsc_l">
  2. <?
  3. $row[opis] 
  4. // nazwa kategorii
  5. $query = 'SELECT * FROM kategorie where id= ' . $row[ 'kat' ];
  6. $q_wykonaj = mysql_query ($query);
  7. while($wiersz=mysql_fetch_array ($q_wykonaj)) {
  8. $wiersz['nazwa']
  9. }</td>
  10.  
  11. ?>


http://www.scx.pl/balon_portfolio/tmp/sl/ - blad mozna zobaczyc tutaj.... Nie wiem czego jest to przyczyną
crash
Przyjżyj się temu kodowi. Zwłaszcza liniom 8 i 9...
Balon
dobra doszedlem do tego co zle robilem ;] poprostu namieszalem za bardzo z tymi echo zrobilem tak i jest dobrze:
  1. <td width="381" align="left" class="tsc_l">
  2. <?
  3. echo "$row[opis]";
  4. // nazwa kategorii
  5. $query = "SELECT * FROM kategorie where id={$row[ 'kat' ]}";
  6. $q_wykonaj = mysql_query ($query);
  7. while($wiersz=mysql_fetch_array ($q_wykonaj)) {
  8. echo"". $wiersz['nazwa'] ."";
  9. }
  10. echo" </td>
  11.  
  12. ?>
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.