Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    343

    problemi di paginazione

    ok risolto quasi tutto ... mhhh chi mi aiuta perfavore ....

    Questo script dovrebbe printarmi cio che c'è nel database dando le varie pagine , ma non mi printa perchè ?!??!?!?!?'1'1

    Paginazione

    <?php
    // definiamo una costante per la pagina corrente
    define("SELF", $_SERVER['PHP_SELF']);

    // definiamo la classe
    class Paging
    {
    // definiamo la pagina di partenza
    function paginaIniziale($max_row)
    {
    if ((!isset($_GET['p'])) || ($_GET['p'] == "1"))
    {
    $parti_da = 0;
    $_GET['p'] = 1;
    }else{
    $parti_da = ($_GET['p']-1) * $max_row;
    }
    return $parti_da;
    }

    // contiamo le pagine e stabiliamo quanti records devono essere impaginati
    function contaPagine($conta, $max_row)
    {
    $pgg = (($conta % $max_row) == 0) ? $conta / $max_row : floor($conta / $max_row) + 1;
    return $pgg;
    }

    // mostriamo l'elenco delle pagine
    function listaPagine($p_corrente, $pgg)
    {
    $listapgg = "";
    if (($p_corrente != 1) && ($p_corrente))
    {
    $listapgg .= " <a href=\"".SELF."?p=1\">Prima pag.</a> ";
    }
    if (($p_corrente-1) > 0)
    {
    $listapgg .= "<a href=\"".SELF."?p=".($p_corrente-1)."\"><</a> ";
    }
    for ($i=1; $i<=$pgg; $i++)
    {
    if ($i == $p_corrente)
    {
    $listapgg .= "".$i."";
    }else{
    $listapgg .= "<a href=\"".SELF."?p=".$i."\">".$i."</a>";
    }
    $listapgg .= " ";
    }
    if (($p_corrente+1) <= $pgg)
    {
    $listapgg .= "<a href=\"".SELF."?p=".($p_corrente+1)."\">></a> ";
    }
    if (($p_corrente != $pgg) && ($pgg != 0))
    {
    $listapgg .= "<a href=\"".SELF."?p=".$pgg."\">Ultima pag.</a> ";
    }
    $listapgg .= "</td>\n";
    return $listapgg;
    }

    // permettiamo la navigazione per pagine precedenti e successive
    function precedenteSuccessiva($p_corrente, $pgg)
    {
    $impaginazione = "";
    if (($p_corrente-1) <= 0)
    {
    $impaginazione .= "Precedente";
    }else{
    $impaginazione .= "<a href=\"".SELF."?p=".($p_corrente-1)."\">Pag. precedente</a>";
    }
    $impaginazione .= " | ";
    if (($p_corrente+1) > $pgg)
    {
    $impaginazione .= "Prossima";
    }else{
    $impaginazione .= "<a href=\"".SELF."?p=".($p_corrente+1)."\">Prossima pag.</a>";
    }
    return $impaginazione;
    }
    }
    ?>


    Pagina :

    <?php
    //includiamo il file della classe
    @require("paginazione.php");

    //connettiamoci a MySQL e selezioniamo il database
    class MySQL
    {
    function MySQL()
    {
    $this->host_name = "localhost";
    $this->user_name = "iscritti_dieta";
    $this->password = "searedone1";
    $this->data_name = "db_iscritti";
    $this->link = @mysql_connect($this->host_name, $this->user_name, $this->password) or die (mysq_error());
    @mysql_select_db($this->data_name) or die (mysq_error());
    }
    }

    $data = new MySQL();

    // istanziamo la classe per l'impaginazione
    $p = new Paging;

    // numero massimo di risultati per pagina
    $max = 10;

    // identifichiamo la pagina da cui iniziare la numerazione
    $inizio = $p->paginaIniziale($max);

    // contiamo i records nel database
    $query_count = @mysql_query("SELECT * FROM ricette_cucina WHERE tipo='$tipo'") or die (mysql_error());
    $count = @mysql_num_rows($query_count) or die (mysql_error());

    // troviamo il numero delle pagine che dovr‡ essere contato
    $pagine = $p->contaPagine($count, $max);

    // limitiamo la SELECT al numero di risultati per pagina
    $query = @mysql_query("SELECT * FROM ricette_cucina WHERE tipo='$tipo' LIMIT ".$inizio.",".$max) or die (mysql_error());


    //recuperiamo i dati da stampare


    while ($records = mysql_fetch_array($query)) {





    // stampiamo i nostri dati

    echo "tipo : " . $records['tipo'] ."
    ";

    }

    //l'errore dovrebbe essere qui chi mi aiutaaaaaa


    //mostriamo le pagine
    $lista = $p->listaPagine($_GET['p'], $pagine);
    echo $lista . "
    ";

    //mostriamo il navigatore Precedente/Successiva
    $navigatore = $p->precedenteSuccessiva($_GET['p'], $pagine);
    echo $navigatore;
    ?>

    l'errore l'ho messo in rosso

  2. #2
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221
    posta il testo dell'errore

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    343
    Non mi da errore ... Nn mi printa semplicemente quello che mi dovrebbe printare che c'e' nel database secondo me e' sbagliata la query ...

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    343
    in poche parole questa interrogazione del db dovrebbe darmi tutti i pipo che tiene il database , mi crea le pagine e va avanti con la creazione ma mi mette tipo: e qui manca quello del db

    while ($records = mysql_fetch_array($query)) {


    // stampiamo i nostri dati

    echo "tipo : " . $records['tipo'] ."
    ";

    }

    posto l'immagine
    Immagini allegate Immagini allegate

  5. #5
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221
    il fatto che ti visualizza n volte la scritta tipo vuol dire che nel ciclo while entra e lo esegue, quindi è corretta anche la query, la cosa più probabile quindi è che la variabile $records['tipo'] sia vuota, magari non esite un campo tipo nella tabella prova a fare così:

    Codice PHP:
    while ($records mysql_fetch_array($query)) {
        
    // verifica la struttura di $records
        
    print_r($records );

        
    // stampiamo i nostri dati
        
    echo "tipo : " $records['tipo'] ."
    "
    ;


  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    343
    Mi da questa serie di risultati ?!?!?!?


    Array ( [0] => 3 [id] => 3 [1] => primo piato / primi piatti [tipo] => primo piato / primi piatti [2] => spaghetti al cartoccio [titolo] => spaghetti al cartoccio [3] => [url] => [4] => [descrizione] => ) tipo : primo piato / primi piatti
    Array ( [0] => 5 [id] => 5 [1] => [tipo] => [2] => [titolo] => [3] => [url] => [4] => [descrizione] => ) tipo :
    Array ( [0] => 25 [id] => 25 [1] => [tipo] => [2] => [titolo] => [3] => [url] => [4] => [descrizione] => ) tipo :
    Array ( [0] => 27 [id] => 27 [1] => [tipo] => [2] => [titolo] => [3] => [url] => [4] => [descrizione] => ) tipo :
    Array ( [0] => 29 [id] => 29 [1] => [tipo] => [2] => [titolo] => [3] => [url] => [4] => [descrizione] => ) tipo :
    Array ( [0] => 30 [id] => 30 [1] => purita [tipo] => purita [2] => [titolo] => [3] => [url] => [4] => Tenete presente che il codice CSS di questi layout contiene molti commenti. Se solitamente lavorate nella vista Progettazione, visualizzate almeno momentaneamente la vista Codice per consultare i suggerimenti sull'uso del codice CSS nei layout fissi. Potete rimuovere questi commenti prima di lanciare il sito. Per saperne di più sulle tecniche utilizzate in questi layout CSS, leggete questo articolo sul Centro per gli sviluppatori Adobe - http://www.adobe.com/go/adc_css_layouts. [descrizione] => Tenete presente che il codice CSS di questi layout contiene molti commenti. Se solitamente lavorate nella vista Progettazione, visualizzate almeno momentaneamente la vista Codice per consultare i suggerimenti sull'uso del codice CSS nei layout fissi. Potete rimuovere questi commenti prima di lanciare il sito. Per saperne di più sulle tecniche utilizzate in questi layout CSS, leggete questo articolo sul Centro per gli sviluppatori Adobe - http://www.adobe.com/go/adc_css_layouts. ) tipo : purita
    Array ( [0] => 31 [id] => 31 [1] => [tipo] => [2] => [titolo] => [3] => [url] => [4] => [descrizione] => ) tipo :
    Array ( [0] => 33 [id] => 33 [1] => pizza [tipo] => pizza [2] => [titolo] => [3] => [url] => [4] => sadfsdfsdafsd [descrizione] => sadfsdfsdafsd ) tipo : pizza
    Array ( [0] => 34 [id] => 34 [1] => pizza [tipo] => pizza [2] => [titolo] => [3] => [url] => [4] => [descrizione] => ) tipo : pizza
    Array ( [0] => 35 [id] => 35 [1] => pizza [tipo] => pizza [2] => [titolo] => [3] => [url] => [4] => [descrizione] => ) tipo : pizza

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    343
    fammi capire ...

    ora ho tolto print_r($records );


    while ($records = mysql_fetch_array($query)) {
    // verifica la struttura di $records


    // stampiamo i nostri dati
    echo "tipo : " . $records['tipo'] ."
    ";
    }

    Ho lanciato lo script e funziona ... che cavolo era successo !?!?!? quindi non avevo sbagliato il ciclo while !??!!

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    343
    niente si riblocca tutto se tolgo print !?!??!? print_r($records ); perchè

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    570
    fai un var_dump della chiave tipo all'interno del while, così ci si capisce qualcosa...
    comunque concordo con tutto quello che ha detto las fin'ora.

  10. #10
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    343
    Se metto var_dump mi da null ...

    Detto questo spero che qualcuno capisca l'arcano ....

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 © 2026 vBulletin Solutions, Inc. All rights reserved.