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

    [PHP] dalla select alla casella di testo

    Sempre io!

    Ho una tabella strutturata con 2 campi:
    IDCATEGORIA
    NOMECATEGORIA

    In una select visualizzo i nomi delle categorie.
    Ora cè un modo che tramite una submit mi visualizzi in una casella di testo l'IDCATEGORIA corrispondente? ...

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Basta che imposti le option mettendo come value l'id della categoria.
    echo "<option value=\"$id_categoria\">$nome_categoria</option>";

    Quando recuperi il valore ne fai ciò che vuoi, compreso visualizzarlo in un campo di testo.

    $id = $_POST['nome_select'];
    <input type="text" name="nome" value="<?php echo $id_categoria ?>">

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    192
    ...
    Dunque... fammi capire bene:
    nella select le option che io ho sono i nomi delle categorie:
    Codice PHP:
    echo "<form method='post' action=''>";
    echo 
    "<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=\"Visualizza\">";
    echo
    "</form>"
    Ora con il submit, in una casella di testo mi deve uscire l'IDCATEGORIA corrispondente!

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Codice PHP:
    <?php
    echo "<form method=\"post\" action=\"pagina.php\">"
    echo 
    "<select name=\"nomecategoria\">"
    $risultato mysql_query("SELECT idcategoria, nomecategoria FROM categorie ORDER BY idcategoria"); 
    while (
    $row mysql_fetch_assoc($risultato)) 

    $id $row['idcategoria'];
    $valore=$row["nomecategoria"];
    echo 
    "<option value=\"$id\">$valore</option>"

    echo
    "</select>"
    echo 
    "<input type=\"submit\" value=\"Visualizza\">"
    echo
    "</form>";
    ?>
    A questo punto nella pagina che riceve i dati, ad esempio pagina.php fai

    $id = $_POST['nomecategoria'];

    e recuperi l'id relativo alla categoria che hai scelto.
    Se poi questo id lo vuoi visualizzare dentro una casella di testo non devi far altro che "echarlo"

    <input type="text" name="idscelto" value="<?php echo $id ?>">
    Dovrebbe andare. Fammi sapere.

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    192
    EDIT:
    Funziona tutto!
    Grazie mille

  6. #6
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Meglio così.

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    192
    Non riesco a capire solo alcune cosette:
    Funziona tutto. Ma mi da alcune notice: al codice:
    Codice PHP:
    /*Select per visulazzire le categorie inserendo automaticamente nella casella di testo l'id della categoria*/
    echo "<form method='post' action=''>";
    echo 
    "<select name='nomecategoria'>";
    $risultato mysql_query ("SELECT idcategoria, nomecategoria FROM categorie ORDER BY idcategoria");
    while (
    $row mysql_fetch_array($risultato,MYSQL_ASSOC))
    {
    $id $row['idcategoria']; 
    $valore=$row["nomecategoria"];
    echo 
    "<option value='$id'>".$valore."</option>"
    }
    mysql_free_result($risultato);
    echo
    "</select>";
    echo 
    "<input type=\"submit\" value=\"Visualizza\">";
    echo
    "</form>";
    /* FINE*/ 
    Codice PHP:
    $id $_POST['nomecategoria']; /*QUI MI DA Notice: Undefined index: nomecategoria */
    echo"<form method='post' action='' >";
    echo
    "<table celpadding='0' celspacing='0' border='1' align='center'>";
      echo 
    "<TR><TD align='right'><label>Numero Categoria:</label></TD><TD> <input type='text' name='idcategoria' size='5' 
      value='
    $id'>
    </TD></TR>"
    ;
      echo 
    "<TR><TD align='right'><label>Marca:</label></TD><TD> <input type='text' name='marca' size='30'/>
    </TD></TR>"
    ;
      echo 
    "<TR><TD align='right'><label>Descrizione:</label></TD><TD> <input type='text' name='descrizione' size='30'/>
    </TD></TR>"
    ;
      echo 
    "<TR><TD align='right'><label>Prezzo:</label></TD><TD> <input type='text' name='prezzo' size='10'/>
    </TD></TR>"
    ;
      echo
    "<TR><TD align='center' colspan='2'><input type='submit' value='Inserisci' /></TD></TR>";
      echo 
    "</table>";
      echo
    "</form>";

    /*Inserimento nel database*/
    $numcat $_POST['idcategoria'];
    $marc $_POST['marca'];
    $descr $_POST['descrizione'];
    $prez $_POST['prezzo'];
    /*qui mi da:Notice: Undefined index: idcategoria 
    Notice: Undefined index: marca 
    Notice: Undefined index: descrizione 
    Notice: Undefined index: prezzo */
    if ((!$numcat) || (!$marc) || (!$descr) || (!$prez))
        echo 
    "Vuota! 
    "
    ;
        else{
            
    $cat "INSERT INTO merce VALUES ('', '$numcat' , '$marc' , '$descr' , '$prez')";
    echo 
    "
    "
    ;
    mysql_query ($cat)
    or die (
    "Non riesco"); 

    Qualcuno sa spiegarmi xche?

  8. #8
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Non ho capito cosa stai facendo. Sono due pagine separate? Se sì quella che tu hai iniziato con $id = $_POST['nomecategoria']; deve ricevere l'id dalla select della pagina precedente (almeno è ciò che avevi chiesto), dove io avevo aggiunto l'action al form e tu invece hai tolto.

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    192
    Non sono 2 pagine separate. E' tutto di seguito all'altro proprio come ho postato.
    Praticamente compare una select con tutti nomi delle categorie. Selezionata la categoria si aggiunge automaticamente in un campo testo (nome categorial'id della categoria (del menu a tendina). Poi gli altri campi di testo li aggiungo a mano e infine il tutto viene messo nella tabella merce.

  10. #10
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Allora due form nella stessa pagina non hanno senso (per giunta senza alcuna action e
    $id = $_POST['nomecategoria']; e normale che non ti restituisca niente visto che non hai inviato ancora nessun dato.

    Unisci la select con gli altri campi del form e una volta che li hai inviati ad un'altra pagina allora recuperi i rispettivi valori (cioè quelli qua sotto).

    $numcat = $_POST['idcategoria'];
    $marc = $_POST['marca'];
    $descr = $_POST['descrizione'];
    $prez = $_POST['prezzo'];

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.