Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 26
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    192

    Problema di passaggio valori

    Tramite una select, devo visualizzare in un campo di testo il valore selezionato, modificarlo nel campo di testo e rispedirlo (modificato) nel database.
    Ho seguito una guida e un post spulciando su questo forum, ma non mi funziona!
    Chiedo venia per la niubbaggine ma non ci riesco proprio!
    Questo è tutto il codice:

    Codice PHP:
    echo"<form method='post' action='' class='form'>";

    echo
    "<table align='center' class='table'>";
    echo 
    "<TR><TD colspan='2' height='30'></TD></TR>";
    /*Select per visulazzire le categorie inserendo automaticamente nella casella di testo il nome della categoria*/
    echo "<TR><TD class='td' colspan='2' align='center'><select name='nomecategoria'>";
    $risultato mysql_query ("SELECT nomecategoria FROM categorie ORDER BY idcategoria");
    while (
    $row mysql_fetch_array($risultato,MYSQL_ASSOC))
    {
    $valore=$row["nomecategoria"];
    echo 
    "<option value='$valore'>".$valore."</option>"
    }
    mysql_free_result($risultato);
    echo
    "</select>";
    echo 
    "<input type='submit' value='Copia'></TD></TR>";

    $val $_POST['nomecategoria'];
    echo 
    "<TR><TD align='right'><label>[b]Nome Categoria:</label></TD><TD> <input type='text' name='nomecat' size='30' 
      value='
    $val'>
    </TD></TR>"
    ;
    echo 
    "<TR><TD colspan='2' height='10'></TD></TR>";
      echo
    "<TR><TD align='center' colspan='2'><input type='submit' value='Modifica'></TD></TR>";
        echo 
    "<TR><TD colspan='2' height='20'></TD></TR>";
    echo 
    "</table>";

    /*Modifica nel database della categoria selezionata*/
    if ($val=='')
        echo 
    "vuoto!
    "
    ;
        else{
            
    $modifica "UPDATE categorie SET nomecategoria='$val' WHERE nomecategoria='".$_POST['nomecategoria']."'";
    echo 
    "
    "
    ;
    mysql_query ($modifica)
    or die (
    "Error"); 
    }
    /*Fine modifica*/
    echo"</form>";
    };
    ?> 
    Sapete dirmi dove sbaglio!?

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    192
    up :master:

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074
    qui, direi...
    Invece di:
    Codice PHP:
    echo "<option value='$valore'>".$valore."</option>"
    Prova con:
    Codice PHP:
    echo "<option value=\"" $valore "\">".$valore."</option>"
    metatad
    graphic & web design

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    192
    Piu che nella select, che sembra funzionare (nel menu a tendina compaiono i nomi delle categorie) il problema sta tra la textarea che deve prendere il valore della select e l'update al database!
    Cioè nella select visualizzo le categorie, con il bottone
    Codice PHP:
    echo "<input type='submit' value='Copia'></TD></TR>"
    riesco ad inserire nel campo testo lo stesso valore preso dalla select. Il resto non funge!

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074
    che nella select appaiano le categorie, è ovvio perchè l'inserimento è fatto correttamente; ma, secondo me, non ti trasmette alcun valore, perchè è lì che il codice non va...
    comunque, fai una prova:
    nella pagina di destinazione metti
    Codice PHP:
    $valore $_POST["nomecategoria"];
    echo 
    $valore
    e vedi un pò cosa ti da...
    metatad
    graphic & web design

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    192
    nell' echo $val mi stampa proprio il nome delle categorie selezionate tramite la select e che io vado a inserire nell'area di testo cosi:
    Codice PHP:
    echo "<label>[b]Nome Categoria:</label></TD><TD> <input type='text' name='nomecat' size='30' value='$val'>
    "

    Una volta fatto questo, devo modificare l'area di testo e il suo valore metterlo nel DB al posto della stringa di prima... (una modifica della categoria...)
    Non so se mi sono spiegato

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074
    ok, ho dato un'occhiata + approfondita...
    ci sono due errori: uno veniale, laddove nella riga
    Codice PHP:
    echo "<TR><TD align='right'><label>[b]Nome Categoria:</label></TD><TD> <input type='text' name='nomecat' size='30' value='$val'>
    </TD></TR>"

    non chiudi il tag [b]
    e quello sostanziale, nel codice PHP vero e proprio.
    Nella stessa riga di prima, tu definisci un campo di testo con:
    nome = nomecat e
    value = $val
    ma poi quando fai l'update, scrivi:
    Codice PHP:
    SET nomecategoria='$val' 
    ovvero la variabile definita prima della modifica!
    Invece, devi recuperare il valore trasmesso da nomecat, quindi dopo la modifica, ed utilizzare quello per l'update.
    metatad
    graphic & web design

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    192
    Ok... credo di aver capito:
    (a parte lo strong )
    Ho fatto cosi ora:
    Codice PHP:
    $val $_POST['nomecategoria'];
    echo 
    "<TR><TD align='right'><label>[b]Nome Categoria:[/b]</label></TD><TD> <input type='text' name='nomecat' size='30' 
      value='
    $val'></TD></TR>";
    echo 
    "<TR><TD colspan='2' height='10'></TD></TR>";
      echo
    "<TR><TD align='center' colspan='2'><input type='submit' value='Modifica'></TD></TR>";
        echo 
    "<TR><TD colspan='2' height='20'></TD></TR>";
    echo 
    "</table>";

    /*Modifica nel database della categoria selezionata*/
    $dato $_POST['nomecat']; /*ho messo qui il dato del campo di testo*/
    if ($dato=='')
        echo 
    "vuoto!
    "
    ;
        else{
            
    $modifica "UPDATE categorie SET nomecategoria='$dato' WHERE nomecategoria='$val'";
    echo 
    "
    "
    ;
    mysql_query ($modifica)
    or die (
    "Error"); 
    }
    /*Fine modifica*/
    echo"</form>";
    }; 
    Ma non funge lo stesso...

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074
    scusa, ma l'azione del form, qual'è? voglio dire, rimanda alla stessa pagina? come la determini (visto che nel codice che hai postato, l'action del form è vuota)?
    cosa succede esattamente, quando fai submit?...
    hai provato a fare un echo della variabile $dato?
    Magari, se posti tutto il codice, si riesce a capire meglio...
    Almeno per me, non è chiarissimo il tuo modo di scrivere il codice...
    metatad
    graphic & web design

  10. #10
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    192
    Neanche per me è chiaro il mio stesso codice...
    Codice PHP:
    include 'db.php'

    echo
    "<form method='post' action='' class='form'>";

    echo
    "<table align='center' class='table'>";
    echo 
    "<TR><TD colspan='2' height='30'></TD></TR>";
    /*Select per visulazzire le categorie inserendo automaticamente nella casella di testo il nome della categoria*/
    echo "<TR><TD class='td' colspan='2' align='center'><select name='nomecategoria'>";
    $risultato mysql_query ("SELECT nomecategoria FROM categorie ORDER BY idcategoria");
    while (
    $row mysql_fetch_array($risultato,MYSQL_ASSOC))
    {
    $valore=$row["nomecategoria"];
    echo 
    "<option value=\"" $valore "\">".$valore."</option>"
    }
    mysql_free_result($risultato);
    echo
    "</select>";
    echo 
    "<input type='submit' value='Copia'></TD></TR>";

    $val $_POST['nomecategoria'];
    echo 
    "<TR><TD align='right'><label>[b]Nome Categoria:[/b]</label></TD><TD> <input type='text' name='nomecat' size='30' 
      value='
    $val'></TD></TR>";
    echo 
    "<TR><TD colspan='2' height='10'></TD></TR>";
      echo
    "<TR><TD align='center' colspan='2'><input type='submit' value='Modifica'></TD></TR>";
        echo 
    "<TR><TD colspan='2' height='20'></TD></TR>";
    echo 
    "</table>";

    /*Modifica nel database della categoria selezionata*/
    $dato $_POST['nomecat'];
    if (
    $dato=='')
        echo 
    "vuoto!
    "
    ;
        else{
    $modifica "UPDATE categorie SET nomecategoria='$dato' WHERE nomecategoria='$val'";
    echo 
    "
    "
    ;
    mysql_query ($modifica)
    or die (
    "Error"); 
    }
    /*Fine modifica*/
    echo"</form>"
    E' tutto in una pagina! Cosi modifica qualcosa, ma è errato perchè quando clicchi sul tasto modifica si refresha la select e (OVVIAMENTE la WHERE nomecategoria='$val'") torna alla prima categoria modificandola con cio che scrivo nell'area text..

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.