• User Attivo

    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???


  • ModSenior

    Si, basta separare con la virgola.


  • User Attivo

    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 visiteutenti

    WHERE 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]


  • User Attivo

    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 visiteutenti

    WHERE 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...
    :smile5:


  • User Attivo

    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 -------- 1

    come si nota dal campo visitato sparisce il nick paolo e viene sostituito con il nick carlitos..:?


  • ModSenior

    La query devi mettere anche che il where di chi è il visitatore, non esclusivamente del visitato.


  • User Attivo

    il where relativo a chi visita deve metterlo in tutte le queri..?


  • ModSenior

    Tutto questo:
    [php]
    $strsql="SELECT id,nickdichivisita1,nickvisitato1,letto,datadellavisita,oradellavisita,data3 FROM visiteutenti

    WHERE 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 visiteutenti

    WHERE nickvisitato1='$destinatario' AND nickdichivisita1 = '$mionick' LIMIT 1";

    if(mysql_num_rows(mysql_query($strsql)) == 0)
    {
    // Insert
    }
    else
    {
    // Update
    }
    [/php]


  • User Attivo

    Grazie mille....ora si che funziona alla grande..!!!!:D
    Grazie..Grazie...Grazie..!!:wink3:


  • ModSenior

    Prego 😉