如何使用php更新MySQL中的行?

时间:2014-03-20 09:24:24

标签: php mysql

每当有人访问我的网页时,如何将行$ pageviews更新为+1。表名是新闻,要更新的行是$ pageviews,其默认值为+1。我应该使用更新功能吗?我该如何实现它?以下是我的代码。你能用这些数据展示演示吗?

$data = mysql_query("SELECT * FROM news") or die(mysql_error()); 
while($info = mysql_fetch_array( $data )) 
{  
    $id = $info['id'];
    $pageviews = $info['pageviews'];
}

2 个答案:

答案 0 :(得分:1)

您要做的就是每次页面呈现时增加pageviews值。所有你需要的:

1)获取当前值

2)运行UPDATE查询更新当前值+ 1

为此,您可以编写一个看起来像

的函数
function inc_page_views($id) {

  $res = mysql_query(sprintf("SELECT * FROM `news` WHERE `id` ='%s'", mysql_real_escape_string($id))); 

  $data = mysql_fetch_array($res);

  // Target view count
  $target = $data['pageviews'];

  $query = sprintf("UPDATE `news` SET `pageviews` = '%s' WHERE `id` ='%s'", $target + 1, $id);

  return mysql_unbuffered_query($query);
}

然后,在渲染页面时,您只需拨打inc_page_views(..here page id..)即可完成剩下的工作

答案 1 :(得分:0)

使用此查询

mysql_query("Update news SET pageviews = pageviews + 1 ");

将当前页面ID存储在$ current_page_id中。

 mysql_query("Update news SET pageviews = pageviews + 1  where id = '$current_page_id' ");