Skocz do zawartości

Zdjęcie
* * * * * 1 głosy

Przepaść przy tworzeniu paginacji


2 odpowiedzi w tym temacie
  • Zaloguj się, aby dodać odpowiedź
Alvi

    Nowy użytkownik

  • 1 postów
    • :
0
Neutralna

Napisano 01 sierpnia 2013 - 20:09

#1

Witam!

Mój problem polega na tym, że nie mam pojęcia jak po określonej długości tekstu (czy jak by to tam nie nazwać) zrobić by tworzyły się kolejne "podstrony".

Mówiąc najprościej potrzebuję podłączyć do tego paginację. Męczę się z tym od kilku dni i nie mogę sobie z tym poradzić.
Byłbym wdzięczny za pomoc w złączeniu mego kodu z paginacją. Z góry dzięki.

 

Mój kod na stronę:

 

<?php

$zapytanie2 = mysql_query("SELECT * FROM zlecone where kod = 'Grafik'");
while ( $row = mysql_fetch_row($zapytanie2) ) {


echo "<div class=\"grid_12\">";
echo "<h2 class=\"indent-2\"><h3>". $row[1] ." (". $row[4] .")</h3></h2>";
echo "</div>";
echo "<div class=\"grid_6\"> ". $row[2] ."";

echo "<div class=\"lists\">";
echo "<div>";

echo "<ul class=\"list-1\">";
echo "<li>Imie: <font color=\"#19abee\">" . $row[1] . "</font></a></li>";
echo "<li>Uzytkownik: <font color=\"#19abee\">" . $row[4] . "</font></a></li>";
echo "<li>Specjalizacja: <font color=\"#19abee\">" . $row[3] . "</font></a></li>";

echo "<li><a href=\"#\">Email: <font color=\"#19abee\">" . $row[7] . "</font></a></li>";
echo "<li>Gadu Gadu: <font color=\"#19abee\">" . $row[5] . "</font></a></li>";

echo "<li>Telefon: <font color=\"#19abee\">" . $row[6] . "</font></a></li>";
echo "<li><a href=\"#\">Strona domowa: <font color=\"#19abee\">" . $row[8] . "</font></a></li>";
echo "</ul>";
echo "</div>";
echo "<div>";

echo "</div>";
echo "</div>";
echo "</div>";
echo "<div class=\"grid_6\">";
echo "<ul class=\"list-people\">";
echo "<li><img style=\"width: 140px; height: 140px;\" src=\" \" ></li>";
echo "<li><img style=\"width: 140px; height: 140px;\" src=\" \" ></li>";
echo "<li><img style=\"width: 140px; height: 140px;\" src=\" \" ></li>";
echo "<li><img style=\"width: 140px; height: 140px;\" src=\" \" ></li>";
echo "<li><img style=\"width: 140px; height: 140px;\" src=\" \" ></li>";
echo "<li><img style=\"width: 140px; height: 140px;\" src=\" \" ></li>";
echo "</ul> ";
echo "</div>";
echo "<div class=\"wrapper border-bot p3\"> </div>";

}

?>
 

 

Paginacja którą chciałem podłączyć (jeśli macie lepszą to może być inna):

 

<?php
$zapytanie_ilosc = mysql_query("SELECT * FROM zlecone where kod = 'Grafik'");
//ilosc rekordów w bazue
$ilosc_rekordow = mysql_num_rows($zapytanie_ilosc);
// aktualna strona
$strona = (isset($_GET['strona']))? $_GET['strona'] : 0;;
//ilośc wyników na strone
$na_stronie = 2;
//ilośc stron
$ilosc_stron = mysql_num_rows($zapytanie_ilosc) / $na_stronie;
//limit w zapytaniu
$limit = $strona * $na_stronie;
$zapytanie = mysql_query("SELECT * FROM zlecone where kod = 'Grafik' LIMIT $limit, $na_stronie");
while($temp = mysql_fetch_array($zapytanie)){
echo $temp['nazwa']."<br>";
/*
tutaj wyświetlaj zawartośc z bazy
*/
}

//czy ilosc stron jest większa niz 1?
echo '</table><div id="paginacja">';
//dodawanie pierwsza i poprzednia strona
$return .= ($strona)? ("<a href=\"test.php?strona=0\">Pierwsza</a>").("<a href=\"test.php?strona=".($strona - 1)."\">Poprzednia</a>") : "";
//pętla dodająca numerki stron i dodawanie klasy active, dzieki temu można zmienic wyglad dla aktywnej strony
for($i = 0; $i < $ilosc_stron ; $i++)
$return .= "<a href=\"test.php?strona=$i\" ".($strona == $i? ("class=\"active\""):("")).">".$i."</a>";
// next i ostatnia
$return .= ($strona < $ilosc_stron -1)? ("<a href=\"test.php?strona=".($strona + 1)."\">Następna</a>").("<a href=\"test.php?strona=".($ilosc_stron-1)."\">Ostatnia</a>") : "";
// wyświtlenie paginacji i zamkniecie diva id paginacja
echo $return.'</div>';
?>
 

 

Pomożecie mi to złączyć w jedno?


  • 0

Queric

    Nowy użytkownik

  • 1 postów
    • :
0
Neutralna

Napisano 10 sierpnia 2013 - 14:07

#2

Polecam ci Sobak's DB Class to łatwe i proste narzędzie ułatwia pracę z SQL. 


  • 0

unbreak

    WT Elite

  • 1 937 postów
    • Czas spędzony online: 27d 8h 43m 36s
506
Znakomita!
  • Location/home/unbreak

Napisano 31 października 2013 - 09:43

#3

Z tego co widzę to masz wszystko czego potrzebujesz, po prostu z pierwszego skryptu to:

while ( $row = mysql_fetch_row($zapytanie2) ) {
  ...
}

wstawiasz do drugiego w miejscu tego:

while($temp = mysql_fetch_array($zapytanie)){
echo $temp['nazwa']."<br>";
/*
tutaj wyświetlaj zawartośc z bazy
*/
}

Tylko oczywiście zwróć uwagę na to że w pierwszym masz $zapytanie2 a w drugim $zapytanie, więc w tym co wkleisz musisz mieć $zapytanie2. Polecam też zmienić mysql_fetch_array na mysql_fetch_assoc :) i wtedy zamiast $row[1] używasz czegoś pokroju $row['nazwa_kolumny_w_bazie'] ;)

Swoją drogą pierwszy skrypt lepiej zmienić na coś na zasadzie:

<?php while ( $row = mysql_fetch_assoc($zapytanie2) ): ?>
<div class="grid_12">
<h2 class="indent-2"><h3><?php echo $row['name']; ?> (<?php echo $row['login']; ?>)</h3></h2>

tutaj cała reszta na tej samej zasadzie

<?php endwhile; ?>

'echowanie' takiej ilości htmlu mija się z celem :D


  • 0

webDeveloper





Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych