我正在尝试在我的产品页面上实现Facebook的OpenGRaph协议.
在每个页面上,我在头部上方有这个:
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://ogp.me/ns#" xmlns:fb="http://www.facebook.com/2008/fbml">
Run Code Online (Sandbox Code Playgroud)
然后在头部区域我有:
<meta property="og:title" content="This Page Title"/>
<meta property="og:type" content="product"/>
<meta property="og:url" content="http://www.mywebaddress.com"/>
<meta property="og:image" content="http://www.myimage.jpg"/>
<meta property="og:site_name" content="My Site Name"/>
<meta property="fb:admins" content="10101010101"/>
<meta property="og:email" content="hello@mywebaddress.com"/>
<meta property="og:description" content="Description of my product."/>
Run Code Online (Sandbox Code Playgroud)
然后,我有一个带有此代码的"喜欢"按钮:
<script>(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
<div class="fb-like" data-href="http://thispagesurl" data-send="true" data-width="350" data-show-faces="false"></div>
Run Code Online (Sandbox Code Playgroud)
在我看来,一切似乎都复制了可以在Facebook开发者页面上找到的东西,但是当我喜欢'时,Facebook似乎只是在页面标题和一般信息上.
我试图使用他们的对象调试器"调试"页面,我得到这些警告:
Inferred Property The og:url property …Run Code Online (Sandbox Code Playgroud) 我的数据库中的每个用户的纬度和经度都存储在两个字段中(lat,lon)
每个字段的格式为:
lon | -1.403976
lat | 53.428691
Run Code Online (Sandbox Code Playgroud)
如果用户搜索其他用户,例如100英里,我执行以下操作以计算适当的纬度/经度范围($ lat和$ lon是当前用户值)
$R = 3960; // earth's mean radius
$rad = '100';
// first-cut bounding box (in degrees)
$maxLat = $lat + rad2deg($rad/$R);
$minLat = $lat - rad2deg($rad/$R);
// compensate for degrees longitude getting smaller with increasing latitude
$maxLon = $lon + rad2deg($rad/$R/cos(deg2rad($lat)));
$minLon = $lon - rad2deg($rad/$R/cos(deg2rad($lat)));
$maxLat=number_format((float)$maxLat, 6, '.', '');
$minLat=number_format((float)$minLat, 6, '.', '');
$maxLon=number_format((float)$maxLon, 6, '.', '');
$minLon=number_format((float)$minLon, 6, '.', '');
Run Code Online (Sandbox Code Playgroud)
然后我可以执行查询,例如:
$query = "SELECT * FROM table …Run Code Online (Sandbox Code Playgroud) 我有以下查询返回表中的所有行:
$query="SELECT * FROM $tbl_name ORDER BY job_id DESC";
Run Code Online (Sandbox Code Playgroud)
我想通过 60 天以内的条目来限制这些结果。我使用以下方法记录向数据库输入条目的日期:
$dt=date('d M Y');
Run Code Online (Sandbox Code Playgroud)
这存储在名为“日期”的列中。
有人可以帮我修改我的查询吗?
谢谢丹
我使用以下代码为我的产品页面制作了一个"赞"按钮:
<?php
if('POST' == $_SERVER['REQUEST_METHOD']) {
$sql = "UPDATE table set `likes` = `likes`+1 where `product_id` = '1'";
$result=mysql_query($sql);
}
?>
<form action="<?php echo $_SERVER['PHP_SELF']?>" method="POST">
<input type = "submit" value = "like"/>
</form>
Run Code Online (Sandbox Code Playgroud)
就像一个小问题的魅力激发一样,每次访问页面都会注册"喜欢".
有人可以帮助解释我需要chnage/add,以便只在提交实际表单时才注册新的"赞"吗?
谢谢丹
我知道这很多都在SO中,但是我找不到我需要的确切解决方案,所以请耐心等待.当用户向我的数据库提交条目时,我将日期和时间存储在名为date的DATETIME字段中.
现在,当我回复他们特定条目发布的日期时,我正在使用:
<p>Posted:<br /><?php echo $rsjobinfo['date'];?></p>
Run Code Online (Sandbox Code Playgroud)
当然这显示了完整的日期和时间,我只想显示2011年7月7日的内容.
所以在我的回声声明之上,我做到了这一点:
$date = $rsjobinfo['date'];
$date = date('j F, Y');
Run Code Online (Sandbox Code Playgroud)
其中,如果我回显$ date,以正确的格式显示今天的日期,但我无法弄清楚如何将该格式应用于从数据库中提取的日期.如果我更换
<p>Posted:<br /><?php echo $rsjobinfo['date'];?></p>
Run Code Online (Sandbox Code Playgroud)
同
<p>Posted:<br /><?php echo $date;?></p>
Run Code Online (Sandbox Code Playgroud)
它只是回显今天的日期(虽然是我想要的格式),而不是数据库日期.
有人可以帮忙吗?
提前谢谢,丹
我有一个愚蠢的小SQL查询,无法正常工作,我无法弄清楚为什么
SELECT * FROM `tablename` WHERE `id` = '294' INSERT INTO 'auth' VALUES 'false'
Run Code Online (Sandbox Code Playgroud)
我想选择与id(294)相关的行并将值false插入'auth'列,但我不断收到#1064错误.
有人能纠正以上吗?
尴尬,
担
真的不想问这个因为我很确定它很简单但是:
我有一个用户数据库,其中包括邮政编码(zipcode)和出生日期的字段.
访问者可以按年龄和到他们自己位置的距离搜索用户.要做到这一点,我必须选择所有用户,然后计算他们的年龄,然后计算他们的距离,如下所示:
$result = queryMysql("SELECT user FROM table WHERE user !='$user' ORDER BY joindate DESC ");
$num = mysql_num_rows($result);
for ($j = 0 ; $j < $num ; ++$j)
{
$row = mysql_fetch_row($result);
if ($row[0] == $user) continue;
$query = "SELECT * FROM table WHERE user='$row[0]'";
$res=mysql_query($query);
$users=mysql_fetch_assoc($res);
//Get Date of Birth and Calculate Age
$dob = $users['age'];
$age = ...
//Get Profile's Postcode and Calculate Distance
$profilepc = $views['postcode'];
$distance = ...
if(($distance <200) AND ($age >18 AND …Run Code Online (Sandbox Code Playgroud)