select e convivenza con input
Ragazzi,
Ho bisogno del vostro aiuto. La questione è questa. Ho un campo chiamato "occupazione". Questo campo come ben sapete è variabile, nel senso che di occupazione o come meglio credete impiego (è la stessa cosa) c'è ne sono a bizzeffe. Allora chiedevo una solozione rapida veloce semplice e concisa (di cui una parto l'ho ma non capisco perchè non va). Il campo occupazione come sudetto, appartiene ad una tabella utenti, non vorrei fare una tabella a posta per solo occupazione. E vorrei fare in questo modo. Quando la select è vuota non deve essere visibile (al momento), ci deve essere solo un campo di tipo testo chiamato "Inserire nuova occupazione". Una volta che ho inserito la nuova occupazione (scusate se ripeto sempre lo stesso termine), questa viene inserita nel db e poi memorizzata nella select. Una volta che pallo accedere per completare il profilo, si ritroverà con la select e a fianco alla select sempre il campo di testo. in modo tale che se non c'è la sua occupoazione, la può scrivere nel campo di testo che poi verrà inserita nella lista. In modo tale che il prossimo caio può trovaregià nella lista, il suo impiego. Oppure magari aggiungerlo. Ecosì via. Ovviamente, c'è una particolarità. Se ad esempio pallino inserisce "impiegato" e poi tizio inserire nel campo testo impiegato, ci dovrebbe essere un messaggio di allerta che avvisa che quell'occupazione è presente nella lista. Mi potete dare una mano per favore ???? Posto il codice che ho, credo solo che bisogna modificarlo unb pochino. In un programma che precdentemente avevo fatto funziona a dovere, perchè ci sono più tabelle. ma in questo nuovo non riesco a farlo funzionare alla stessa maniera.
Questo l'originale
Codice PHP:
<?php
$q=mysql_query("SELECT descrizione FROM tblcomponenti ORDER BY descrizione");
$vuota=mysql_num_rows($q);
if($vuota > 0){//fa vedere la select solo se ci sono componenti e mostra solo il'input nuovocomponente, in pratica solo la prima volta
echo "Componente: <select name=\"componente\">";
echo "<option value=\"\">-seleziona-</option>";
while($riga=mysql_fetch_array($q)){
echo "<option value=\"".$riga['descrizione']."\">".$riga['descrizione']."</option>";
}//fine while
echo "</select>";
}//fine if vuota
?>
Nuovo componente da inserire: <input type='text' name='nuovocomponente' />
Questo modificato pe rl'altro programma che non va:
Codice PHP:
<?php
$q=mysql_query("SELECT occupazione FROM occupazione ORDER BY occupazione");
$vuota=mysql_num_rows($q);
if($vuota > 0){//fa vedere la select solo se ci sono componenti e mostra solo il'input nuovocomponente, in pratica solo la prima volta
echo "Occupazione: <select name=\"occupazione\">";
echo "<option value=\"\">-seleziona-</option>";
while($riga=mysql_fetch_array($q)){
echo "<option value=\"".$riga['occupazione']."\">".$riga['occupazione']."</option>";
}//fine while
echo "</select>";
}//fine if vuota
?>
Nuova occupazione da inserire: <input type='text' name='nuovaoccupazione' />
tenete presente che è solo in fase di aggiornamento profilo.
Questo è l'aggiornamentoprofilo:
Codice PHP:
<?php
session_start();
require_once("connetti.php");
echo '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">';
echo "<h1> Esecuzione in corso dell'aggiornameto profilo... </h1>";
$datadinascita = $anno . "-" . $mese . "-" . $giorno;
$citta = mysql_real_escape_string(strtolower(trim ($_POST['citta'])));
$provincia = mysql_real_escape_string(strtolower(trim ($_POST['provincia'])));
$anno_diploma = mysql_real_escape_string(strtolower(trim ($_POST['anno_diploma'])));
$occupazione = mysql_real_escape_string(strtolower(trim ($_POST['nuovaoccupazione']))); ////piccola aggiunta che ho fatto ma credo che non serva a granchè
$qry = "UPDATE utenti SET
datadinascita='$datadinascita',
citta='$citta',
provincia='$provincia',
anno_diploma='$anno_diploma',
occupazione='$occupazione',
occupazione='$nuovaoccupazione' //piccola aggiunta che ho fatto ma credo che non serva a granchè
WHERE id = '".$_SESSION['id']."'";
echo $qry;
if (mysql_query($qry)){
echo "... Aggiornamento effettuato correttamente....";
} else {
echo " Errore: Non è stato possibile effettuare l'aggiornamento richiesto";
}
?>
Difatti quando vado nella select c'è solo un'impiego e non mi aggiorna il profilo. Spero in voi. Grazie.