Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] stronicowanie - jak dodać
Forum PHP.pl > Forum > Przedszkole
kosmic
Witam...

jak dodac stronicowanie do mojego skrptu, tak aby mi wyswietlało np. po 8 wyników na stronie questionmark.gif
bo wiadomo jak bedzie 100 zdjec to lipa sie bedzie przegladac galerie sad.gif

kombinuje sam cos, ale niemogedo tego dojsc sad.gif

dodam ze dopiero sie ucze, wiec troche wyrozumialosci

kod
Kod
<?php

$link = @mysql_connect('localhost','root','vertrigo') or die ('Połączenie nieudane');
mysql_select_db('galeria_zdjec') or die ('Nieudane pobranie bazy');

if (!isset($_GET['zdj']))
    {
    $zapytanie=mysql_query("SELECT * FROM galeria LIMIT 1");
    }
else
    {
    $zdj=$_GET['zdj'];
    $zapytanie=mysql_query("SELECT * FROM galeria WHERE id='$zdj'");
    }

echo '<table cellpadding="0" cellspacing="0" border="0" width="500">';
echo '<tr border="0"><td colspan="4" height="5"></td></tr>';
echo '<tr border="0">';
echo '<td colspan="4"  align="center" height=350 width=380>';

$dane = mysql_fetch_array($zapytanie);

echo '<img src=upload/'.$dane['zdjecie'].' height=340 width=380 class=foto>';
echo '</td></tr>';
echo '<tr border="0">';
echo '<td colspan="4"  align="left">';
echo '<hr size="1" width="500" color="#cccccc">';
echo '&nbsp;&nbsp;<b>'.$dane['opis'].'</b>';
echo '<br>';
echo '&nbsp;&nbsp;Dodano dnia: <b>'.$dane['datans'].'</b>';
echo '<hr size="1" width="500" color="#cccccc">';
echo '</td></tr>';
echo '<tr height="5"><td height="5"></td></tr>';

$zapytanie2 = mysql_query('SELECT * FROM galeria');
$il = mysql_num_rows($zapytanie2);
$wiersze = ceil($il/4);

for ($a=0;$a<$wiersze;$a++)
{
echo '<tr align=center>';
    $b=$a*4;
    $zapytanie="SELECT * FROM galeria LIMIT $b,4";
    $c=mysql_query($zapytanie);
    while($row=mysql_fetch_array($c))
    {
    echo '<td width=110 height=110>';
    echo '<a href=index.php?zdj='.$row['id'].' class=fotolink><img src="upload/'.$row['zdjecie'].'" border=0 width=100 height=90></a>';
    echo '</td>';
    }
echo '</tr>';
echo '<tr height="1"><td height="1"></td></tr>';
}
echo '<tr border="0">';
echo '<td colspan="4"  align="left">';
echo '<hr size="1" width="500" color="#cccccc">';
echo '</td></tr>';
echo '<tr height="5"><td height="5"></td></tr>';
echo '<tr border="0">';
echo '<td colspan="4"  align="center">';
if($page>0) echo "<a href=stronic.php?page=".($page-1).">Poprzednia</a>&nbsp;&nbsp;|"; else echo "Poprzednia&nbsp;&nbsp;|";
if($page<$podstron) echo "&nbsp;&nbsp;<a href=stronic.php?page=".($page+1).">Nastepna</a>"; else echo "&nbsp;&nbsp;Nastepna";
echo '</td></tr>';
echo '<tr height="10"><td height="10"></td></tr>';
echo '</table>';

mysql_close($link);
?>


prosze o pomoc w rozwiazaniu?
Darti
no sorry ale troche googlowania jeszcze nikomu nie zaszkodziło...
kosmic
Cytat(Darti @ 19.11.2007, 16:37:06 ) *
no sorry ale troche googlowania jeszcze nikomu nie zaszkodziło...


no sorry kolego ale wiem jak zrobic stronicowanie bo użylem goglowania...
to moj plik który zrobilem...

ale dopiero sie ucze i nie mam pojecia jak mam polaczyc to z moim plikiem, ktpory mi wyswietla zdjecie i miniatury questionmark.gif?

Kod
$link = @mysql_connect($dbhost, $dbuser, $dbpass) or die ('Nie mozna nawiazac polaczenia z baza danych');
mysql_select_db($dbname) or die ('Bledna nazwa bazy !');
$query = @mysql_query("SELECT * FROM galeria");
$num_rows = @mysql_num_rows($query);
$wszystkich = $num_rows;
$ile = "2";
$zapytanie = "SELECT * FROM galeria LIMIT ".($page*$ile).",$ile";
$wykonaj = mysql_query($zapytanie);

while($wiersz = @mysql_fetch_array($wykonaj))
    {
    echo '<img src=upload/'.$wiersz['zdjecie'].' width=100 height=100><br>';
    }
    
$podstron = ceil($wszystkich/$ile-1);

if($page>0) echo "<a href=stronic.php?page=".($page-1).">Poprzednia</a>&nbsp;&nbsp;|"; else echo "Poprzednia&nbsp;&nbsp;|";

