繁体   English   中英

使用PHP,MySql在当前(已登录)用户的仪表板上插入并显示数据

[英]insert and display data on a dashboard for currently (logged in)user using PHP, MySql

我制作了一个user_login表,其中pk = userid。 创建一个credit_request表,该表将userid引用为fk。 当用户登录时,他应该只在仪表板中看到他的条目。 但是,一旦我将外键链接到这里,就无法插入数据。 甚至通过phpmyadmin插入的数据对所有用户都是可见的。

请帮帮我。 如何为登录用户插入和检索数据。

<>

//用于信用请求的数据库设置

//将数据插入信用请求

if(isset($_POST['taskid']))
{

    $taskid =$_POST['taskid'];
    $orderid = $_POST['orderid'];
    $status = $_POST['status'];
    $query1 = "INSERT INTO credit_request(taskid, orderid, status)
    VALUES ('$taskid', '$orderid', '$status')";

    if ($connect->query($query1) === TRUE) {
        echo "New record created successfully";
    } else {
        echo "Error: " . $query1 . "<br>" . $connect->error;
    }


}

//Display data for credit request

$query2 = "SELECT taskid, orderid, status FROM credit_request WHERE agentid = '$userid'";
$res = $connect->query($query2);


if ($res->num_rows > 0) {
    // output data of each row
    while($row = $res->fetch_assoc()) {
        echo "<br>taskid: " . $row["taskid"]. " -orderid: " . $row["orderid"]. " --:" . $row["status"]."";
    }
} else {
    echo "0 results";
}

我认为您在创建外键时在更新,删除方面有问题。

这是如何构建模式的示例:

CREATE TABLE `country` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `country_name` varchar(45) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;

CREATE TABLE `state_table` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `state_name` varchar(45) DEFAULT NULL,
  `country_id` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`),
  CONSTRAINT `country_fk` FOREIGN KEY (`country_id`) 
   REFERENCES `country` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='';

INSERT INTO country (country_name) VALUES ('US of A');

INSERT INTO state_table (state_name,country_id) VALUES
('Minnesota', 2),
('Arizona', 2);

看到更多的小提琴

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM