Ciao dreadnaut,
In pratica dovrebbe essere così se non ho capito male:
Codice PHP:
$occupazione = mysql_real_escape_string(strtolower(trim ($_POST['occupazione'])));
$qry = "UPDATE utenti SET
datadinascita='$datadinascita',
citta='$citta',
provincia='$provincia',
anno_diploma='$anno_diploma',
occupazione='$occupazione'
WHERE id = '".$_SESSION['id']."'";
edit:
Allora io ho rifatto così, per favore correggetemi se sbaglio:
Questo è il file index, da cui parte l'aggiornamento profilo. Quindi:
index.php
Codice PHP:
//Occupazione
$q=mysql_query("SELECT occupazione FROM utenti WORDER 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' />
<center> <br><br>
<font face="Comic Sans MS">
<!--<input type="submit" value="Aggiorna Profilo" />-->
<input type="submit" name="aggiorna" value="Aggiorna Profilo" />
<input type="button" onClick="window.location.href='logout.php';" value="Logout" />
</center> </form>
E il risultato che mi da di errore tanto pe riniziare è il seguente:
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in /volume1/web/utenti/provaaggiornaprofilo/index.php on line 43 Nuova occupazione da inserire:
La riga 43 dovrebbe essere la seguente:
Codice PHP:
//Occupazione
$q=mysql_query("SELECT occupazione FROM utenti WORDER BY occupazione");
$vuota=mysql_num_rows($q);
if($vuota > 0){
//e aseguire il codice che ho postato sopra
Poi nell'aggiornaprofilo.php ho fatto in questo modo:
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['occupazione'])));
$qry = "UPDATE utenti SET
datadinascita='$datadinascita',
citta='$citta',
provincia='$provincia',
anno_diploma='$anno_diploma',
occupazione='$occupazione'
WHERE id = '".$_SESSION['id']."'";
echo $qry;
if (mysql_query($qry)){
echo "... Aggiornamento effettuato correttamente....";
} else {
echo " Errore: Non è stato possibile effettuare l'aggiornamento richiesto";
}
?>
E il risultato finale è il seguente:
UPDATE utenti SET datadinascita='--', citta='', provincia='', anno_diploma='', occupazione='' WHERE id = '2'... Aggiornamento effettuato correttamente....
Ovviamente vado a conmtrollare su phpmyadmin. e non risulta alcun aggiornamento. Dove sbaglio stavolta ??? Cos'è che non richiamo ???