Correzione...
Correzione...
[ DarCas The Architect ]
[ The DarCas Of Blog ]
Chuck Norris riesce a trovare un pagliaio dentro a un ago
:maLOL:
Originariamente inviato da DarCas
Facciamo un caso tipo:
Abbiamo una pagina che ri chiama result.php che contiene la lista di iscritti ad un forum.
Diciamo che ne vogliamo visualizzare 20 per pagina.
Per cambiare pagina di visualizzazione si passerà il solo parametro GET p.
Allora il codice sarà:a questo punto avrò un altro oggetto della classe che conterrà i dati per fare il menu di navigazione, con tutte le pagine e con due dati per creare la pagina PRECEDENTE e SUCCESSIVA.Codice PHP:
require_once("php.sql.pager.class");
$_PAGER = new _makePager(20);
$_sql = mysql_query("SELECT COUNT(*) FROM user_forum");
$_PAGER->_getPagerData(mysql_result($_sql),$_GET[p]);
$_sql = mysql_query("SELECT * FROM user_forum ORDER BY UserName {$_PAGER->sql}");
while ($row = mysql_fetch_row($_sql)) {
// STAMPO I RISULTATI
}
Nel prossimo post vedremo come realizzare il menu.
[ DarCas The Architect ]
[ The DarCas Of Blog ]
Chuck Norris riesce a trovare un pagliaio dentro a un ago
:maLOL:
forse off-topic per questo 3D ma probabilmente utile per le ricerche ...
nel caso il database non supportasse la clausola LIMIT, potremmo comportarci cosi'
con le informazioni in fondo possiamo riusare gli if dell' altro esempio per una impaginazione semplice, occhio al GET che in questo caso mostra 2, come pagina 3.codice:// inizio sessione, qui o altrove, basta che c'e' ... session_start(); // QUAMNTI RECORDS ALLA VOLTA VOGLIO MOSTRARE ? $daMostrare = 5; // controllo $_SESSION['paginator'] e in caso lo creo con arrays di 5 in 5 ... ( $daMostrare ) if( isSet( $_SESSION['paginator'] ) == false ) { $_SESSION['paginator'] = Array(); $paginator = Array(); $row = 1; while( $r = &result_query( 'SELECT * FROM tabella' ) ) { if( $row % $daMostrare == 0 ) { array_push( $_SESSION['paginator'], $paginator ); $paginator = Array(); } array_push( $paginator, $r ); $row++; } } // IN QUALE PAGINA MI TROVO ? $pagina = isSet( $_GET['page'] ) == true ? (int)$_GET['page'] : 0; if( isSet( $_SESSION['paginator'][$_GET['page']] ) == true ) { $a = 0; while( isSet( $_SESSION['paginator'][$_GET['page']][$a] ) == true ) { echo 'risultato '.$a.' della query '; $a++; } } // ESEMPI PER LINKS E IMPAGINAZIONI $paginaCorrente = $_GET['page'] + 1; $totalePagine = &count( $_SESSION['paginator'] ); $next = isSet( $_SESSION['paginator'][$paginaCorrente] ) == true ? $paginaCorrente : 0; $prev = isSet( $_SESSION['paginator'][( $_GET['page'] - 1 )] ) == true ? $_GET['page'] - 1 : 0; $first = 0; $last = $totalePagine - 1;
Chiudo i miei interventi, scusa DarCas
No, anzi..Originariamente inviato da andr3a
Chiudo i miei interventi, scusa DarCas
creado che questo 3d sia completo ora!
![]()
[ DarCas The Architect ]
[ The DarCas Of Blog ]
Chuck Norris riesce a trovare un pagliaio dentro a un ago
:maLOL:
Usando la classe con mysql ottengo un errore che non capisco:
questo è il codice
include("db.inc.php");
$conn=mysql_connect($host,$user,$pass) ;
$db=mysql_select_db("anagra",$conn);
require_once("pager.class.php");
$_PAGER = new _makePager(20);
$_sql = mysql_query("SELECT COUNT(*) FROM Anagrafica");//riga 16
$_PAGER-> _getPagerData(mysql_result($_sql),$_GET["p"]);
$_sql = mysql_query("SELECT * FROM Anagrafica ORDER BY ID {$_PAGER->sql}");
while ($row = mysql_fetch_row($_sql)) {
// STAMPO I RISULTATI
print($row[3]." ".$row[4]."
");
}
che mi da questo errore. Ma cosa è sbagliato... Grazie
Warning: Wrong parameter count for mysql_result() in /var/www/prova/provadb.php on line 16
ho fatto sicuramente un errore banale che non riesco a vedere...
Fatal error: Call to undefined function: _getpagerdata()Codice PHP:
require_once("php.sql.pager.class");
$_PAGER = new _makePager(10);
$_PAGER = _getPagerData(mysql_result($controllo2),$_GET['p']);
eppure il file php.sql.pager.class esiste, si chiama così ed è nella stessa cartella... ho incollato la classe pari pari ed in effetti la funzione nella classe esiste.
Dove sbaglio?
Sto utilizzando questa interessante classe ma mi trovo davanti a questo errore che non riesco a gestire:
ove la linea 19 è la segurente:codice:Warning: Wrong parameter count for mysql_result() on line 19 Notice: Use of undefined constant p - assumed 'p' on line 19 Notice: Undefined index: p on line 19
Graziecodice:18: $_sql = mysql_query("SELECT COUNT(*) FROM tbl_news".$NEWS_TB); 19: $_PAGER-> _getPagerData(mysql_result($_sql),$_GET[p]);
anche io ottengo lo stesso errore:
codice:Fatal error: Call to undefined function: _getpagerdata() in /var/www/html/xxxxxx/admin/ahah.php on line 125
BUMP
Addio Aldo, amico mio... [03/12/70 - 16/08/03]
Mi da questi errori
Codice PHP:
Warning: mysql_result() expects at least 2 parameters, 1 given in C:\wamp\www\webmatic\core\expansion\intro\index.php on line 27
Notice: Use of undefined constant p - assumed 'p' in C:\wamp\www\webmatic\core\expansion\intro\index.php on line 27
Notice: Undefined index: p in C:\wamp\www\webmatic\core\expansion\intro\index.php on line 27
Warning: mysql_fetch_row() expects parameter 1 to be resource, boolean given in C:\wamp\www\webmatic\core\expansion\intro\index.php on line 30
questi il codiceCodice PHP:
dove 27 è
$_PAGER->_getPagerData(mysql_result($_sql),$_GET[p]);
dove 30 è
while ($row = mysql_fetch_row($_sql)) {
Codice PHP:
require_once('php.sql.pager.class');
$_PAGER = new _makePager(5);
$_sql = mysql_query("SELECT COUNT(*) FROM sistema");
$_PAGER->_getPagerData(mysql_result($_sql),$_GET[p]);
$_sql = mysql_query("SELECT * FROM sistema ORDER BY ID {$_PAGER->sql}");
while ($row = mysql_fetch_row($_sql)) {
// STAMPO I RISULTATI
}
if ($_PAGER->menu['PREVIOUS']) echo "<a href=\"".$_PAGER->_getUri("p").$_PAGER->menu['PREVIOUS']."\">pagina precedente</a>";
$_PGS = $_PAGER->menu['PAGES'];
for ($j=0; $j!=count($_PGS); $j++) {
if ($_PGS[$j]['STATUS']) echo " [ <a href=\"".$_PAGER->_getUri("p").$_PGS[$j]['ID']."\">{$_PGS[$j]['ID']}</a> ] ";
else echo $_PGS[$j]['ID'];
}
if ($_PAGER->menu['NEXT']) echo "<a href=\"".$_PAGER->_getUri("p").$_PAGER->menu['NEXT']."\">pagina successiva</a>";