Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Śmieszny problem z kodem stronncowania
Forum PHP.pl > Forum > Przedszkole
mihipoznan
Mam kod stronnicowania, który wygląda tak:

  1. <?
  2.  $page = $_GET['page'];
  3.  $id_con = mysql_connect(localhost,x,x); //podajemy dane bazy MySQL konieczne do połączenia
  4.  mysql_select_db($baza) or die("Nie moge zaznaczyc bazy danych");
  5.  $zapytanie = "SELECT COUNT(*) FROM sprzedaz";
  6.  $idzap = mysql_query($zapytanie) or die("Błąd zapytania.");
  7.  $wszystkich=mysql_fetch_row($idzap);
  8.  $ilestr=6; // podajemy tutaj ilość wyników na jedną stronę.
  9.  $podstron=ceil($wszystkich[0]/$ilestr);
  10.  $id_con = mysql_connect(localhost,x,x); //podajemy dane bazy MySQL konieczne do połączenia
  11.  mysql_select_db($baza) or die("Nie moge zaznaczyc bazy danych");
  12.  $sql= "SELECT * FROM sprzedaz LIMIT ".(($page-1)*$ilestr).",".$ilestr*$page."";
  13.  while($wiersz = mysql_fetch_array($sql) {
  14.  
  15.  //wyświetlamy zawartość tabeli za pomocą $wiersz[‘nazwa_pola’]
  16.  
  17.  }
  18.  if ($page>1) echo "<a href=index1.php?url=3&page=".($page-1).">Poprzednia </a>"; else
  19.  echo "Poprzednia ";
  20.  echo '<a href="index1.php?url=3&page='.$page.'">'.$page.'</a>';
  21.  if ($page<$podstron) echo "<a href=index1.php?url=3&page=".($page+1)."> Następna</a>";
  22.  else echo " Następna";
  23.  ?>


I wyskakuje błąd
Parse error: syntax error, unexpected T_STRING in /oferty.inc on line 61
czyli ta :
  1. <?php
  2. $id_con = mysql_connect(localhost,nazwa bazy,has&#322;o);
  3. ?>


Co tu jest źle ?haha.gif

Aha hasło zawiera cyfry i litery i tak głupio to koloruje ..
[img]
http://img177.imageshack.us/img177/116/fragvu0.jpg[/img]
mihipoznan
Ok poprawiłem na
  1. <?
  2. $id_con = mysql_connect('localhost','x','x'); //podajemy dane bazy MySQL konieczne do połączenia
  3. mysql_select_db($baza) or die("Nie moge zaznaczyc bazy danych");
  4. $zapytanie = "SELECT COUNT(*) FROM sprzedaz";
  5. $idzap = mysql_query($zapytanie) or die("Błąd zapytania.");
  6. $wszystkich=mysql_fetch_row($idzap);
  7. $ilestr=6; // podajemy tutaj ilość wyników na jedną stronę.
  8. $podstron=ceil($wszystkich[0]/$ilestr);
  9. $id_con = mysql_connect('localhost','x','x'); //podajemy dane bazy MySQL konieczne do połączenia
  10. mysql_select_db($baza) or die("Nie moge zaznaczyc bazy danych");
  11. $sql= "SELECT * FROM sprzedaz LIMIT ".(($page-1)*$ilestr).",".$ilestr*$page."";
  12. while($wiersz = mysql_fetch_array($sql) {
  13.  
  14. //wyświetlamy zawartość tabeli za pomocą $wiersz[‘nazwa_pola’]
  15.  
  16. }
  17. if ($page>1) echo "<a href=index1.php?url=3&page=".($page-1).">Poprzednia </a>"; else
  18. echo "Poprzednia ";
  19. echo '<a href="index1.php?url=3&page='.$page.'">'.$page.'</a>';
  20. if ($page<$podstron) echo "<a href=index1.php?url=3&page=".($page+1)."> Następna</a>";
  21. else echo " Następna";
  22. ?>


I jest prawie ok.. nie wiem dlaczego jest źle ten {..

w tej
  1. <?php
  2. while($wiersz = mysql_fetch_array($sql) {
  3. ?>

linii..

Ok brakowało drugiego nawiasu.. teraz niby mam wszytsko dobrze a wyskakuje błąd :
"Nie moge zaznaczyc bazy danych"
Kod:
  1. <?
  2.  $page = $_GET['page'];
  3.  $id_con = mysql_connect("localhost","x","x"); //podajemy dane bazy MySQL konieczne do połączenia
  4.  mysql_select_db($baza) or die("Nie moge zaznaczyc bazy danych");
  5.  $zapytanie = "SELECT COUNT(*) FROM sprzedaz";
  6.  $idzap = mysql_query($zapytanie) or die("Błąd zapytania.");
  7.  $wszystkich=mysql_fetch_row($idzap);
  8.  $ilestr=6; // podajemy tutaj ilość wyników na jedną stronę.
  9.  $podstron=ceil($wszystkich[0]/$ilestr);
  10.  $id_con = mysql_connect("localhost","x,"x"); //podajemy dane bazy MySQL konieczne do połączenia
  11.  mysql_select_db($baza) or die("Nie moge zaznaczyc bazy danych")
  12.  $sql= "SELECT * FROM sprzedaz LIMIT ".(($page-1)*$ilestr).",".$ilestr*$page."";
  13.  while($wiersz = mysql_fetch_array($sql)) {
  14.  echo"{$wiersz['cena']}";
  15.  }
  16.  if ($page>1) echo "<a href=index1.php?url=3&page=".($page-1).">Poprzednia </a>"; else
  17.  echo "Poprzednia ";
  18.  echo '<a href="index1.php?url=3&page='.$page.'">'.$page.'</a>';
  19.  if ($page<$podstron) echo "<a href=index1.php?url=3&page=".($page+1)."> Nast&#281;pna</a>";
  20.  else echo " Następna";
  21.  ?>
erix
A mysql_error" title="Zobacz w manualu PHP" target="_manual co zwraca?

BTW: po co łączysz się z bazą parę razy?
mihipoznan
Ale głupota, brałem skrypt gotowy z jakiegoś tutoriala i musiałem teraz poprawiać sporo..bez sensu haha.gif

Pozamieniałem i jest tak
  1. <?
  2. $page = $_GET['page'];
  3. $id_con = mysql_connect("localhost","x","xx"); //podajemy dane bazy MySQL konieczne do połączenia
  4. $baza="pphfarina3";
  5. mysql_select_db($baza) or die (mysql_error());
  6. $zapytanie = "SELECT COUNT(*) FROM sprzedaz";
  7. $idzap = mysql_query($zapytanie) or die (mysql_error());
  8. $wszystkich=mysql_fetch_row($idzap);
  9. $ilestr=6; // podajemy tutaj ilość wyników na jedną stronę.
  10. $podstron=ceil($wszystkich[0]/$ilestr);
  11. $sql= "SELECT * FROM sprzedaz LIMIT ".(($page-1)*$ilestr).",".$ilestr*$page."";
  12. while($wiersz = mysql_fetch_array($sql)) {
  13. echo "<TD><TR>
  14. <td style=\" width: 90px;border-style: solid; border-width: 1pt; border-color: #CCCCCC\">{$wiersz['firma']}</td>";
  15. echo "
  16. <td style=\" width: 90px;border-style: solid; border-width: 1pt; border-color: #CCCCCC\">{$wiersz['rodzaj']}";
  17. echo "
  18. <td style=\" width: 90px;border-style: solid; border-width: 1pt; border-color: #CCCCCC\">{$wiersz['woj']}";
  19. echo "
  20. <td style=\" width: 90px;border-style: solid; border-width: 1pt; border-color: #CCCCCC\">{$wiersz['ilosc']}";
  21. echo "
  22. <td style=\" width: 90px;border-style: solid; border-width: 1pt; border-color: #CCCCCC\">{$wiersz['cena']}";
  23. echo '
  24. <td style= " width: 90px;border-style: solid; border-width: 1pt; border-color: #CCCCCC"><a href= "info1.php?sprzedaz='.$wiersz['sprzedaz'].'">Więcej ></a href>'; 
  25. $i++;
  26. }
  27. if ($page>1) echo "<a href=index1.php?url=3&page=".($page-1).">Poprzednia </a>"; else
  28. echo "Poprzednia ";
  29. echo '<a href="index1.php?url=3&page='.$page.'">'.$page.'</a>';
  30. if ($page<$podstron) echo "<a href=index1.php?url=3&page=".($page+1)."> Następna</a>";
  31. else echo " Następna";
  32. ?>


Teraz tylko wyskakuje błąd
  1. <?php
  2. Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /oferty.inc on line 70
  3. ?>

  1. <?php
  2. while($wiersz = mysql_fetch_array($sql)) {
  3. ?>

Dlaczego ?
webdice
Masz błąd w zapytaniu daj sobie między 11 a 12 linią:

  1. <?php
  2. echo $sql
  3. ?>


i zobacz co jest nie tak.
mihipoznan
Próbowałem, wyświetla niby prawidłowo :

  1. <?php
  2. SELECT * FROM sprzedaz LIMIT 0,6
  3. ?>
i ten sam warning co powyżej

tabelę w bazie taką mam...
webdice
Nie zauważyłem... gdzie masz mysql_query" title="Zobacz w manualu PHP" target="_manual? smile.gif
mihipoznan
Aaaaa. ale głupota biggrin.gif Dzięki biggrin.gif:D

Nie chcę zakładać nowego tematu więc od razu piszę.. jak wyświetlić w echo zmieną $page która jest równa jeden plus jeden ?

tzn $page+1 biggrin.gif

Ok poradziłem sobie smile.gif Potworzyłem nowe zmienne smile.gif

Mam wreszcie to stronicowanie, ale tak że na początku widać strony 1,2 później po kliknięciu na 2 dopiero 2,3,4 , później po kliknięciu na 3 3,4,5... a jak zrobić żeby widoczne były wszystkie numery stron już na początku (tylko strony gdzie są jakieś rekordy)? Nie mam siły już na te założenia, próbowałem tworzyć zmienne i dodawać do nich wartości i później echo ale nie mam już koncepcji..

  1. <?
  2. $page = $_GET['page'];
  3. $id_con = mysql_connect("localhost","x","x"); //podajemy dane bazy MySQL konieczne do połączenia
  4. $baza="pphfarina3";
  5. mysql_select_db($baza) or die (mysql_error());
  6. $zapytanie = "SELECT COUNT(*) FROM sprzedaz";
  7. $idzap = mysql_query($zapytanie) or die (mysql_error());
  8. $wszystkich=mysql_fetch_row($idzap);
  9. $ilestr=10; // podajemy tutaj ilość wyników na jedną stronę.
  10. $podstron=ceil($wszystkich[0]/$ilestr);
  11. $sql= "SELECT * FROM sprzedaz LIMIT ".(($page-1)*$ilestr).",".$ilestr*$page."";
  12. $result = mysql_query($sql);
  13. while($wiersz = mysql_fetch_array($result)) {
  14. echo "<TD><TR>
  15. <td style=\" width: 90px;border-style: solid; border-width: 1pt; border-color: #CCCCCC\">{$wiersz['firma']}</td>";
  16. echo "
  17. <td style=\" width: 90px;border-style: solid; border-width: 1pt; border-color: #CCCCCC\">{$wiersz['rodzaj']}";
  18. echo "
  19. <td style=\" width: 90px;border-style: solid; border-width: 1pt; border-color: #CCCCCC\">{$wiersz['woj']}";
  20. echo "
  21. <td style=\" width: 90px;border-style: solid; border-width: 1pt; border-color: #CCCCCC\">{$wiersz['ilosc']}";
  22. echo "
  23. <td style=\" width: 90px;border-style: solid; border-width: 1pt; border-color: #CCCCCC\">{$wiersz['cena']}";
  24. echo '
  25. <td style= " width: 90px;border-style: solid; border-width: 1pt; border-color: #CCCCCC"><a href= "info1.php?sprzedaz='.$wiersz['sprzedaz'].'">Więcej ></a href></td>';
  26. $i++;
  27. }
  28. $pages1=$page-1;
  29. if ($page>1) echo "<a href=index1.php?url=3&page=".($page-1).">$pages1</a>"; else
  30. echo ""; ?>  <?
  31. echo $page ; ?>  <?
  32. $pages = $page+1; 
  33. echo "<a href=index1.php?url=3&page=".($page+1).">$pages</a>";
  34. ?>
  35. <?
  36. if($i == 0){
  37. echo('<td colspan="6" style="border-style: solid; border-width: 1pt; border-color: #CCCCCC; text-align: center;">Brak ofert w tej kategorii. <a href="index1.php?url=6">Dodaj ofertę !</a href></td></tr>');
  38. }
  39. ?>


Jest to na mojej stronie http://pphfarina.pl
login : test@test.pl
hasło: test
i dział oferty
Berg
  1. <?php
  2. for(i=1; i<=$podstron; $i++) {
  3. echo ' ';
  4.  if(i==$page) echo $page;
  5.  else echo '<a href="index1.php?url=3&page='.$page.'">'.$page.'</a>';
  6. }
  7. ?>
mihipoznan
Jeszcze tylko jeden bład wyskakuje w tej funkcji for..
kod:
  1. <?
  2.  $page = $_GET['page'];
  3.  $id_con = mysql_connect("localhost","pphfarina3","1234567iola"); //podajemy dane bazy MySQL konieczne do połączenia
  4.  $baza="pphfarina3";
  5.  mysql_select_db($baza) or die (mysql_error());
  6.  $zapytanie = "SELECT COUNT(*) FROM sprzedaz";
  7.  $idzap = mysql_query($zapytanie) or die (mysql_error());
  8.  $wszystkich=mysql_fetch_row($idzap);
  9.  $ilestr=10; // podajemy tutaj ilość wyników na jedną stronę.
  10.  $podstron=ceil($wszystkich[0]/$ilestr);
  11.  $sql= "SELECT * FROM sprzedaz LIMIT ".(($page-1)*$ilestr).",".$ilestr*$page."";
  12.  $result = mysql_query($sql);
  13.  while($wiersz = mysql_fetch_array($result)) {
  14.  echo "<TD><TR>
  15.  <td style=\" width: 90px;border-style: solid; border-width: 1pt; border-color: #CCCCCC\">{$wiersz['firma']}</td>";
  16.  echo "
  17.  <td style=\" width: 90px;border-style: solid; border-width: 1pt; border-color: #CCCCCC\">{$wiersz['rodzaj']}";
  18.  echo "
  19.  <td style=\" width: 90px;border-style: solid; border-width: 1pt; border-color: #CCCCCC\">{$wiersz['woj']}";
  20.  echo "
  21.  <td style=\" width: 90px;border-style: solid; border-width: 1pt; border-color: #CCCCCC\">{$wiersz['ilosc']}";
  22.  echo "
  23.  <td style=\" width: 90px;border-style: solid; border-width: 1pt; border-color: #CCCCCC\">{$wiersz['cena']}";
  24.  echo '
  25.  <td style= " width: 90px;border-style: solid; border-width: 1pt; border-color: #CCCCCC"><a href= "info1.php?sprzedaz='.$wiersz['sprzedaz'].'">Więcej ></a href></td>';
  26.  $i++;
  27.  }
  28.  for(i=1; i<=$podstron; $i++) {
  29.  echo ' ';
  30. if(i==$page) echo $page;
  31. else echo '<a href="index1.php?url=3&page='.$page.'">'.$page.'</a>';
  32.  }
  33.  ?>
  34.  <?
  35.  if($i == 0){
  36.  echo('<td colspan="6" style="border-style: solid; border-width: 1pt; border-color: #CCCCCC; text-align: center;">Brak ofert w tej kategorii. <a href="index1.php?url=6">Dodaj ofertę !</a href></td></tr>');
  37.  }
  38.  ?>


I błąd w
  1. <?php
  2. for(i=1; i<=$podstron; $i++) {
  3. ?>


Kod
[b]Parse error[/b]:  syntax error, unexpected '=', expecting ';'
webdice
Brakuje Ci $ przy zmiennych. Pomyśl trochę, śmieszne żeby przychodzić z takimi problemami na forum.
mihipoznan
  1. <?
  2.  $page = $_GET['page'];
  3.  $id_con = mysql_connect("localhost","x","x"); //podajemy dane bazy MySQL konieczne do połączenia
  4.  $baza="pphfarina3";
  5.  mysql_select_db($baza) or die (mysql_error());
  6.  $zapytanie = "SELECT COUNT(*) FROM sprzedaz";
  7.  $idzap = mysql_query($zapytanie) or die (mysql_error());
  8.  $wszystkich=mysql_fetch_row($idzap);
  9.  $ilestr=10; // podajemy tutaj ilość wyników na jedną stronę.
  10.  $podstron=ceil($wszystkich[0]/$ilestr);
  11.  $sql= "SELECT * FROM sprzedaz LIMIT ".(($page-1)*$ilestr).",".$ilestr*$page."";
  12.  $result = mysql_query($sql);
  13.  while($wiersz = mysql_fetch_array($result)) {
  14.  echo "<TD><TR>
  15.  <td style=\" width: 90px;border-style: solid; border-width: 1pt; border-color: #CCCCCC\">{$wiersz['firma']}</td>";
  16.  echo "
  17.  <td style=\" width: 90px;border-style: solid; border-width: 1pt; border-color: #CCCCCC\">{$wiersz['rodzaj']}";
  18.  echo "
  19.  <td style=\" width: 90px;border-style: solid; border-width: 1pt; border-color: #CCCCCC\">{$wiersz['woj']}";
  20.  echo "
  21.  <td style=\" width: 90px;border-style: solid; border-width: 1pt; border-color: #CCCCCC\">{$wiersz['ilosc']}";
  22.  echo "
  23.  <td style=\" width: 90px;border-style: solid; border-width: 1pt; border-color: #CCCCCC\">{$wiersz['cena']}";
  24.  echo '
  25.  <td style= " width: 90px;border-style: solid; border-width: 1pt; border-color: #CCCCCC"><a href= "info1.php?sprzedaz='.$wiersz['sprzedaz'].'">Więcej ></a href></td>';
  26.  $i++;
  27.  }
  28.  for($i=1; $i<=$podstron; $i++) {
  29.  echo ' ';
  30. if($i==$page) echo $page;
  31. else echo '<a href="index1.php?url=3&page='.$page.'">'.$page.'</a>';
  32.  }
  33.  ?>
  34.  <?
  35.  if($i == 0){
  36.  echo('<td colspan="6" style="border-style: solid; border-width: 1pt; border-color: #CCCCCC; text-align: center;">Brak ofert w tej kategorii. <a href="index1.php?url=6">Dodaj ofertę !</a href></td></tr>');
  37.  }
  38.  ?>


Poprawiłem i do wyboru są strony 1,1 i 1 :/ A nie 1,2,3 .. :/

Jest to na mojej stronie http://pphfarina.pl
login : test@test.pl
hasło: test
i dział oferty

Będę wdzięczny za pomoc smile.gif

Chociaż jakaś podpowiedź..
webdice
Eh... pomyśl trochę.

  1. <?php
  2. else echo '<a href="index1.php?url=3&page='.$i.'">'.$i.'</a>';
  3. ?>
marcio
@Webdicepl myslenie boli smile.gif

Cytat

Milo sql inejection wczesniej nawet wyswietlilo baze i potem zapytanie pamietam ze bylo w nim limit -20, -30 ale juz nie pokazuje fakt zostaje ze luka jest nie bede kombinowal bo ci jeszcze cos z bazy usune
NIe wiem przy dodawaniu pliku byl blad sql ale pliki *.php chyba mozna uploadowac sprawdz czy masz shell';a w katalogu nie chce mi sie teraz kombinowac
mihipoznan
Problem rozwiązany.. : ) Pozamieniałem zmienne i jest ok.

Webdicepl wymyśliłem przed chwilą to co napisałeś haha.gif

@marcio dzięki smile.gif
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.