我想问一下如何显示基于用户名的信息?我的意思是当我登录时,它会引导我选择数据页面。我的选择数据页面包含用户名,姓名和日期。名称是微调器中项目的名称,我将这些项目放在微调器中。例如,john的用户名在spinner中选择项目1,它将发送到数据库。然后,当进入状态页面时,它将仅显示John在John帐户中选择的项目。与其他帐户相同,在其帐户中仅显示自己选择的项目。 下面是我的选择项目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`);
答案 0 :(得分:0)
由于您没有提到Spinner和Selection表的Schema,假设一个简单的案例,解决方案就像下面的指示..
username
(通常将其存储在会话中直到他/她退出)。在您的Status.php
中,您的查询将是
Select * from Selection where username = '$YOUR_USER_NAME_FROM_SESSION_HERE';
根据您的要求,这应该足够了。
注意:在查询中直接使用变量将导致SQL注入的暴露。要防止Sql注入,请同时参考this answer。
答案 1 :(得分:0)
当用户登录时使用$_SESSION["name"] = "$username";
设置会话
现在会话已设置,然后您可以从视图页面中的任何位置访问您使用的会话变量
$user= $_SESSION["name"]
。
现在您从数据库中获取项目 喜欢
$sql = "SELECT * FROM Selection where username='$user'";
试试吧