急!!有一连串的问题带你解决!在线等! 本帖最后由 miehunyou 于 2011-05-27 09:29:41 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 if(empty($Date)){ $sql="insert..........";}else{ $sql="update...........";} 你這不都已經寫好了嗎?你想問什麼?順便說一下,想提升自己的水平,或將來容易維護,所以最好是用class來寫php即,面向對象編程 不用select吗?从table拿出来的耶... 我遇到Duplicate entry '2011-05-27' for key 'PRIMARY'的问题。class的事情先过了这关之后才有机会去想。 你第一行不是有了mysql_query,所以第二行的mysql_query去掉。改为if(!$result){} 还是一样。Error: Duplicate entry '2011-05-27' for key 'PRIMARY'我不是有写如果有了就update吗?怎么走不了? 难道我想要‘如果这个主键有了就update’是不行的吗?$result = mysql_query("SELECT rpt_date FROM RptGuestDaily"); //检查是否有这个rpt_date if(!$result){//没有的话就insert $sql="INSERT INTO RptGuestDaily (rpt_date,post_cnt,view_cnt) VALUES ('$Date','$post','$view')"; if (!mysql_query($sql,$con)){ die('Error: ' . mysql_error()."<br>"); }else{echo "Data insert complete.";}}else{//有的话就update $post++; $sql="UPDATE RptGuestDaily SET post_cnt='$post' WHERE rpt_date='$Date'"; if (!mysql_query($sql,$con)){ die('Error: ' . mysql_error()."<br>"); }else{echo "Data insert complete.";}}难道这样不对吗? 本帖最后由 xuzuning 于 2011-05-27 10:23:50 编辑 如果不需要保留原有信息的话,12楼得方法可行。否则还是先查找一下指定的rpt_date,然后再update吧$result = mysql_query("SELECT rpt_date FROM RptGuestDaily"); //检查是否有这个rpt_date你并没有指定待匹配的 rpt_date 的值,即缺少where 查询条件 我的是有人post新帖,$post就加1。replace用不了了吧?更搞笑的是Error: Unknown column 'rpt_date' in 'where clause'名字是copy paste出来的会是unknow...还是另有意思... 别管14楼的。我的$post加不到。我不懂要写在那里让它已有人post的时候它就++。我好想写到它一直是0。所以我每次++他都一直是1。要怎么办 你把$post++去掉,$sql="UPDATE RptGuestDaily SET post_cnt=post_cnt+1 WHERE rpt_date='$Date'";这样,程序每执行一次。指定时间的post_cnt就加1 。 那么insert的$post也要去掉吗?还有最上面的,也就是作出$post的也要去掉?也就是说全部$post都去掉吗?那么怎么显示? 好了行了!现在是view.怎么才算是被view过?这面出现就$result = mysql_query("SELECT rpt_date FROM RptGuestDaily WHERE rpt_date='$Date'");if($result){ $sql="UPDATE RptGuestDaily SET view_cnt=view_cnt+1 WHERE rpt_date='$Date'"; if (!mysql_query($sql,$con)){ die('Error: ' . mysql_error()."<br>"); }else{echo "Data insert complete.";}}这样吗?好像有点不对... view也好了!!另一个问题!在table我要怎么插入‘小时’。比如说11点内有XX人post过,有OO人view过。12点内有.....之类的。insert的时候$sql="INSERT INTO RptGuestHourly (rpt_date,rpt_time,post_cnt,view_cnt) VALUES ('$Date','$Time','$post','$view')";insert $Time只是我的猜测。这样对吗?取得时间在$Date=date('Y-m-d H:i:s');要如何拿hour出来?我直接print_r($Date);是出来全部。我想要拿小时的呢?只是拿小时. 获取当时post的小时呢?print_r(date("H",$Date));我这样拿到的却是08,现在明明是11= = 是啊,别说时间了...date("Y/m/d", $row['CreateDate'])我这样得到的是1970/01/01 行了!!做到了!!是之前唠叨兄说过的tab上面的`。$Date=date('Y-m-d');print_r(date("D,M d,Y H:i:s".`$Date`));就做到了!! xdebug在eclipse突然不能使用,百分求解 PHP4处理EXCEL方法。带多个SHEET(请注意是PHP4哦)谢谢先 如何只知道虚拟主机支不支持PDO库。在线等待 来个正则表达式 有没高手在啊,急死了 页面中一个功能执行一个js后 如何不影响原来其他的js 小弟在此收益非浅,,,今又有一问题,,,望大家帮助! 我的汉字显示乱码, php+sql 数据库我进行关闭出错$rsArr4->close(); 请高手指路 弹出窗口的关闭一天的限制如何做阿?
{
$sql="insert..........";
}
else
{
$sql="update...........";
}
順便說一下,想提升自己的水平,或將來容易維護,所以最好是用class來寫php
即,面向對象編程
我不是有写如果有了就update吗?怎么走不了?
$result = mysql_query("SELECT rpt_date FROM RptGuestDaily"); //检查是否有这个rpt_date
if(!$result){//没有的话就insert
$sql="INSERT INTO RptGuestDaily (rpt_date,post_cnt,view_cnt)
VALUES ('$Date','$post','$view')";
if (!mysql_query($sql,$con)){
die('Error: ' . mysql_error()."<br>");
}else{echo "Data insert complete.";}
}else{//有的话就update
$post++;
$sql="UPDATE RptGuestDaily SET post_cnt='$post'
WHERE rpt_date='$Date'";
if (!mysql_query($sql,$con)){
die('Error: ' . mysql_error()."<br>");
}else{echo "Data insert complete.";}
}难道这样不对吗?
否则还是先查找一下指定的rpt_date,然后再update吧
$result = mysql_query("SELECT rpt_date FROM RptGuestDaily"); //检查是否有这个rpt_date
你并没有指定待匹配的 rpt_date 的值,即缺少where 查询条件
更搞笑的是Error: Unknown column 'rpt_date' in 'where clause'名字是copy paste出来的会是unknow...还是另有意思...
我好想写到它一直是0。所以我每次++他都一直是1。要怎么办
这样,程序每执行一次。指定时间的post_cnt就加1 。
还有最上面的,也就是作出$post的也要去掉?
也就是说全部$post都去掉吗?那么怎么显示?
现在是view.
怎么才算是被view过?这面出现就
$result = mysql_query("SELECT rpt_date FROM RptGuestDaily WHERE rpt_date='$Date'");
if($result){
$sql="UPDATE RptGuestDaily SET view_cnt=view_cnt+1
WHERE rpt_date='$Date'";
if (!mysql_query($sql,$con)){
die('Error: ' . mysql_error()."<br>");
}else{echo "Data insert complete.";}
}
这样吗?好像有点不对...
在table我要怎么插入‘小时’。
比如说11点内有XX人post过,有OO人view过。
12点内有.....
之类的。
insert的时候
$sql="INSERT INTO RptGuestHourly (rpt_date,rpt_time,post_cnt,view_cnt) VALUES ('$Date','$Time','$post','$view')";insert $Time只是我的猜测。这样对吗?取得时间在$Date=date('Y-m-d H:i:s');要如何拿hour出来?
我直接print_r($Date);是出来全部。我想要拿小时的呢?只是拿小时.
print_r(date("H",$Date));我这样拿到的却是08,现在明明是11= =
$Date=date('Y-m-d');
print_r(date("D,M d,Y H:i:s".`$Date`));就做到了!!