
flag作为标记,如果取其中三条数据,则把对应的三条数据的flag设置为1(推荐),默认为0;这样就可以实现取其中的三条数据,剩下的为按时间排序;
取三条:select * from news where flag = 1 limit 3
取剩余的数据select * from news where flag = 0 order by time desc limit 10
直接查询数据库里面的数据,查询出来的是数组格式的,然后直接用 json_decode 这个函数,把查询出来的数组转化成JSON格式,然后输出
<?phpheader("Content-type: text/html charset=utf-8")
$host = '数据库IP'
$dbname = '数据库名称'
$user = '用户名'
$pw = '密码'
$pdo = new PDO("mysql:host=".$host."dbname=".$dbname."",$user,$pw) //通过PDO连接数据库
$sql = 'SELECT * FROM `新闻表` WHERE 1 '
$arr = $pdo->query($sql)->fetchall()
echo json_decode($arr) //输出JSON
?>
首先你的数据库设计不合理,国内、国外新闻应该放在一个表里面,增加一个字段来标识国内和国外,那样你的程序会非常简单。如果不改变你现在的数据库,那么调用新的页面必须要增加一个参数,表示调用的国内还是国外,sql里面根据这个参数设置不同的表,例如:
if ($lb=='国内') $str="select * from gjfl where did='$id'"
else $str="select * from gjbz where did='$id'"
$sql=mysql_query($str)
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)