一个php+mysql问题

苦逼热狗

路边通讯社社长
VIP
注册
2002-10-12
消息
47,114
荣誉分数
2,376
声望点数
393
最近在搞一个IPB的HACK
http://torune.hundun.org/bbs/index.php?showtopic=321&st=0

界面copy msn的[版权问题以后再说:D]

现在就是关于instant messenger的问题了
我想给他添加一个聊天纪录的功能
例如保存15个聊天纪录
但是我只想用一个table

代码:
MySQL:
	CREATE TABLE ibf_history (
	id varchar(10) NOT NULL default '',
	history text NOT NULL default ''
	)

PHP:
    	$DB->query("SELECT * FROM ibf_history WHERE id='".$this->member['id']."'");
    			   
    	$this->member = $DB->fetch_row();

	$this->data = explode("|!:!|",$this->member['history']);
	$info['COUNT'] = count($this->data);
	for ($i=0;$i<=$info['COUNT']-1;$i++)
	{
		$info['LIST'] .= $this->data[$i]."\r\n
";
	}
	print $info;

这样写效率高吗?
 
我来抛转引玉

程序效率没问题,但库表扩展性较差,程序不好写
我想把message一条条分开会好些

CREATE TABLE ibf_history (
message_id varchar(10) NOT NULL,
user_id varchar(10) NOT NULL default '',
contact_id varchar(10) NOT NULL default '',
snd_rcv_flag char(1) NOT NULL,
time date,
...
...
...
message text NOT NULL default ''
)

如果PHP和mysql支持cursor,用cursor可以选出最新的15条
 
nice nice
今晚去试试
一次select出来就得到所有要的东西了
thx a lot

我虽然也想到这个了,不过没这么全面:thanks:
 
后退
顶部