for($i=0;$i<=$podstron;$i++)
    {
    if($i==$page) echo " [".($i+1)."] "; else echo "<a href=stronic.php?page=".($i)."> ".($i+1)." </a>";
    }

if($page<$podstron) echo "&nbsp;&nbsp;<a href=stronic.php?page=".($page+1).">Nastepna</a>"; else echo "&nbsp;&nbsp;Nastepna";

?>


dlatego prosze o pomoc questionmark.gifquestionmark.gifquestionmark.gifquestionmark.gif
Darti
  1. <?php
  2. $link = @mysql_connect($dbhost, $dbuser, $dbpass) or die ('Nie mozna nawiazac polaczenia z baza danych');
  3. mysql_select_db($dbname) or die ('Bledna nazwa bazy !');
  4. $query = @mysql_query("SELECT * FROM galeria");
  5. $wszystkich = @mysql_num_rows($query);
  6.  
  7. $ile_na_stronie = "2";
  8. $page = $_GET['page'] ? $_GET['page'] : 0;
  9. $limit = ($page * $ile_na_stronie).','.(($page * $ile_na_stronie)+$ile_na_stronie);
  10.  
  11. $zapytanie = "SELECT * FROM galeria LIMIT {$limit}";
  12. $wykonaj = mysql_query($zapytanie);
  13.  
  14. while($wiersz = @mysql_fetch_array($wykonaj))
  15. {
  16. echo '<img src=upload/'.$wiersz['zdjecie'].' width="100" height="100"><br />';
  17. }
  18.  
  19. $podstron = ceil($wszystkich/$ile_na_stronie);
  20.  
  21. if($page>0){
  22. echo "<a href=stronic.php?page=".($page-1).">Poprzednia</a>&nbsp;&nbsp;|";
  23. } else {
  24. echo "Poprzednia&nbsp;&nbsp;|";
  25. }
  26.  
  27. for($i=0;$i<=$podstron;$i++){
  28. if($i==$page){
  29. echo " [".($i+1)."] ";
  30. } else {
  31. echo "<a href=stronic.php?page=".($i)."> ".($i+1)." </a>";
  32. }
  33. }
  34.  
  35. if($page<$podstron){
  36. echo "&nbsp;&nbsp;<a href=stronic.php?page=".($page+1).">Nastepna</a>";
  37. } else {
  38. echo "&nbsp;&nbsp;Nastepna";
  39. }
  40. ?>
kosmic
Darti zrobileś normalne stronicowanie, praktycznie to samo co podałem powyżej Twoej odpowiedzi sad.gif

samo stronicowanie to nie problem, ale mi chodzi o to (pierwszy post) ze mam galerie, wyswietlam zdjecie i miniaturki z tej galeri, no i do tego dołozyc stronicowanie... kod galeri masz w pierwszym poscie exclamation.gif

chodzi o to ze jak np. bede mial 150 zdjecigaleri, to przegladanie tego jest nie wygodne gdyz trzeba na sam dól strony zjezdzacsuwakami zeby kliknac w miniaturke...

a ja chce by np. w tym pliku galeri który mam zrobic stoncowanie, tak aby wyswietlało powiedzmy 8 miniaturek exclamation.gif!

no i tu mam problemu, bo jeszcze nie znam tak php zeby sie z tym uporac... a problem tkwi w tym ze w wywsietlaniu wynikow z galeri mam zrobione zliczanie i wyswietlanie po 4 miniaturki w rzedzie.... no i nie wiem jak polaczyc to ze stronicowaniem, bo w stronicowaniu tez jest zliczanie itp... i nie moge dojsc jak to polaczyc questionmark.gif

http://www.forozanski.pl/prgal/

ktos pomoze questionmark.gif?
Darti
U Ciebie w kodzie - zmienna $ile odpowiada za ilość wyświetlonych zdjęć, u mnie - $ile_na_stronie robi to samo, zmień z 2 na 8 i będzie 8 zdjęć na stronie
lukash82
Witam. Wlasnie dzisiaj sie meczylem tez ze stronicowaniem wykorzystujac skrypt napisany przez Darti. Myslalem, myslalem i nic nie wymyslilem póki nie pomogl mi nospor. A wiec skrypcik jest w 100% sprawny gdy zmienimy dwie linijki w nim:
  1. <?php
  2. for($i=0;$i<=$podstron;$i++)
  3. ?>

na
  1. <?php
  2. for($i=0;$i<$podstron;$i++)
  3. ?>

oraz
  1. <?php
  2. if($page<$podstron){
  3. ?>

na cos takiego
  1. <?php
  2. if($page<$podstron-1){
  3. ?>

Mam nadzieje, ze Darti nie bedzie zly za te male poprawki i ze komus teraz to sie przyda jeszcze bardziej. Pozdrawiam, Łukasz.
Darti
Darti nie będzie zły smile.gif
kosmic
no ok... ale to jest samo stronicowanie, które powiedzmy ze wiem jak zrobic i mam...

lecz problem lezy w tym ze trzeba to polaczyc z moim skryptem, ktory mi wyswietla miniatru exclamation.gif

a dokładnie ma byc tak ze miniatury sa wyswietlane powiedzmy w 3 rzedach po 4 sztuki (czyli 12 miniatur) i jak jest wiecej zdjec to nastepne maja byc na kolejnej stronie - mam nadzieje ze jasno napisałem

moj skrypt ktory tworzy mi rzedy miniatur jes w pierwszym poscie, no i nie wiem jak dodac do tego stronicowanie, bo tam juz jest liczenie zdjec w celu podziału wyswietlania na rzedy..

dlatego mam problum...tu liczenie i podział na rzedy a w stronicowanieu tez liczenie i podział na stony

njie wiem jak to polaczyc sad.gif

please help me.... bo mnie trafia sad.gif
Darti
chyba wypadnie popełnić jakiś art o stronicowaniu i limitach z bazy ...
Teamon
a moze zwykle stronicowanie liniowo + css: float?
dadexix
było to gdzieś....
masz np.
  1. <?php
  2. while($wiersz = @mysql_fetch_array($wykonaj))
  3. {
  4. echo '<img src=upload/'.$wiersz['zdjecie'].' width="100" height="100"><br />';
  5. }
  6. ?>

to się pokazuje zawsze na kazdy obrazek
daj sobie
  1. <?php
  2. echo "<table><tr>";
  3. $na_rzad = 5; //ile zdjec na rzad
  4. $start=0
  5. while($wiersz = @mysql_fetch_array($wykonaj))
  6. {
  7. $start++
  8. echo '<td><img src=upload/'.$wiersz['zdjecie'].' width="100" height="100"></td>';
  9. if($start <= $na_rzad)
  10. {
  11. echo "</tr><tr>";
  12. $start=0 //tu mogłem pomylić < z > ale ma być "jeśli $start większe lub równe $na rzad"
  13. } 
  14.  
  15. }
  16. ?>


PS. nie wiem czy napewno o to ,Ci chodzi:P
polak89
Sorki ale w skryptcie podanym przez Darti prawie wszystko gra tylko nastepne podstrony wyswietlaja wiecej rekordow niz jest przekazanych w zmiennej $ile_na_stronie. Pierwsza i ostatnia strona jest w porzadku. Czy ktos wie jak temu zaradzic?


  1. <?php
  2. require_once 'conn.php';
  3.  
  4.  
  5. $query = mysql_query("SELECT * FROM newsletter");
  6. $wszystkich = mysql_num_rows($query);
  7.  
  8. $ile_na_stronie = "4";
  9. $page = $_GET['page'] ? $_GET['page'] : 0;
  10. $limit = ($page * $ile_na_stronie).','.(($page * $ile_na_stronie)+$ile_na_stronie);
  11.  
  12. $zapytanie = "SELECT * FROM newsletter LIMIT {$limit}";
  13. $wykonaj = mysql_query($zapytanie);
  14.  
  15. $arrLocale = array( "pl_PL", "polish_pol" );
  16. setlocale( LC_ALL, $arrLocale );
  17.  
  18.  
  19. while ($row = mysql_fetch_array($wykonaj)) {
  20. echo "<span class=\"date\">" .
  21.  date('j', strtotime($row['date'])) . strftime(' %B %Y', strtotime($row['date'])) .
  22.  "</span>\n";
  23. echo "<p class=\"body\">\n" .
  24.  ucfirst(nl2br($row['body'])) .
  25.  "\n</p>\n";
  26. echo "<p class=\"action\">\n" .
  27. "<a href=\"compose.php?a=edit&id=" . $row['news_id'] . "\">edytuj</a>\n".
  28. "|\n" .
  29. "<a href=\"transactscript.php?action=delete&id=" . $row['news_id'] . "\">usuń</a>\n</p>\n";
  30.  
  31.  
  32.  
  33. }
  34.  
  35.  
  36. $podstron = ceil($wszystkich/$ile_na_stronie);
  37.  
  38. if($page>0){
  39. echo "<a href=stronic.php?page=".($page-1).">Poprzednia</a>&nbsp;&nbsp;|";
  40. } else {
  41. echo "Poprzednia&nbsp;&nbsp;|";
  42. }
  43.  
  44. for($i=0;$i<$podstron;$i++){
  45. if($i==$page){
  46. echo " [".($i+1)."] ";
  47. } else {
  48. echo "<a href=stronic.php?page=".($i)."> ".($i+1)." </a>";
  49. }
  50. }
  51.  
  52. if($page<$podstron-1){
  53. echo "&nbsp;&nbsp;<a href=stronic.php?page=".($page+1).">Nastepna</a>";
  54. } else {
  55. echo "&nbsp;&nbsp;Nastepna";
  56. }
  57. ?>
dadexix
a jakie jest "przyśpieszenie" rekordów? tj. o ile więcej jest na następnych podstronach?
Darti
w wierszu 10 (zapomniałem że ma być limit 'od_miejsca' , 'ile_rekordów'

  1. <?php
  2. $limit = ($page * $ile_na_stronie).','.$ile_na_stronie;
  3. ?>
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.