Visualizzazione risultati 1 fino 2 di 2

Discussione: Più variabili nell'indirizzo

  1. #1
    Guest

    Predefinito Più variabili nell'indirizzo

    Ciao a tutti ho un problema con questo scipr che ho scritto:

    Praticamento scarico le query dal db se le query sono maggiori di 10 vengono impaginate con la forma pagina?page=2 e così via il problema è che ho diviso anche le query in categorie visibile con la forma pagina?cat=1 fino a quì tutto ok ma se volessi vedere la seconta pagina della categoria 1 cosa devo fare?

    Vi posto i codici:


    Pagina:

    Codice PHP:
    include("../../script/config.php");

    if(isset(
    $_GET['cat']) && $_GET['cat'] > 0) {
    $id_categoria = $_GET['cat'];
    } else {
    $id_categoria = 0;
    }

    $db = mysql_connect($db_host, $db_username, $db_password, $prefix3 );
    if (
    $db == FALSE)
    die (
    "Errore nella connessione. Vi preghiamo di contattare l'assistenza.");
    mysql_select_db($databse_name, $db)
    or die (
    "Errore nella selezione del database. Vi preghiamo di contattare l'assistenza.");
    if(isset(
    $id_categoria) && $id_categoria != 0)
    {
    $query = "SELECT id FROM ".$prefix3."_apple WHERE categoria='".$id_categoria."'";
    }else{
    $query = "SELECT id FROM ".$prefix3."_apple";
    }
    $result = mysql_query($query, $db);
    $result_number = mysql_num_rows($result);

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

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

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

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

    // esecuzione seconda query con LIMIT
    if(isset($id_categoria) && $id_categoria != 0)
    {
    $query_limit = mysql_query("SELECT id, data, titolo, categoria FROM ".$prefix3."_apple WHERE categoria = '".$id_categoria."' LIMIT $primo, $per_page");
    }else{
    $query_limit = mysql_query("SELECT id, data, titolo, categoria FROM ".$prefix3."_apple LIMIT $primo, $per_page");
    }
    $categorie = array("", "OS", "Software", "iPod & iPhone", "Prodotti", "News");

    if (
    $result_number == 0)
    {
    echo
    '<span class="text1">Nessun articolo inserito</span>';
    }

    else
    {

    while(
    $row = mysql_fetch_array($query_limit))
    {
    echo <<<EOD
    <table width="100%">
    <tr>
    <td align="left" class='text1'><a href="view.php?id=
    {$row['id']}"><strong>{$row['titolo']}</strong></a><br></td>
    <td align="right">
    {$row['data']}</td>
    </tr>
    <tr>
    <td align="left" colspan="2">&nbsp;</td>
    </tr>
    <tr>
    <td align="left">
    {$categorie[$row['categoria']]}</td>
    <td align="right">&nbsp;</td>
    </tr>
    </table>
    EOD;
    }
    }

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

    // in questa cella inseriamo la paginazione
    echo "<div align=\"center\">\n<table>\n";
    echo
    " <tr>\n <td height=\"50\" valign=\"bottom\" align=\"center\" class='paginazione'>$paginazione</td>\n";
    echo
    " <tr>\n <td height=\"50\" valign=\"bottom\" align=\"center\" class='paginazione'>Pagina: $current_page</td>";
    echo
    " <tr> <td align=\"center\" class='paginazione'>Vai a pagina: ";
    for (
    $i=1; $i<=$tot_pages; $i++)
    {
    echo
    "<a href=\"?page=$i\" title=\"Vai alla pagina successiva\" class='paginazione'>$i</a>\n";
    }
    echo
    "</td>";
    echo
    " </tr>\n</table>\n</div>";

    mysql_close($db);
    ?>
    Paginazione:

    Codice PHP:
    <?php

    if ($tot_pages != 1)
    {
    if(
    $current_page == 1)
    {
    $next_page = $current_page + 1;
    $successiva = "<a href=\"?page=$next_page\" title=\"Vai alla pagina successiva\">Pagina Successiva</a>";
    }
    else
    {
    if (
    $current_page == $tot_pages)
    {
    $previous_page = $current_page - 1;
    $precedente = "<a href=\"?page=$previous_page\" title=\"Vai alla pagina precedente\">Pagina Precedente</a>";
    }

    else
    {
    $previous = $current_page - 1;
    $precedente = "<a href=\"?page=$previous\" title=\"Vai alla pagina precedente\" class='paginazione'>Pagina Precedente </a>";
    $next_page = $current_page + 1;
    $successiva = "<a href=\"?page=$next_page\" title=\"Vai alla pagina successiva\" class='paginazione'> - Pagina Successiva</a>";
    }
    }
    }

    $paginazione = "$precedente$successiva";
    ?>

  2. #2
    L'avatar di Xsescott
    Xsescott non è connesso AlterGuru
    Data registrazione
    08-02-2004
    Messaggi
    1,413

    Predefinito

    In teoria basta che gli concateni tramite get la variabile cat

    page.php?page=x&cat=y

    e gliela fai stampare tipo:

    page.php?page=x&cat=$_GET['cat']

    ovviamente se non vuoi che compaia nel link la variabile quando la cat non è definita la fai comparire o meno tramite controllo condizionale (if,else)
    saluti
    "Quando il potere dell'amore supererà l'amore per il potere il mondo conoscerà la pace" Jimmy Hendrix


    [ Richiesta: http://www.unibologna.eu/ ] --> [Risposta: http://www.magazine.unibo.it/Magazin...al_Portale.htm Morale] -->[ http://www.anti-phishing.it/news/art...s.13062007.php ]
    consoliwebsite.altervista.org

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •