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

    [php] conservare valore di una variabile

    Ragazzi ho una domanda da porvi

    mettiamo che io passi il valore di una variabile dalla pagina 1.php alla pagina 2.php tramite il metodo _POST.
    fin qui nessun problema

    adesso vorrei che il valore di questa variabile venga mantenuto anche se viene fatto un refresh della pagina o meglio...

    nella mia pagina 2.php ho una paginazione

    cosa accade mi stampa i primi 5 recor da db come prestabilito dalla paginazione di stampare 5 record per pagina solo che giustamente quando con i bottoni della paginazione vado alla pagina seguente perdo il valore della mia variabile e quindi non mi stampa i record seguenti poichè questa mia variabile e nella condizione where della mia query.. quindi la prima volta il valore c'è ma quando cambio pagina il valore non c'è e la where non ha valore e non trova niente

    piccolo esempio

    pagina 1.php

    form con un bottone invia con _POST

    pagina 2.php
    recupero il valore scelta2
    Codice PHP:
    <?php 
    ob_start
    ();
    $scelta2 =  $_POST['cap'];
    ?>

    e poi ho la mia paginazione

    Codice PHP:
    <?php




    include("config.inc.php");

    // esecuzione prima query
    $count mysql_query("SELECT COUNT(id) FROM annunci WHERE indice= '$scelta2'");
    $res_count mysql_fetch_row($count);

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

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

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

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

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

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

    // esecuzione seconda query con LIMIT
    $query_limit mysql_query("SELECT id,img,annuncio,autore FROM annunci WHERE indice= '$scelta2' LIMIT $primo$per_page");

    while(
    $row mysql_fetch_array($query_limit)) {

    stampa record...
    }


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

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

    echo 
    " </tr>\n</table>\n</div>";

    mysql_close();
    ?>
    la prima volta stampa ma quando vado alla pagina 2 con la paginazione scelta2 credo perda il valore passato da 1.php

    come conservo il valore della variabile?

    ho sentito parlare delle sessioni ma non le ho mai usate?
    è la soluzione giusta al mio problema?

  2. #2
    Le sessioni possono essere una soluzione.
    Ma é più semplice passare il valore nell'url

    quindi tu avrai ...../pagina.php?valorePerlaPaginazione&valorechevuoifar epassare
    PHP LEARN - Guide, tutorial e articoli sempre aggiornati
    NUOVO: standardLib; il potente framework PHP é ora disponibile
    *******************************************
    Scarica oggi la tua copia di MtxEventManager

  3. #3
    Utente di HTML.it L'avatar di polinet
    Registrato dal
    Nov 2000
    Messaggi
    993
    Codice PHP:
    <?php
    session_start
    ();
    session_register('tua_variabile');
    ?>
    pienamente d'accordo con mtx_maurizio
    anche io le passo per url con la stessa paginazione che usi tu.
    ¿Hasta la pasta?

  4. #4
    non ho capito il valore dove lo devo passare nell'url in pagina 1.php o pagina 2.php dove c'è la paginazione

  5. #5
    Utente di HTML.it L'avatar di polinet
    Registrato dal
    Nov 2000
    Messaggi
    993
    nella tua paginazione dovresti avere questa riga:
    Codice PHP:
    $paginazione .= "<a href=\"?[COLOR=red]tuo_campo[/COLOR]=$[COLOR=red]tuo_campo[/COLOR]&page=$i\" title=\"Vai alla pagina $i\">-[b]$i[/b]</a> 
    facci sapere!
    ciao
    ¿Hasta la pasta?

  6. #6
    grazie ragazzi ho provato a passare tramite url la mia variabile $scelta2 e credo di esserci riuscito

    ecco come ho fatto come anche da voi suggerito

    Codice PHP:
    $paginazione .= "<a href=\"?$scelta2 =$scelta2 &page=$i\" title=\"Vai alla pagina $i\">$i</a> "
    e infatti il risultato quando cambio pagina è quello che volevo $scelta2 = Benebento
    codice:
    localhost/nuovo2/annuncisel.php?Benevento=Benevento&page=2
    però non mi stampa i record quando vado alla pagina 2 della paginazione ne sono 7 i primi 5 nella prima pagina li stampa nella 2 pagina esce 0 record trovati come mai ne dovrebbe stampare altri 2 perchè ci sono in db?
    forse ho sbagliato a passare?

  7. #7
    Utente di HTML.it L'avatar di polinet
    Registrato dal
    Nov 2000
    Messaggi
    993
    ti ho passato io l'errore, sorry, controlla quella riga e togli gli spazi.
    "%20"
    ¿Hasta la pasta?

  8. #8
    niente da fare
    ho tolto gli spazi
    Codice PHP:
    $paginazione .= "<a href=\"?$scelta2=$scelta2&page=$i\" title=\"Vai alla pagina $i\">$i</a> "
    le variabili le passa bene credo
    localhost/nuovo2/annuncisel.php?Benevento=Benevento&page=2

    solo che i primi 5 li stampa e gli altri 2 no perchè?

    ho scritto bene cosi se la variabile da passare è $scelta2

    Codice PHP:
    ?$scelta2=$scelta2 

  9. #9
    ecco quello che mi succede

  10. #10
    Utente di HTML.it L'avatar di polinet
    Registrato dal
    Nov 2000
    Messaggi
    993
    ?scelta2=$scelta2

    togli quel "$"
    ¿Hasta la pasta?

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.