Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Problemi con la paginazione!!!! AHHH!!!

    Ciao a tutti, ho letto mille post sui forum, guide, tutorial ecc... ma sto davvero impazzendo, pensavo fosse più facile ma non riesco a farlo funzionare.
    Quando clicco su pagina successiva mi visualizza sempre la stessa pagina con i primi tre record, però guardando la barra degli indirizzi vedo che mi crea la pagina 2.
    Ah un altra cosa, il codice per inserire "pagina successiva" l'ho dovuto tenere sopra l'inserimento del codice per la visualizzazione deii record perchè se lo metto dopo non mi visualizza il pulsante... MAh??
    Non è che per caso qualche genietto o semplicemente qualcuno che ne capisce più di me può darmi una mano??

    ecco il codice...

    Codice PHP:
    $query "SELECT id, nome, descrizione, figura, note, categoria FROM oggetto ORDER BY id DESC";
    $result db($query);
    $oggetti db_array($result);
    $c count($oggetti);
    $pagina = ($_GET =& $GLOBALS['HTTP_GET_VARS'] != "") ? (int)$_GET =& $GLOBALS['HTTP_GET_VARS'] : 1;
    $pageSize 3;
    // quanti records per pagina?
    $begin = ($pagina-1)*$pageSize;
    // da che record iniziare a prendere i valori

    $countPages ceil($c $pageSize);
    // quante pagine?

    if ($c $pageSize && $countPages $pagina) {
    echo 
    "[url='?pag=" . ($pagina+1) . "']Pagina successiva -->[/url]";
    }
    // se ci fossero altre pagine, vado avanti
    if ($pagina 1) {
    echo 
    "

    [url='?pag=" 
    . ($pagina-1) . "']<--- Pagina precedente[/url]";
    }
    // Se ci fossero pagine precedenti, vado indietro

    $query "SELECT id, nome, descrizione, figura, note, categoria FROM oggetto ORDER BY id DESC LIMIT $begin$pageSize";
    $result db($query);
    $oggetti db_array($result);
    $c count($oggetti);
    for (
    $i 0$i $c$i++) {
    if (
    $oggetti[$i]['figura'] == '')
    $oggetti[$i]['figura'] = 'default.jpg';

    echo
    '<div id="prodotto">';
    echo
    '<div id="img_prod">';
    echo 
    '[img]./immagini/'.$oggetti[$i]['figura'].'[/img]
    '
    ;
    echo
    '</div>';
    echo
    '<div id="descr_prod">';
    echo 
    '<h4>';
    echo 
    ''.$oggetti[$i]['nome'].'';
    echo 
    '</h4>';
    if (
    isAutorized()) {
    echo 
    ' [url="./catalogo.php?where=object&action=view&id='.$oggetti[$i]['id'].'"]visualizza scheda[/url]
    '
    ;
    }
    echo 
    '<h5>[b]Descrizione:[/b] '.$oggetti[$i]['descrizione'].'
    </h5>'
    ;
    echo 
    '<h2>[b]Prezzo:[/b] '.$oggetti[$i]['note'].'
    </h2>'
    ;
    echo
    '</div>';
    echo
    '</div>'
    Vi ringrazio in anticipo e se avete altre soluzioni ben venga

  2. #2
    mi auto rispondo però non ho risolto....
    ora ho provato così, ma mi da questo errore

    Fatal error: Unsupported operand types in c:\programmi\easyphp1-8\www\negozio3\prova.php on line 23

    e la linea 23 è questa
    Codice PHP:
    // Calcolo da quale record iniziare
    $first = ($pag 1) * $x_pag
    ma che nervi... aiutatemi vi prego... vi offro una birretta

    Codice PHP:

    // Creo una variabile dove imposto il numero di record
    // da mostrare in ogni pagina
    $x_pag 5;
    // Recupero il numero di pagina corrente.
    // Generalmente si utilizza una querystring
    $pag $_GET =& $GLOBALS['HTTP_GET_VARS'];
    // Controllo se $pag è valorizzato...
    // ...in caso contrario gli assegno valore 1
    if (!$pag$pag 1;
    $conn mysql_connect("localhost","root","");
    mysql_select_db("Sql70238_3"$conn);

    // Uso mysql_num_rows per contare le righe presenti
    // all'interno della tabella agenda
    $all_rows mysql_num_rows(mysql_query("SELECT id FROM oggetto"));

    // Tramite una semplice operazione matematica definisco
    // il numero totale di pagine
    $all_pages ceil($all_rows $x_pag);

    // Calcolo da quale record iniziare
    $first = ($pag 1) * $x_pag;

    // Recupero i record per la pagina corrente...
    // utilizzando LIMIT per partire da $first e contare fino a $x_pag
    $rs mysql_query("SELECT * FROM oggetto LIMIT $first$x_pag");
    $nr mysql_num_rows($rs);
    if (
    $nr != 0){
    for(
    $x 0$x $nr$x++){
    $row mysql_fetch_assoc($rs);
    if (
    $row['figura'] == '')
    $row['figura'] = 'default.jpg';

    echo
    '<div id="prodotto">';
    echo
    '<div id="img_prod">';
    echo 
    '[img]./immagini/'$row['figura'].'[/img]
    '
    ;
    echo
    '</div>';
    echo
    '<div id="descr_prod">';
    echo 
    '<h4>';
    echo 
    ''$row['nome'] .'';
    echo 
    '</h4>';
    echo 
    ' [url="./catalogo.php?where=object&action=view&id='.$row['id'].'"]visualizza scheda[/url]
    '
    ;
    echo 
    '<h5>[b]Descrizione:[/b] '$row['descrizione'].'
    </h5>'
    ;
    echo 
    '<h2>[b]Prezzo:[/b] '$row['note'].'
    </h2>'
    ;
    echo
    '</div>';
    echo
    '</div>';
    }
    }else{
    echo 
    "Nessun record trovato!";
    }

    // Se le pagine totali sono più di 1...
    // stampo i link per andare avanti e indietro tra le diverse pagine!

    if ($all_pages 1){
    if (
    $pag 1){
    echo 
    "<a href=\"" $_SERVER['PHP_SELF'] . "?pag=" . ($pag 1) . "\">";
    echo 
    "Pagina Indietro</a>";
    }
    if (
    $all_pages $pag){
    echo 
    "<a href=\"" $_SERVER['PHP_SELF'] . "?pag=" . ($pag 1) . "\">";
    echo 
    "Pagina Avanti</a>";
    }
    }

    // Chiudo la connessione ad DB
    mysql_close($conn); 

  3. #3
    Cerca fra le pillole, ce ne sono almeno 2 sulle paginazioni

  4. #4
    mi posteresti il link?

  5. #5
    Utente di HTML.it L'avatar di polinet
    Registrato dal
    Nov 2000
    Messaggi
    993
    Vai sul regolamento e trovi la guida del MITICO GUIDOZ.
    O, tra gli script trovi cose piu sempilci.

    ¿Hasta la pasta?

  6. #6
    ma di guide ne ho trovate tantissime in giro per la rete, poi il problema è integrare il codice nella pagina... ora sono arrivato a buon punto ma ho ancora alcuni problemucci da risolvere...

  7. #7
    Inizierei subito col sostituire la riga:
    Codice PHP:
    $pag $_GET =& $GLOBALS['HTTP_GET_VARS']; 
    con:
    Codice PHP:
    $pag = (isset($_GET["pag"])) ? $_GET["pag"] : 1
    Web Soft Solutions
    www.websoftsolutions.it

  8. #8
    urca... sai che sembra proprio adare... cmq nel pomeriggio lo provo meglio per essere sicuro... grazie mille per adesso.. posterò la conferma definitiva più tardi...

  9. #9
    Funziona... grazie mille websoftss, ora l'ho inserito nel catalogo che sto facendo... evviva...
    Dato che ci sono chiedo ancora una cosa....

    Voglio mettere un elenco/menu di un modulo con le categorie del catalogo es: cucina, musica, audio ecc... per visualizzare i dati per le varie categorie e ho pensato di fare così:

    creare una variabile che prende il valore dall'elenco

    Codice PHP:
    $cat "il valore selezionando l'elenco"
    da inserire poi nel select per la selezione degli array "WHERE categoria LIKE 'cucina', WHERE categoria LIKE 'musica, WHERE categoria LIKE 'audio, ecc...'"



    Codice PHP:
    $rs mysql_query("SELECT * FROM oggetto $cat ORDER BY id DESC LIMIT $first$x_pag"); 
    questo è l'elenco/menu



    Codice PHP:
    ?>
    <select name="categoria">
      <option value="WHERE categoria LIKE 'cucina'">Cucina</option>
      <option value="WHERE categoria LIKE 'musica'">Musica</option>
      <option value="WHERE categoria LIKE 'audio'">Audio</option>
    </select>
    <?
    Io mi chiedo... come faccio a dare alla variabile $cat il valore del menu??

    Qualcuno sa dirmi come posso fare?

    magari questa mia soluzione fa schifo ma è da poco che uso php...

    magari mi sono spiegato pure male... spero di no...

  10. #10
    Pessima soluzione! Non esiste da alcuna parte mettere un'intera query dal lato client.
    Web Soft Solutions
    www.websoftsolutions.it

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.