- Home
- Categorie
- Coding e Sistemistica
- Coding
- Problema Inserimento campi in database
-
Giusto..non ci avevo pensato....
Forse e meglio che uso la seconda soluzione..
Per quanto riguarda gli Update e possibile utilizzare un solo Update su piu' campi???
-
Si, basta separare con la virgola.
-
Per quanto riguarda il ocntrollo...
io do al campo"letto" il valore 1 ogni volta che un utente visita un altro utente...
ora come faccio per..
se io utente carlitos ho il valore 1 nel campo "letto" relativo all utente nicola fai update con i nuovi valori....
altrimenti inserisci...[php]
//verifico se esiste la variabile destinatario per il voto
if(isset($_GET['nickname']) OR $_GET['nickname'] != ""){
$destinatario=$_GET['nickname'];
}
$nickdichivisita=$_SESSION['nickname'];//seleziono i campi
$strsql="SELECT id,nickdichivisita1,nickvisitato1,letto,datadellavisita,oradellavisita,data3 FROM visiteutentiWHERE nickvisitato1='$destinatario'
";
$rs=@mysql_query("$strsql",$link) or die("Errore query database: " . mysql_error());
//faccio un ciclo while
while ($riga = mysql_fetch_array($rs)) {
$str_nickdichivisita = $riga['nickdichivisita1'];
$str_datadellavisita = $riga['datadellavisita'];
$str_oradellavisita = $riga['oradellavisita'];if($str_nickdichivisita
//qui nn ho capito come fare il ocntrollo..[/php]
-
Ho fatto cosi'...
[PHP]
//mi connetto al database
$link = mysql_connect("$db_host", "$db_database", "$db_username", "$db_password") or die("Errore connessione: ". mysql_error());
//seleziono il database
mysql_select_db('my_italiawebchat') or die("Errore apertura database: " . mysql_error());
//seleziono i campi da visualizzare per singolo utente
$strsql="SELECT id,nickdichivisita1,nickvisitato1,letto,datadellavisita,oradellavisita,data3 FROM visiteutentiWHERE nickvisitato1='$destinatario'
";
$rs=@mysql_query("$strsql",$link) or die("Errore query database: " . mysql_error());
//faccio un ciclo while
while ($riga = mysql_fetch_array($rs)) {
$str_nickdichivisita = $riga['nickdichivisita1'];
$str_datadellavisita = $riga['datadellavisita'];
$str_oradellavisita = $riga['oradellavisita'];
$haivisitato=$riga['letto'];}if($str_nickdichivisita =$haivisitato)
$queryaggiorna = mysql_query("UPDATE visiteutenti SET nickdichivisita1 = '$nickdichivisita' , nickvisitato1 = '$destinatario', letto = '1', datadellavisita = '$ultimavisita3'
, oradellavisita = '$ultimavisitaora3', data3 = NOW()
WHERE nickvisitato1='$destinatario'");
else{
$strsql="INSERT INTO visiteutenti (id,nickdichivisita1,nickvisitato1,letto,datadellavisita,oradellavisita,data3)VALUES ('','$nickdichivisita','$destinatario','1','$ultimavisita3','$ultimavisitaora3',NOW())";
mysql_query("$strsql",$link) or die("Errore query database: " . mysql_error());
}
[/PHP]
Funziona...ora devo dedicarmi alla parte della visualizzazione...
-
No..non funziona....:?
Succede che se per esempio...
io utente carlitos visito l utente nicola....va a sostituirmi nel campo "nickdichivisita" il nick presente con il mio..cioè carlitos..Faccio un esempio visivo di ciò che succede...nella tabella per esempio
ci sonoq uesti dati...id----- Nickdichivisita----- nickvisitato------ letto
5------ paolo--------------- nicola-----------1--se io ora utente carlitos visito nicola invece di crearmi una nuova riga succede che mi aggiorna la riga cosi'...
id-----Nickdichivisita-----nickvisitato-----letto
5 ----- carlitos------------ nicola -------- 1come si nota dal campo visitato sparisce il nick paolo e viene sostituito con il nick carlitos..:?
-
La query devi mettere anche che il where di chi è il visitatore, non esclusivamente del visitato.
-
il where relativo a chi visita deve metterlo in tutte le queri..?
-
Tutto questo:
[php]
$strsql="SELECT id,nickdichivisita1,nickvisitato1,letto,datadellavisita,oradellavisita,data3 FROM visiteutentiWHERE nickvisitato1='$destinatario'
";
$rs=@mysql_query("$strsql",$link) or die("Errore query database: " . mysql_error());
//faccio un ciclo while
while ($riga = mysql_fetch_array($rs)) {
$str_nickdichivisita = $riga['nickdichivisita1'];
$str_datadellavisita = $riga['datadellavisita'];
$str_oradellavisita = $riga['oradellavisita'];
$haivisitato=$riga['letto'];}if($str_nickdichivisita =$haivisitato)
[/php]Puoi farlo molto più semplicemente e risparmiando risorse cosi:
[php]
$strsql="SELECT id,nickdichivisita1,nickvisitato1,letto,datadellavisita,oradellavisita,data3 FROM visiteutentiWHERE nickvisitato1='$destinatario' AND nickdichivisita1 = '$mionick' LIMIT 1";
if(mysql_num_rows(mysql_query($strsql)) == 0)
{
// Insert
}
else
{
// Update
}
[/php]
-
Grazie mille....ora si che funziona alla grande..!!!!:D
Grazie..Grazie...Grazie..!!
-
Prego