请问如何显示基于用户名的信息?我的意思是当我登录时,它会引导我选择数据页面。我选择的数据页面有用户名、姓名和日期。名称是微调器中项目的名称,我将这些项目放在微调器中。例如,用户名 john 在微调器中选择第 1 项,它将发送到数据库。那么当进入状态页面时,它只会显示约翰在约翰帐户中选择的项目。与其他账户一样,在他们的账户中只会显示他们自己选择的项目。 下面是我选择的项目 php:
<?php
if($_SERVER['REQUEST_METHOD']=='POST'){
//Getting values
$username = $_POST['username'];
$name = $_POST['name'];
$date = $_POST['date'];
//Creating an sql query
$sql = "INSERT INTO Selection (username, name, date) VALUES
('$username','$name', '$date')";
//Importing our db connection script
require_once('dbConnect.php');
//Executing query to database
if(mysqli_query($con,$sql)){
echo 'Selected Successfully';
}else{
echo 'Sorry, You Already Select this item';
}
//Closing the database
mysqli_close($con);
}
?>
查看状态 Php:
<?php
//Importing Database Script
require_once('dbConnect.php');
//Creating sql query
$sql = "SELECT * FROM Selection";
//getting result
$r = mysqli_query($con,$sql);
//creating a blank array
$result = array();
//looping through all the records fetched
while($row = mysqli_fetch_array($r)){
//Pushing name and id in the blank array created
array_push($result,array(
"id"=>$row['id'],
"username"=>$row['username'],
"name"=>$row['name'],
"date"=>$row['date']
)
);
}
//Displaying the array in json format
echo json_encode(array('result'=>$result));
mysqli_close($con);
?>
我正在使用 localhost 和 phpmyadmin。
Selection
的表结构如下:-
id - primary key Not Null
username NOT NULL,
name NOT NULL,
date NOT NULL,
ALTER TABLE `Selection` ADD UNIQUE `unique_index`(`username`, `name`);
最佳答案
由于您没有提到 Spinner 和 Selection 表的架构,假设您有一个简单的案例,解决方案如下所示。
- 当用户登录时,捕获它的
用户名
(通常将其存储在 session 中直到他/她注销)。 在您的
Status.php
中,您的查询将是Select * from Selection where username = '$YOUR_USER_NAME_FROM_SESSION_HERE';
根据您的要求,这应该足够了。
注意:直接在查询中使用变量会导致 SQL 注入(inject)暴露。防止Sql注入(inject),引用this answer也是。
关于php - 在特定用户的状态页面中显示特定用户选择的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45585750/