Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Difficile notifica email utente da tabella MySQL

    Ciao a tutti sono Simona, nuova iscritta.

    Desidero sottoporvi una situazione ingarbugliata...almeno per me

    Ho una tabella MySQL in cui esistono questi campi

    URL_ID - ACQUIRENTE - OFFERTA - EMAIL

    Man mano che gli utenti offrono X per lo stesso oggetto codificato sotto la voce URL_ID, si presenta questa situazione

    Url_ID 1 -> ACQUIRENTE_1 -> OFFERTA_10
    Url_ID 1 -> ACQUIRENTE_2 -> OFFERTA_8
    Url_ID 1 -> ACQUIRENTE_3 -> OFFERTA_100
    Url_ID 1 -> ACQUIRENTE_4 -> OFFERTA_35

    Il miglior offerente è ACQUIRENTE_3 con 100.

    Ad un certo punto può accadere che arriva un nuovo ACQUIRENTE_5 che
    offre 200. Se accade ciò, lo script PHP che che ho preparato a quel punto dovrebbe inviare un'e-mail di notifica ad ACQUIRENTE_3 che qualcuno ha offerto di più.

    Il problema sta nel fatto che NON viene avvisato il miglior offerente fino a quel momento (ACQUIRENTE_3) ma sempre il primo della lista cioè ACQUIRENTE_1.

    Ecco sotto la parte significativa del listato:
    ----------------------------------------------------------
    <?php

    $oggetto=$_POST["oggetto"];
    $url_id=$_POST["url_id"];
    $offer=$_POST["offerta"];
    $e_mail=$_POST["e_mail"];
    $name=$_POST["name"];
    $ip_adress=$_SERVER['REMOTE_ADDR'];

    $query = "INSERT INTO tblBuyerOffer Set
    url_id='$url_id',acquirente='$name',offerta='$offe r',email='$e_mail',IP_adress='$ip_adress'";
    $result=mysql_query($query);

    ------------------------------------------------------------------------
    // notification to other buyer if someone offer more money
    $query="Select * from tblBuyerOffer Where url_id='$url_id'
    and offerta < '$offer'";
    $result=mysql_query($query);

    if ($row=mysql_fetch_array($result)){
    $buyer_name=$row['acquirente'];
    $buyer_email=$row['email'];

    $mail_message=$email_header."\r\n--------------\r\n"."Qualcuno ha fatto offerta migliore\n\r\r";
    $message_header="From: ".$title."<".$admin_email.">\r\n";
    // echo $email." ".$mail_message;
    mail($buyer_email,"Offerta superata!!",$mail_message,$message_header);

    }
    ......
    -------------------------------------------------------------------------

    Qualcuno saprebbe gentilmente dirmi dove sbaglio? Attendo vostra illuminante risposta per correggere il mio script.

    Un bacio,

    Simona

  2. #2
    Utente di HTML.it L'avatar di garlick
    Registrato dal
    Dec 2001
    Messaggi
    385
    Codice PHP:

    $query
    ="Select * from tblBuyerOffer Where url_id='$url_id' and offerta = (Select MAX(offerta) from tblBuyerOffer where url_id='$url_id')";
    $result=mysql_query($query); 
    Con questa query selezioni l'utente che ha effettuato l'offerta massima per quell'url_id. A questo punto puoi effettuare le verifiche del caso e successivamente inserire la nuova offerta.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.