【问题标题】:MySql select statement with echo variable带有回显变量的 MySql 选择语句
【发布时间】:2017-07-26 13:52:31
【问题描述】:

我有两个表的 mysql 数据库。主表包含用户登录详细信息,辅助表包含用户活动。这些表格由帐号链接。

我已经创建了用户注册和登录的注册页面和登录页面。用户显示一个带有两个按钮的主页。

当用户点击按钮时,它应该根据用户登录凭据运行查询。查询如下所示:

$result = mysql_query("select mydate, preamount, currentdeposit,
debit, currentinterest, totalamount, status  from NormalAccount where
acctnumber = '$actno'n ORDER BY mydate DESC LIMIT 5");

因为我需要根据用户帐号进行过滤,所以我设计了一个表单,他们需要再次输入他们的帐号。这使得整个过程看起来像是双重工作,用户抱怨整个输入信息的过程是两次。

我想要什么:

如何编写查询以使查询自动填充用户凭据,以便他们无需再次输入帐号即可查看其帐户详细信息?

我已经在页面上有一个会话,使我能够使用 echo (例如 echo acctname)在页面上拉取和显示用户详细信息,它会在页面的任何部分显示用户的帐户名称。

我使用下面的带有 echo 的 php 自动向使用帐户名的用户显示欢迎消息。如何在下面集成此代码

<?php echo $userRow['acctname']; ?>

进入主查询中的 WHERE 子句,以便自动填充用户的帐户名称,以便根据他们的帐户名称过滤记录?

我在每个页面上都有一个使用此代码的会话:

<?php
ob_start();
session_start();
require_once 'dbconnect.php';
if( !isset($_SESSION['user']) ) {
header("Location: index.php");
exit;
}
$res=mysql_query("SELECT * FROM userss WHERE userId=".$_SESSION['user']);
$userRow=mysql_fetch_array($res);
?>

谢谢。

Zollyzo

【问题讨论】:

  • 使用会话....
  • 并且不要使用mysql_*函数。
  • 为什么不在登录页面的会话或cookie变量中存储帐号并在帐户摘要页面中使用它。
  • 我在每个页面上都有这样的会话
  • 我有一个看起来像这样的会话页面 []

标签: php html mysql mysqli


【解决方案1】:

我不完全确定我理解了这个问题,但是当您第一次询问帐号时,您可以在第一次从用户那里收到帐号时将其存储在 $_SESSION 变量中。然后,您可以稍后再检索它,即使它位于不同的页面上。

<?php
session_start();
...
//you get the account number somehow in $actno
$_SESSION['acctNr'] = $actno
...
//later in your code, or on another page that has had session_start() run
$actno = $_SESSION['acctNr']
//use it as you would before.

【讨论】:

    【解决方案2】:

    如果用户已成功登录,请将其帐号(可能还有其他详细信息)保存在会话变量中。您可以将该会话变量用于后续查询,因此您无需再次要求用户输入他们的帐号。

    基本用法:https://www.w3schools.com/php/php_sessions.asp

    【讨论】:

      猜你喜欢
      • 2015-03-02
      • 2017-07-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-14
      • 2011-06-30
      • 2020-07-19
      • 2019-04-05
      相关资源
      最近更新 更多