PHP:从数据库中获取数据

时间:2016-11-17 07:00:34

标签: php web-services

我正在使用php制作网络服务。

我希望以分页方式从数据库中获取数据。

例如:我应该有基于 event_id 10 记录,我将在网址中传递 page_number ,即 10 第一页上的记录,第二页上的其他 10 记录,依此类推。

我对网络服务很陌生。

<?php
http://localhost/Mobile%20Webservice/customAppEngine/faq.php?Faq_request={"faq_event_id":"302","page_number":"1"}

if(isset($_REQUEST["Faq_request"]) && trim($_REQUEST["Faq_request"]) != '') {
    $faq_details_Request = $_REQUEST["Faq_request"];
  //  $page_number = 1;
    $faqeventdetails_o = json_decode($faq_details_Request);

    
    if( isset($faqeventdetails_o->faq_event_id))
    {
        // event_id
        $event_id = $faqeventdetails_o->faq_event_id;


        if(trim($event_id)==''){
            die($msgobj->customFailMessage("Please provide Event Id"));
        }

        $userQuery="SELECT * FROM `faq` WHERE faq_event_id=$event_id";

        $u=mysql_query($userQuery);
        $number=mysql_num_rows($u);

      /*  if($number>0){
            $query="DELETE FROM `agendaLikes` WHERE event_id=$event_id and user_id=$user_id 
		and agenda_id=$agenda_id";
            mysql_query($query);
            mysql_query("UPDATE agenda SET agendaLikes=agendaLikes-1 where agenda_id=$agenda_id");


            $arr['isLike']=0;
        }else{
            mysql_query("INSERT INTO `agendaLikes`(agenda_id,user_id,event_id) VALUES($agenda_id,$user_id,$event_id)");
            $arr['isLike']=1;
            mysql_query("UPDATE agenda SET agendaLikes=agendaLikes+1 where agenda_id=$agenda_id");
        }*/

        $arr['status']=$msgobj->success;

        echo json_encode($u);

    }
    else {
        die($msgobj->customFailMessage($msgobj->missingparamater));
    }
}
else {
    die($msgobj->customFailMessage($msgobj->invalidparamater));
}

基于faq_event_id我应该获取数据。

当我点击url时,没有显示任何内容。

我缺少哪个?

谢谢。

2 个答案:

答案 0 :(得分:0)

在sql查询中使用Offset和Limit 假设你想要每页10条记录,那么你需要传递页面参数。 所以例如

$page = 2; //parameter pass by get or post method $limit = 10 //our limit to get data per page $offset = $page*$limit; //calculate your offset

然后你的sql看起来像

  

$ userQuery =“SELECT * FROM faq WHERE faq_event_id = $ event_id ORDER BY id LIMIT $ limit OFFSET $ offeset”;

希望这适合你。

答案 1 :(得分:0)

您也可以使用以下代码。 //Need to set this variable when you send request to get next 10 records, default value would be 1 $page=1; $offset = 10; $limit = ($page - 1) * 10; $userQuery="$userQuery="SELECT * FROM faq WHERE faq_event_id=$event_id ORDER BY id"; if($page > 0) $userQuery .= " limit $limit, $offset";