Este topic es poco similar a otra pregunta mía sobre dba.stackexchange.com, pero el problema es diferentecómo obtener los datos si hay muchas solicitudes
Tengo dos tablas en mi base de datos, una tabla es user_app en el cual la información del usuario se almacenan, mesa son como:
+--------------+--------------+------+-----+-------------------+-----------------------------+
| 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 | |
+--------------+--------------+------+-----+-------------------+-----------------------------+
otra mesa es la mesa creativa a través del cual puedo recuperar el anuncio de que el usuario:
+--------------+--------------+------+-----+---------+----------------+
| 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 | |
+--------------+--------------+------+-----+---------+----------------+
Aquí está mi código 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
En este escenario, tengo que enviar un solo anuncio para el usuario una vez en 24 horas, lo que yo estoy enviando en formato JSON. Además, si un usuario ha instalado nuestras diferentes aplicaciones, debo enviarles solo un anuncio solo durante todo el día. En esto, PACKAGE_NAME representar a nuestras aplicaciones, que estoy tratando de lograr esto mediante el uso de una entrada de la bandera de tiempo, así:
$flag = date('dmy');
pero la forma de lograr un anuncio al día, ya solo queda la investigación sobre esto. Amablemente mire este problema.
Actualización: Mi disculpas, no me menciono antes, pero quiero enviar sólo un aviso de usuario de gran cantidad de solicitudes para el anuncio de. Por ejemplo, el usuario puede enviar un número de solicitudes e instalar nuestra aplicación, y luego no recibe el mismo anuncio en cada solicitud. Acaba de recibir un solo anuncio en todo el día.
si este tema no es comprensible, entonces por favor me comentan que se me quite mi esfuerzo extra en este problema – Shashank