TwojePC.pl © 2001 - 2024
|
|
A R C H I W A L N A W I A D O M O Ś Ć |
|
|
|
Do programistów php i mysql - potrzebuje pomocy , _oLo_1984 2/08/06 18:01 ... w napisaniu skryptu, ktory pokazuje mi na stronie okreslona ilosc pozycji z bazy mysql np. w sklepie internetowym czy na innych stronkach wyswietlane jest np 10 pozycji i na dole jest link do kolejnych 2,3,4 itd. Jak to napisac, jestem poczatkujacy wiec prosze o wyrozumialosc i pomoc, z goory dziekujeawake - no więc... , john565 2/08/06 18:49
<?
require ("sql.php");
if ($_GET['start']=="") $_GET['start']="0";
$wyn_na_strone = 100;
$zapytanie = "SELECT COUNT(*) AS ile FROM losowanie";
$wynik = mysql_query($zapytanie) or die (mysql_error());
$rekord = mysql_fetch_array($wynik, MYSQL_ASSOC);
$ilosc = $rekord['ile'];
mysql_free_result($wynik);
<tutaj pozostała treść strony >
$licznik=1;
for($x=0;$x<$ilosc;$x=$x+$wyn_na_strone)
{
if ($x==$_GET['start'])
{
echo $licznik." ";
}
else
{
echo "<a href=\"".$SCRIPT_NAME."?start=".$x."\">".$licznik."</a> ";
}
$licznik++;
}
mysql_free_result($wynik);
mysql_close($polaczenie);
?>
i ze tak powiem jak już sie zbaiuerasz za PHP to sie troszeczke przestaw na logiczne myślenie, bo to barszcz jest, chwila głowkowania i zrobione.f*ck - ok dzieki , _oLo_1984 2/08/06 19:05
troche w inne mańke kombinowałem dlatego mi nie wychodziło
pozdrawake
- jesli piszesz obiektowo , PaKu 2/08/06 19:43
to luknij na ta moja klase moze ci sie przyda
<?php
class model_dao_Stronnicowanie {
protected $_db;
function __construct(){
$this->_db=$GLOBALS['db'];
}
protected function PoliczRekordy($zapytanie){
/*
Metoda pobiera zapytanie i zwraca liczbe wierszy pobranych za pomoca tego zapytania
Metoda buforuje rowniez dane w zmiennej sesji
*/
$pozycja=stripos($zapytanie,"FROM ");
if($pozycja==false)
tigger_error("Nieprawidłowa instrukcja");
if(isset($_SESSION['ost_zapytanie']))
if(strcasecmp($_SESSION['ost_zapytanie'],$zapytanie)==0)
return $_SESSION['ost_liczba'];
//zapytania nie ma w buforze, ustalamy liczbe wierszy
$zap="SELECT count(*) ".substr($zapytanie,$pozycja);
$wynik=$this->_db->DbGetOne($zap);
//zapisujemy dane w budorze
$_SESSION['ost_zapytanie']=$zapytanie;
$_SESSION['ost_liczba']=$wynik;
return $wynik;
}
protected function StronnicowanieWynikow($zapytanie,$nr_strony,&$r_liczba_stron){
/*
Metoda stronnicuje wyniki i zwraca zapytanie
$zapytanie - ciag tekstowy zapytania
$nr_strony - numer aktualnie wyswietlonej strony
&$r_liczba_stron - zmienna przekazywana przez referencje okresla liczbe wszystkich stron
*/
$liczba_rek=$this->PoliczRekordy($zapytanie);
if($liczba_rek<=LICZBA_PROD_NA_STRON){
$nr_strony=1;
$r_liczba_stron=1;
}
else{//stronnicowanie wynikow
$r_liczba_stron=ceil($liczba_rek/LICZBA_PROD_NA_STRON);
$start=($nr_strony-1)*LICZBA_PROD_NA_STRON;
$zapytanie.=" LIMIT $start ,".LICZBA_PROD_NA_STRON;
}
return $zapytanie;
}
}
?>bez podpisu - dzieki wielkie , _oLo_1984 3/08/06 14:19
napewno się przyda
pozdrawiamawake
- poczytaj o , wukillah 3/08/06 19:03
sql_calc_found_rows z http://dev.mysql.com/
SELECT SQL_CALC_FOUND_ROWS * FROM tbl_name
-> WHERE id > 100 LIMIT 10;
SELECT FOUND_ROWS()just d'oh it! |
|
|
|
|
All rights reserved ® Copyright and Design 2001-2024, TwojePC.PL |
|
|
|
|