建一个内存表最好,速度快,
id ,sender,reciver,if_look
差不多了吧,

解决方案 »

  1.   

    这种表比较简单,几个字段就可以搞掂了,最好建个预发表,信息记录表;预发表:id,obj_mobile(手机号),send_time,context(发送内容);
    记录表:id,obj_mobile,send_time,context,send_num(发送次数);
    以下是手机短信实现的其中一个页面,其中包含了一些表的字段,发出来,供你参考:<?
    include("./define.php");
    session_save_path("./sessions");
    session_start();
    if(!isset($MOBILE))
    {
    header("location:../els-pop/nozhuce01.htm");
    exit();
    }
    //-----------------------------------------------------------------------
    if(isset($send_3))
    {
    if(empty($send_y) or empty($send_d) or empty($send_m) or empty($send_h) or empty($send_i))
    {
    header("location:../els-pop/riqi-youwu01.htm");
    exit;
    }
    $send_time=date("Y-m-d H:i:s",mktime($send_h,$send_i,0,$send_m,$send_d,$send_y));
    }
    //----------------------------------------------------------------------
    $connect=odbc_connect($db_dsn,$db_login_name,$db_login_pw,SQL_CUR_USE_ODBC);if(empty($send_content))
    header("location:error_send.php");
    if(isset($save_msg))
    {
    $cur_time=date("Y-m-d H:i:s");
    $querystr="insert into user_create_msg (id,msg_value,create_time,accept) values($USERID,'$send_content','$cur_time',0)";
    @odbc_do($connect,$querystr);
    header("location:../els-pop/save_ok.htm");
    exit;
    }
    if(empty($send_mobile))
    header("location:error_send.php");
    if($send_disp==1)
    $send_content=$send_content." 来自:".$MOBILE;
    //$send_content=$send_content." www.elucksohn.com";//------------------------立即发送或保存到预发表、信息发送记录表-----------------------
    $arr_mobile=split(",",$send_mobile);
    $count=count($arr_mobile);
    if(isset($send_1)) $count=1;
    for($i=0;$i<$count;$i++)
    {
    if(!eregi("^13[056789]{1}[1234567890]{8}$",$arr_mobile[$i]))
    {
    echo "发送到:$arr_mobile[$i] <font color=#FF0000>手机号错误!</font><br>";
    continue;
    }
    $j=0;
    while($temp_content=substr($send_content,$j,136))
    {
    $j+=136;
    if(isset($send_time))
    $insert_time=$send_time;
    else
    $insert_time=date("Y-m-d H:i:s");
    if($send_save=="personar_work")
    {
    $querystr="insert into personar_work(id,obj_mobile,send_time,context) values ($USERID,'$arr_mobile[$i]','$insert_time','$temp_content')";
    odbc_do($connect,$querystr);
    }
    if($send_save=="company_work")
    {
    $querystr="insert into company_work(id,obj_mobile,send_time,context) values ($USERID,'$arr_mobile[$i]','$insert_time','$temp_content')";
    odbc_do($connect,$querystr);
    } if(isset($send_time))
    {
    $querystr="insert into pre_send (id,obj_mobile,send_time,send_context,send_num) values ($USERID,'$arr_mobile[$i]','$send_time','$temp_content',1)";
    odbc_do($connect,$querystr);
    echo "预发到$arr_mobile[$i]<font color=#6600FF> 已提交!</font><br>";
    continue;
    }
    $UDP_value="4000".chr(31).chr(23).chr(31)."1000".chr(31).$USERID.chr(31)."0".chr(31)."81".chr(31).$arr_mobile[$i].chr(31)."0731".chr(31).$temp_content.chr(31)."中文".chr(31);
    $SendUDP=new com("ZTao.TSendUDP");
    $SendUDP->LocalPort=4000;
    $SendUDP->RemoteHost="bytestream";
    $SendUDP->RemotePort=8004;
    $leng=strlen($UDP_value);  //计算msg的长度,在asp中可以使用chr(31)得到"\x1f",chr(23)得到"\x17"
    $SendUDP->SendBuffer($UDP_value,$leng);
    $querystr="update user_counts set msg_count=msg_count +1,msg_month=msg_month+1 where id=$USERID";
    @odbc_do($connect,$querystr);
    echo "发送到:$arr_mobile[$i] <font color=#6600FF>已完成!</font><br>";
    //echo $UDP_value."<br>";
    }
    }
    ?>