Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    555

    Paginazione risultati query

    Salve ragazzi,
    vorrei capire una cosa in merito al seguente codice per eseguire una paginazione di dati:

    // esecuzione seconda query con LIMIT
    $query_limit = mysql_query("SELECT art_id, titolo FROM articoli LIMIT $primo, $per_page");
    while($results = mysql_fetch_array($query_limit)) {
    echo " <tr>\n <td>";
    echo "<a href=\"page.php?id=" . $results['art_id'] . "\">" . $results['titolo'] . "</a>
    ";
    echo "</td>\n </tr>\n";
    }


    Vorrei una spiegazione sulla riga:

    echo "<a href=\"page.php?id=" . $results['art_id'] . "\">" . $results['titolo'] . "</a>
    ";


    Difatti l'istruzione, se nn erro, dovrebbe rimandare alla pagina "page.php" nella quale dovrebbero comparire i risultati della query, cioè l'id e il titolo dell'articolo linkato.
    Ma quando clicco sul titolo linkato mi rimanda si alla pagina "page.php" ma mi compare una pagina bianca con nulla all'interno. Cioè è vuota.

    Come mai? Sono io che non ho capito il significato di questa parte di codice?
    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    555
    Nessuno che riesce a darmi una mano?

  3. #3
    Utente di HTML.it L'avatar di dany0
    Registrato dal
    Feb 2003
    Messaggi
    422
    1)se passi sopra al link col mouse ti fa vedere tipo page.php?id=9 oppure una cosa del tipo page.php?id= senza nessun valore dopo???
    2)nel caso ti faccia vedere la prima stringa il problema è nella pagina page.php e non in questa

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    555
    clikkando sul link mi manda alla pagina ad esempio page.php?=1 oppure .....?=2
    (ci sono solo due articoli per ora nel database).
    Quindi suppongo che l'errore nel codice postato inizialmente e non nella pagina page.php
    Solo che purtroppo, ripeto, nella pagina non mi compare nulla!!! rimane bianca, vuota!

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    555
    non capisco dove sta l'errore!!

  6. #6
    Utente di HTML.it L'avatar di dany0
    Registrato dal
    Feb 2003
    Messaggi
    422
    la sintassi è corretta...secondo me la pagina page.php non esiste o hai sagliato indirizzo (magari è in una sottocartella)...di sicuro se passando sopra col mouse vedi il link quella parte di codice non ha problemi ne di sintassi ne a caricare i dati dal db

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    555
    Pare che la destinazione sia corretta. Facciamo così, scrivo per intero il codice della pagina estrazione.php

    <?php
    include("config.php");
    mysql_connect($db_host,$db_user,$db_password,$db_n ame) or die ("errore nella connessione");
    mysql_select_db("$db_name") or die ("errore nella selezione del database");
    // esecuzione prima query
    $count = mysql_query("SELECT COUNT(art_id) FROM articoli");
    $res_count = mysql_fetch_row($count);

    // numero totale di records
    $tot_records = $res_count[0];

    // risultati per pagina(secondo parametro di LIMIT)
    $per_page = 1;

    // numero totale di pagine
    $tot_pages = ceil($tot_records / $per_page);

    // pagina corrente
    $current_page = (!$_GET['page']) ? 1 : (int)$_GET['page'];

    // primo parametro di LIMIT
    $primo = ($current_page - 1) * $per_page;

    echo "<div align=\"center\">\n<table>\n";

    // esecuzione seconda query con LIMIT
    $query_limit = mysql_query("SELECT art_id, titolo FROM articoli LIMIT $primo, $per_page");
    while($results = mysql_fetch_array($query_limit)) {
    echo " <tr>\n <td>";
    echo "<a href=\"amministrazione\page.php?id=" . $results['art_id'] . "\">" . $results['titolo'] . "</a>";
    echo "</td>\n </tr>\n";
    }

    // includiamo uno dei files contenenti la paginazione, commentate l'altro ovviamente
    include("paginazione_2.php");
    //include("paginazione_1.php");

    // in questa cella inseriamo la paginazione
    echo " <tr>\n <td height=\"50\" valign=\"bottom\" align=\"center\">$paginazione</td>\n";

    echo " </tr>\n</table>\n</div>";
    mysql_close();
    ?>

    questo è il codice che della pagina che estrae i dati e li impagina, assieme al file "impaginazione_2.php" il cui codice è:

    <?php

    $paginazione = "Pagine totali: " . $tot_pages . "
    [";
    for($i = 1; $i <= $tot_pages; $i++) {
    if($i == $current_page) {
    $paginazione .= $i . " ";
    } else {
    $paginazione .= "<a href=\"?page=$i\" title=\"Vai alla pagina $i\">$i</a> ";
    }
    }
    $paginazione .= "]";

    ?>

    ora non riesco a trovare l'errore. I file, assieme a "page.php" si trovano tutti nella stessa sotto cartella. Quindi non è nemmeno un problema giusto indirizzo, perchè ho provato a cambiarlo e nella pagina "page.php" invece che uscirmi bianca mi ha scritto "no input file....", cioè non risultava nessun file in quella sottocartella con il nome "page.php"

    Insomma, un bel casino!

  8. #8
    Utente di HTML.it L'avatar di dany0
    Registrato dal
    Feb 2003
    Messaggi
    422
    ripeto : il problema è nella pagina page.php,

    prova a scrivere echo"ciao"; e togliere il resto dal codice, vedrai che stamperà ciao a prescindere dall'id che passi ma almeno avrai la prova che il problema sta li e non nel codice che mi mostri in quanto questo serve solo per mandare a page.php un valore.....

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    555
    Cosa dovrei scrivere nel file "page.php" affinchè raccolga i dati della pagina "estrazione.php"?

  10. #10
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    555
    niente da fare, non trovo soluzione.......

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.