Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    form con ultimo valore inserito

    Ciao a tutti, avrei bisogno gentilmente di qualche dritta....
    ho una pagina PHP che contiene un form, all'interno di esso alcuni valori sono recuperati da un DB e presentati in un menu a tendina, ecco il codice:
    Codice PHP:
    <tr>
    <td>BIBLIOTECA</td>
    <td>
    <?php
    $query
    ="SELECT * FROM biblioteche ORDER BY nomebiblio";
    $result mysql_query ($query);
    echo 
    "<select name=nomebiblio value=''>nomebiblio</option>";
    while(
    $nt=mysql_fetch_array($result)){
    echo 
    "<option value=$nt[nomebiblio]>$nt[nomebiblio]</option>";
    }
    echo 
    "</select>";
    ?>
    </td></tr>
    una volta compilato il form, quando l'utente clicca su 'invio' la pagina chiama una seconda pagina
    codice:
            <form method="post" action="Recordinsert.php">
    che registra i dati nel DB, da questa seconda pagina l'utente viene automaticamente reindirizzato alla pagina iniziale (quella del form) con un piccolo codice Javascript
    Codice PHP:
    echo "<HTML><HEAD><SCRIPT TYPE='TEXT/JAVASCRIPT'>location.href='Recordinsertform.php';</SCRIPT></HEAD><BODY></BODY></HTML>"
    avrei bisogno di fare in modo che per ogni volta che l'utente torna nella pagina 'Recordinsertform.php' il valore di default della SELECT fosse quello che ha inserito l'ultima volta e non così come è ora che il menu a tendina presenta la sua bella lista ordinata in base alla query che fa sul DB.
    l'utente deve comunque poter scegliere eventuali altre biblioteche (nel caso volesse inserire un valore attuale diverso da quello precedente) quindi il menu a tendina non deve scomparire.
    spero che si capisca il problema...
    grazie in anticipo per l'aituo

  2. #2
    Una soluzione potrebbe essere questa. Nella pagina "Recordinsert.php" inserisci in sessione il valore $_POST['nomebiblio'] (cioè il valore selezionato nella pagina precedente).

    Codice PHP:
    ...
    $_SESSION['nomebiblio'] = $_POST['nomebiblio'];
    ... 
    Nella pagina contenente il form fai una roba del genere:

    Codice PHP:
    ...
    $nomebiblio "";
    $selected "";
    if (isset(
    $_SESSION['nomebiblio'])) {
        
    $nomebiblio $_SESSION['nomebiblio'];
    }
    while (
    $nt mysql_fetch_array($result)) {
        if (
    $nt['nomebiblio'] == $nomebiblio) {
            
    $selected "selected";
        } else {
            
    $selected "";
        }
        echo 
    "<option value=$nt[nomebiblio] $selected>$nt[nomebiblio]</option>"

    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    grandissimo satifal, grazie 1000 funziona alla grande
    non ho potuto fare la prova ieri...
    trascrivo la porzione di codice completo della pagina 'Recordinsertform.php' nel caso servisse a qualcuno che legge, con tutta la select
    Codice PHP:
    $query="SELECT * FROM biblioteche ORDER BY nomebiblio";
    $result mysql_query ($query);    
    $nomebiblio ""
    $selected ""
    if (isset(
    $_SESSION['nomebiblio'])) { 
        
    $nomebiblio $_SESSION['nomebiblio']; 

    echo 
    "<select name=nomebiblio value=''>nomebiblio</option>";

    while (
    $nt mysql_fetch_array($result)) { 
        if (
    $nt['nomebiblio'] == $nomebiblio) { 
            
    $selected "selected"
        } else { 
            
    $selected ""
        } 
        echo 
    "<option value=$nt[nomebiblio] $selected>$nt[nomebiblio]</option>";  
    }
    echo 
    "</select>"
    ovviamente nell'altra pagina la 'Recordinsert.php' va inserita la variabile di sessione come hai indicato tu.
    Codice PHP:
    $_SESSION['nomebiblio'] = $_POST['nomebiblio']; 
    grazie ancora

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.