我在这里使用了很多答案来解决几乎所有问题,但我无法弄清楚如何实现这一目标; 我使用PHP从我的MySQL获取数据,并使用url请求编码为json,所以我去了miweb。 com /_js/ajax/load_content.php?f=1 我从databesa获得了完美的响应,并且回显到json编码,1表示id为1的用户 我的回答如下:
[{"i":"1","n":"Azul","p":"_imgs\/site\/iconos\/0-100\/22\/activo\/ico_00022_138.jpg"}]
如果我去miweb。 com / _js / ajax / load_content.php?f = 2我会得到
[{"i":"2","n":"Lety","p":"_imgs\/site\/iconos\/0-100\/87\/activo\/ico_00087_138.jpg"}]
我需要完成的是去?f = 1,2
miweb.com /_js/ajax/load_content.php?f=1,2并在同一个json中获得响应
[{"i":"1","n":"Azul","p":"_imgs\/site\/iconos\/0-100\/22\/activo\/ico_00022_138.jpg"},
{"i":"2","n":"Lety","p":"_imgs\/site\/iconos\/0-100\/87\/activo\/ico_00087_138.jpg"}]
这是我的php脚本:
require '../../system/config.php';
if( isset($_GET['h']) ) {
get_ficha($_GET['h']);
} else {
die("Solicitud no válida.");
}
function get_ficha( $id) {
// CONECCION DATABASE//
$database = new mysqli(HOST, USER, PASS, DBNAME);
if($database->connect_errno) {
die("No se pudo conectar a la base de datos");
}
mysqli_set_charset($database, "utf8");
//Sanitize ipnut y preparar query
if( is_array($id) ) {
$id = array_map('intval', $id);
$promo = "WHERE `ID` IN (" . implode( ',', $id ) . ")";
} else {
$id = intval($id);
$promo = "WHERE `ID` = " . $id;
}
if ( $result = $database->query( "SELECT * FROM (ficha)" . $promo) ) {
if( $result->num_rows > 0 ) {
$promo = array();
while( $row = mysqli_fetch_array($result))
{
$id=$row['id'];
$nombre=$row['nombre'];
$icono=$row['ico_138'];
$promo[] = array(
'i'=> $id,
'n'=> $nombre,
'p'=> $icono
);
}
} else {
$promo = array(
);
}
$result->close();
} else {
$promo["success"] = false;
$promo["data"] = array(
'message' => $database->error
);
}
header('Content-type: application/json; charset=utf-8');
echo json_encode($promo, JSON_UNESCAPED_UNICODE);
$database->close();
}
exit();
答案 0 :(得分:0)
你需要爆炸获取变量
get_ficha(explode(',', $_GET['h']));
然后在你的函数中
if( is_array($id) && count($id) > 1) {
$id = array_map('intval', $id);
$promo = "WHERE `ID` IN (" . implode( ',', $id ) . ")";
} else {
$id = intval($id);
$promo = "WHERE `ID` = " . $id;
}