Php 如果有许多请求,如何获取数据
这和我在dba.stackexchange.com上提出的其他问题并没有什么相似之处,但问题是不同的 我的数据库中有两个表,一个是存储用户信息的user_app table,表如下:Php 如果有许多请求,如何获取数据,php,mysql,json,time,Php,Mysql,Json,Time,这和我在dba.stackexchange.com上提出的其他问题并没有什么相似之处,但问题是不同的 我的数据库中有两个表,一个是存储用户信息的user_app table,表如下: +--------------+--------------+------+-----+-------------------+-----------------------------+ | Field | Type | Null | Key | Default
+--------------+--------------+------+-----+-------------------+-----------------------------+
| Field | Type | Null | Key | Default | Extra |
+--------------+--------------+------+-----+-------------------+-----------------------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| apikey | varchar(32) | NO | | NULL | |
| app_id | varchar(16) | NO | | NULL | |
| appidt | varchar(100) | NO | | NULL | |
| imei_num | varchar(32) | NO | MUL | NULL | |
| app_version | varchar(20) | NO | | NULL | |
| package_name | varchar(100) | NO | MUL | NULL | |
| stamp | timestamp | NO | | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
| sdk_version | float | NO | | NULL | |
+--------------+--------------+------+-----+-------------------+-----------------------------+
另一个表是creative表,我通过它向用户检索广告:
+--------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| campaign_id | tinyint(4) | NO | | NULL | |
| status | tinyint(4) | NO | | NULL | |
| type | varchar(20) | NO | | NULL | |
| title | varchar(40) | NO | | NULL | |
| description | varchar(100) | NO | | NULL | |
| iconlink | text | NO | | NULL | |
| marketlink | text | NO | | NULL | |
| app_id | varchar(16) | YES | | NULL | |
| package_name | varchar(200) | YES | MUL | NULL | |
+--------------+--------------+------+-----+---------+----------------+
以下是我的php代码:
$rss = $mysqli->query(" SELECT id as cid,
title, description,
iconlink, marketlink,
package_name FROM `creative`
WHERE package_name <> '".$pkg."' AND id = 16 "
);
$arr = array();
while($obj = $rss->fetch_object()) {
$arr = $obj;
}
//$uappid = $arr -> uid; //user app id for track
$cid = $arr -> cid; // creative id
//$campid = $arr -> campaign_id;
$title = $arr -> title;
$desc = $arr -> description;
$ilink = $arr -> iconlink;
$mlink = $arr -> marketlink;
$data = array('id'=>"$cid", 'title'=> "$title", 'description'=> "$desc", 'iconlink'=> "$ilink",'marketlink'=>"$mlink");
$creative = json_encode($data); //return creative json if imei is there
$response = array('success' => "true", 'result'=>"$creative", 'delay'=>"120000");
echo json_encode($response); //return ad in json
但如何实现每天单个广告,我只是在研究这一点。请注意这个问题
更新:很抱歉,我之前没有提到过,但我只想在大量的广告请求中向用户发送一条广告。例如,用户可以发送请求的数量并安装我们的应用程序,这样他就不会在每个请求上都收到相同的广告。他一整天只收到一条广告。尝试添加多维结果查询数组:
while($obj = $rss->fetch_object()) {
$array[$obj->cid]['cid'] = $obj->cid;
$array[$obj->cid]['title'] = $obj->title;
$array[$obj->cid]['description'] = $obj->description;
$array[$obj->cid]['iconlink'] = $obj->iconlink;
$array[$obj->cid]['marketlink'] = $obj->marketlink;
$array[$obj->cid]['package_name'] = $obj->package_name;
}
echo '<pre>';
var_dump(json_encode($array)); //return ad in json
echo '</pre>';
while($obj=$rss->fetch_object()){
$array[$obj->cid]['cid']=$obj->cid;
$array[$obj->cid]['title']=$obj->title;
$array[$obj->cid]['description']=$obj->description;
$array[$obj->cid]['iconlink']=$obj->iconlink;
$array[$obj->cid]['marketlink']=$obj->marketlink;
$array[$obj->cid]['package\u name']=$obj->package\u name;
}
回声';
var_dump(json_encode($array))//返回json格式的广告
回声';
@atomon3r:这并不能解决我的问题,我正在寻找一个解决方案,在这个解决方案中,我必须在24小时内向用户发送一个json格式的广告,该广告在代码中是回音的。我可以根据时间来做,当用户请求资源时,或者当用户请求数据插入数据库时,通过插入id使用。我可以尝试这两种方法,但仍然无法使用或无法应用。如果这个主题不可理解,那么请评论我,因为我在这个问题上付出了额外的努力
while($obj = $rss->fetch_object()) {
$array[$obj->cid]['cid'] = $obj->cid;
$array[$obj->cid]['title'] = $obj->title;
$array[$obj->cid]['description'] = $obj->description;
$array[$obj->cid]['iconlink'] = $obj->iconlink;
$array[$obj->cid]['marketlink'] = $obj->marketlink;
$array[$obj->cid]['package_name'] = $obj->package_name;
}
echo '<pre>';
var_dump(json_encode($array)); //return ad in json
echo '</pre>';