ciao, sono il solito inesperto che cerca di migliorare il componente per joomla che ho completato solo grazie alla correzione nell'ultima discussione aperta ;P grazie ancora...
ora sono alle prese con la tebella user del mio componente (lo sto ampliando).
in tale tabella ovviamente non posso aggiungere una riga ogni volta che qualcuno modifica il codice... quindi volevo usare il comando "update" ma non l'ho mai usato
ora ho provato quanto segue:
Codice PHP:
function getScriviUser() {
//leggo i dati necessari
$id=$_POST['id'];
$userid=$uid;
$username=$_POST['username'];
$nazienda=$_POST['nazienda'];
$logo=$_POST['logo'];
$area=$_POST['area'];
$zona=$_POST['zona'];
$descrizione=$_POST['descrizione'];
$tel=$_POST['tel'];
$email=$_POST['email'];
//controllo se l'utente è già iscritto nella tabella
//identifico l'utente loggato
$userl = &JFactory::getUser();
$uid = (int)$userl->id;
//accedo al db
$db = &JFactory::getDBO();
$sql = "SELECT * FROM #__messy_user WHERE (userid = '".$uid."')";
$db->setQuery($sql);
$muser = $db->loadObjectList();
//controllo se scrivere o modificare
if (count($muser)){
//modifico
$db = &JFactory::getDBO();
$query="UPDATE #__messy_user SET username=".$username.", nazienda=".$nazienda.", logo=".$logo.", area=".$area.", zona=".$zona.", descrizione=".$descrizione.", tel=".$tel.", email=".$email." WHERE (id = ".$id.")";
$db->setQuery($query) ;
$db->query();
}else{
//scrivo
$db = &JFactory::getDBO();
$query="INSERT INTO #__messy_user (userid, username, nazienda, logo, area, zona, descrizione, tel, email) VALUES ('".$userid."', '".$username."', '".$nazienda."', '".$logo."', '".$area."', '".$zona."', '".$descrizione."', '".$tel."', '".$email."')";
$db->setQuery($query) ;
$db->query();
}
}
noterete che prima ho caricato tutti i dati dal form, poi molto macchinosamente ho eseguito un controllo per verificare se si tratta di una nuova iscrizione o di una modifica ad una già eseguita. dopodichè sono passato all'UPDATE o all'INSERT...
ora INSERT funziona, ma UPDATE no
sono sicuro che sia un'errore di sintassi come l'altra volta (un where senza h
) ma potrei aver sbagliato qualcos'altro
qualcuno di voi geni mi può aiutare???