我有一个无法解决的问题。
我正在创建一个Android App
,其中有一个显示用户数据的部分。
数据通过MySql
保存在Register.php
数据库中,并使用Show.php
文件进行获取。
当我在应用程序中打开用户活动时,有一个包含用户id
的隐藏字段,应用程序将ID发送到Php
脚本并显示该用户的所有数据。
问题在于数据显示的时间有些延迟,因为它必须从应用程序中读取id
并显示过滤的数据。
我想要的是在Php
文件中已经有用户id
,因此应用程序上的数据显示将是瞬时的,因为这样我已经具有变量,该变量包含id
,然后在Query
中使用。
为此,我想到了使用sessions。
但这不起作用。
在Register.php
文件中,我插入了一个会话变量,以存储我需要在id_restaurants
脚本中通过{{1}显示该用户数据的变量show.php
的值。 }。
但是在Query
文件中,变量Register.php
的值似乎没有保存。
我在做什么错了?
这是注册文件:$ _SESSION ['varId']
Register.php
以下是显示文件:<?php
session_start();
if($_SERVER['REQUEST_METHOD']=='POST'){
include_once("config2.php");
$idUser = $_POST['idUser'];
$name = $_POST['name'];
$surname = $_POST['surname'];
$restaurant = $_POST['restaurant'];
$id_restaurant = $_POST['id_restaurant'];
$_SESSION['varId'] = '$id_restaurant';
if($name == '' || $surname == '' || $restaurant =='' ){
echo json_encode(array( "statusr" => "false","message" => "Insert all data") );
}else {
$query= "SELECT * FROM Restaurants WHERE restaurant='$restaurant'";
$result= mysqli_query($con, $query);
if(mysqli_num_rows($result) > 0){
echo json_encode(array( "statusr" => "false","message" => "Name restaurant already exist") );
}else{
$query = "INSERT INTO Restaurants (idUser,name,surname,restaurant,id_restaurant) VALUES ('$idUser','$name','$surname','$restaurant','$id_restaurant')";
if(mysqli_query($con,$query)){
$query= "SELECT * FROM Restaurants WHERE name='$name' AND surname='$surname' AND restaurant='$restaurant' ";
$result= mysqli_query($con, $query);
$emparray = array();
if(mysqli_num_rows($result) > 0){
while ($row = mysqli_fetch_assoc($result)) {
$emparray[] = $row;
}
}
echo json_encode(array( "statusr" => "truer","message" => "Registered succesfully!" , "datar" => $emparray) );
}else{
echo json_encode(array( "statusr" => "false","message" => "Error") );
}
}
mysqli_close($con);
}
} else{
echo json_encode(array( "statusr" => "false","message" => "Errore3") );
}
?>
Show.php
然后您认为有一种更好的方法可以在<?php
session_start();
include 'config.php';
$conn = new mysqli($HostName, $HostUser, $HostPass, $DatabaseName);
$idRestaurant = $_SESSION['varId'];
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT * FROM Food WHERE id_restaurant ='$idRestaurant'" ;
$result = $conn->query($sql);
if ($result->num_rows >0) {
while($row[] = $result->fetch_assoc()) {
$tem = $row;
$json = json_encode($tem);
}
} else {
echo "No Results Found.";
}
echo $json;
$conn->close();
?>
脚本之间传递id?
我愿意听你的话。
非常感谢。