用于存储和显示来自多个连接表的记录的SQL语句

时间:2017-11-19 19:29:55

标签: php sql stocks

经过几次尝试并在网上寻找答案后,我有点卡住了。我不知道我应该在哪里,或者我应该如何准确地输入SQL语句以及如何使链接表具有插入其中的组合和成员表中的ID,以便然后然后网站可以显示该信息。不确定这是否足够清楚,让我解释一下我想用这个来实现什么。 我希望能够显示单个用户的股票记录,包括股票代码和该用户拥有的股票数量。虽然我创建了所有表并正确链接它们(我认为),但我不知道如何实际插入然后使用php从适当的位置检索记录。我有一个带有stockID&的链接器表。 memberID作为外键,然后显然是投资组合中的主键。成员表。 例如,在向投资组合添加股票时,我有这样的陈述:

if(empty($_POST['var1']) or empty($_POST['pri1']) or empty($_POST['vol1']))
{
?><h1><center>To add values please fill atleast first row completely.</center></h1><?php
die();
}

for($x=1;$x<=5;$x++)
{
$var = [];
$pri = [];
$vol = [];
if (!empty($_POST['var'.$x]) and !empty($_POST['pri'.$x]) and !empty($_POST['vol'.$x])) 
{
$var[$x] = $_POST['var'.$x];
$pri[$x] = $_POST['pri'.$x];
$vol[$x] = $_POST['vol'.$x];
$sql = "INSERT INTO portfolio 
(stocks_symbol, price, volume)
VALUES ('$var[$x]', $pri[$x], $vol[$x])
ON DUPLICATE KEY UPDATE
price=$pri[$x], volume=$vol[$x]";

// Check if values are added successfully
if(mysqli_query($conn, $sql))
{
?><h1><center><?php
echo $x.". Values added.";
?></h1><center><?php
}
else
{
?><h3><center><?php
echo $x.". Error adding values to table". "<br>". $sql.
"<br>". $conn->error;
?></h3><center><?php
}
}
}
mysqli_close($conn);
}

但正如您所看到的,它将记录添加到投资组合表中,并且没有在任何地方提及用户ID,这意味着ID没有链接且链接表不是't&t; t涉及......所以无论用户登录了什么,都会向所有人展示产品组合。 至于然后在用户的表格中显示该数据,我有:

$sql = "SELECT * FROM portfolio";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) 
{
while($row = mysqli_fetch_assoc($result)) 
{
$sym[$y] = $row["stocks_symbol"];
$pri[$y] = $row["price"];
$vol[$y] = $row["volume"];
$y += 1;
}
}
// If database empty
else 
{
?><h1><center><?php
echo "Portfolio Empty";
?></h1></center><?php
die();
}
mysqli_close($conn);

我不确定我是否正确记录了这一点,但希望您能理解我的意思,并且非常感谢一些帮助/指导,因为我无法找到解决方法。

0 个答案:

没有答案