Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] stronicowanie - jak dodać
kosmic
post
Post #1





Grupa: Zarejestrowani
Postów: 132
Pomógł: 0
Dołączył: 31.10.2007

Ostrzeżenie: (0%)
-----


Witam...

jak dodac stronicowanie do mojego skrptu, tak aby mi wyswietlało np. po 8 wyników na stronie (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
bo wiadomo jak bedzie 100 zdjec to lipa sie bedzie przegladac galerie (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

kombinuje sam cos, ale niemogedo tego dojsc (IMG:http://forum.php.pl/style_emoticons/default/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?
Go to the top of the page
+Quote Post
Darti
post
Post #2





Grupa: Zarejestrowani
Postów: 1 076
Pomógł: 62
Dołączył: 6.03.2005
Skąd: Wroc

Ostrzeżenie: (0%)
-----


no sorry ale troche googlowania jeszcze nikomu nie zaszkodziło...
Go to the top of the page
+Quote Post
kosmic
post
Post #3





Grupa: Zarejestrowani
Postów: 132
Pomógł: 0
Dołączył: 31.10.2007

Ostrzeżenie: (0%)
-----


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 (IMG:http://forum.php.pl/style_emoticons/default/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 (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
Darti
post
Post #4





Grupa: Zarejestrowani
Postów: 1 076
Pomógł: 62
Dołączył: 6.03.2005
Skąd: Wroc

Ostrzeżenie: (0%)
-----


  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. ?>
Go to the top of the page
+Quote Post
kosmic
post
Post #5





Grupa: Zarejestrowani
Postów: 132
Pomógł: 0
Dołączył: 31.10.2007

Ostrzeżenie: (0%)
-----


Darti zrobileś normalne stronicowanie, praktycznie to samo co podałem powyżej Twoej odpowiedzi (IMG:http://forum.php.pl/style_emoticons/default/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 (IMG:http://forum.php.pl/style_emoticons/default/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 (IMG:http://forum.php.pl/style_emoticons/default/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 (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)

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

ktos pomoze (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ?
Go to the top of the page
+Quote Post
Darti
post
Post #6





Grupa: Zarejestrowani
Postów: 1 076
Pomógł: 62
Dołączył: 6.03.2005
Skąd: Wroc

Ostrzeżenie: (0%)
-----


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

Ten post edytował Darti 21.11.2007, 02:24:55
Go to the top of the page
+Quote Post
lukash82
post
Post #7





Grupa: Zarejestrowani
Postów: 320
Pomógł: 2
Dołączył: 17.03.2006
Skąd: Siemianowice

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
Darti
post
Post #8





Grupa: Zarejestrowani
Postów: 1 076
Pomógł: 62
Dołączył: 6.03.2005
Skąd: Wroc

Ostrzeżenie: (0%)
-----


Darti nie będzie zły (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
kosmic
post
Post #9





Grupa: Zarejestrowani
Postów: 132
Pomógł: 0
Dołączył: 31.10.2007

Ostrzeżenie: (0%)
-----


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 (IMG:http://forum.php.pl/style_emoticons/default/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 (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

please help me.... bo mnie trafia (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
Darti
post
Post #10





Grupa: Zarejestrowani
Postów: 1 076
Pomógł: 62
Dołączył: 6.03.2005
Skąd: Wroc

Ostrzeżenie: (0%)
-----


chyba wypadnie popełnić jakiś art o stronicowaniu i limitach z bazy ...
Go to the top of the page
+Quote Post
Teamon
post
Post #11





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 18.09.2006

Ostrzeżenie: (0%)
-----


a moze zwykle stronicowanie liniowo + css: float?
Go to the top of the page
+Quote Post
dadexix
post
Post #12





Grupa: Zarejestrowani
Postów: 439
Pomógł: 21
Dołączył: 28.06.2007
Skąd: Bielsko-Biała

Ostrzeżenie: (0%)
-----


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

Ten post edytował dadexix 22.11.2007, 17:22:35
Go to the top of the page
+Quote Post
polak89
post
Post #13





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 11.11.2007

Ostrzeżenie: (10%)
X----


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. ?>
Go to the top of the page
+Quote Post
dadexix
post
Post #14





Grupa: Zarejestrowani
Postów: 439
Pomógł: 21
Dołączył: 28.06.2007
Skąd: Bielsko-Biała

Ostrzeżenie: (0%)
-----


a jakie jest "przyśpieszenie" rekordów? tj. o ile więcej jest na następnych podstronach?
Go to the top of the page
+Quote Post
Darti
post
Post #15





Grupa: Zarejestrowani
Postów: 1 076
Pomógł: 62
Dołączył: 6.03.2005
Skąd: Wroc

Ostrzeżenie: (0%)
-----


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. ?>
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 18:29