当前位置: 首页 > 面试题库 >

如何通过用户ID显示数据库中的记录

越飞鸾
2023-03-14
问题内容

我想按用户ID显示数据库中的记录。这意味着工作人员必须输入工作人员ID和密码并提出新项目的请求,该请求将保存在数据库中。

该请求工作正常,但是在request.php页面之后,我想显示该工作人员在receive.php中订购的项目。我该怎么办?这是定义表的SQL:

CREATE TABLE `orders` (                                                       
          `orderno` bigint(20) NOT NULL AUTO_INCREMENT,                               
          `orderqty` bigint(20) NOT NULL,                                             
          `orderdate` date DEFAULT NULL,                                              
          `itemno` bigint(20) DEFAULT NULL,                                           
          `staffid` varchar(50) DEFAULT NULL,                                         
          PRIMARY KEY (`orderno`),                                                    
          KEY `FK_itemno` (`itemno`),                                                 
          KEY `FK_staffid` (`staffid`),                                               
          CONSTRAINT `FK_itemno` FOREIGN KEY (`itemno`) REFERENCES `item` (`itemno`)  
        ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1

这是receive.php的PHP代码:

<?php require_once('Connections/sqlconnection.php'); ?>
<?php 
    if (!isset($_SESSION)) {
         session_start();
    }

    $colname_rsstaff = $_SESSION['staffid'];
    if (isset($_GET['staffid'])) {
        $colname_rsstaff = $_GET['staffid'];
    }

if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "",  $theNotDefinedValue = "") 
{
  if (PHP_VERSION < 6) {
    $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }

  $theValue = function_exists("mysql_real_escape_string") ?          mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}

mysql_select_db($database_sqlconnection, $sqlconnection);
$query_rsorders = "SELECT * FROM orders";
$rsorders = mysql_query($query_rsorders, $sqlconnection) or die(mysql_error());
$row_rsorders = mysql_fetch_assoc($rsorders);
$totalRows_rsorders = mysql_num_rows($rsorders);

mysql_select_db($database_sqlconnection, $sqlconnection);
$query_rsitem = "SELECT * FROM item";
$rsitem = mysql_query($query_rsitem, $sqlconnection) or die(mysql_error());
$row_rsitem = mysql_fetch_assoc($rsitem);
$totalRows_rsitem = mysql_num_rows($rsitem);

mysql_select_db($database_sqlconnection, $sqlconnection);
$query_rsstaff = "SELECT * FROM staff";
$rsstaff = mysql_query($query_rsstaff, $sqlconnection) or die(mysql_error());
$row_rsstaff = mysql_fetch_assoc($rsstaff);
$totalRows_rsstaff = mysql_num_rows($rsstaff);

mysql_select_db($database_sqlconnection, $sqlconnection);
$query_rsitemlist = sprintf("SELECT * FROM itemlist WHERE itemlist.staffid = %s",        GetSQLValueString($colname_rsstaff, "text"),"ORDER BY orderdate DESC");
$rsitemlist = mysql_query($query_rsitemlist, $sqlconnection) or die(mysql_error());
$row_rsitemlist = mysql_fetch_assoc($rsitemlist);
$totalRows_rsitemlist = mysql_num_rows($rsitemlist);
?>

<title>Sistem Pengurusan Stok</title>
<center>
  <form name="form1" method="POST" action="request.php">
    <table width="633" height="262" border="1">
      <tr>
        <td height="124" colspan="6"><?php include 'header.php'?></td>
      </tr>
      <tr>
        <td width="119" height="51" 
        align="center">No Resit</td>
        <td width="130" align="center">Tarikh Tempah</td>
        <td width="181" align="center">Nama Barang</td>
        <td align="center">Kuantiti</td>
        <td align="center">&nbsp;</td>
      </tr>
      <?php do { ?>
        <tr>
          <td height="35" align="center"><?php echo $row_rsitemlist['orderno']; ?></td>
          <td align="center"><?php echo $row_rsitemlist['orderdate']; ?></td>
          <td align="center"><?php echo $row_rsitemlist['itemname']; ?></td>
          <td width="146" align="center"><?php echo $row_rsitemlist['orderqty']; ?></td>
          <td width="23" align="center"><img src="images/delete.jpg" width="68" height="32" align="center" /></td>
     </tr>
        <?php } while ($row_rsitemlist = mysql_fetch_assoc($rsitemlist) && $rsitemlist); ?>
     <tr>
         <td height="40" colspan="6" align="right"><input type="submit" name="button2" id="button2" value="Kembali"/>
          <input type="submit" name="button" id="button" value="Hantar" /></td>
     </tr>
    </table>
  </form>
</center>
<?php
mysql_free_result($rsorders);

mysql_free_result($rsitem);

mysql_free_result($rsstaff);

mysql_free_result($rsitemlist);
?>

我真的希望有人可以检查我的代码。提前致谢。


问题答案:

您可以通过设置会话来做到这一点…机制将是

  1. start_session() 在request.php的顶部
  2. 在request.php上,为订单数据创建会话变量,请参见 手册
  3. 在reciept.php(或所需的任何页面)上,使用该会话变量显示您的订单数据。

希望这可以帮助…



 类似资料:
  • 我得到了这段代码,但我认为这是不好的方法,如果有像100K的结果,它会返回100K的新用户怎么办?对于,我是否可以使用其他方法,但我不太确定如何实现。另外,是否应该使用块?

  • 嗨,我正在创建一个C#程序,用户可以登录和预订目的地的公共汽车座位,我有这个程序,用户可以插入/更新/删除数据,但我希望数据只显示当前登录的数据,这是我的代码下面。 此函数位于主仪表板类中,它在其中向dataviewgrid显示SAITS表 这是我的数据库表,一旦用户登录,我想做的就是按userID显示每个seatID,seatID是这个表的主键,userID是链接到userdata表的外键。

  • 我正在尝试使用Hibernate在 Struts 2 的 JSP 页面中显示数据库记录。 我已经成功地完成了检索部分。 但是无论我做什么,我似乎都无法在JSP页面中显示数据。 我尝试过互联网上的各种解决方案。但不明白问题是什么。 我可以看到表列名,但其中没有数据。 我的<code>User<code>POJO类中有所有必需的getter和setter。 我附上了我的代码: 注册操作: : <cod

  • 注意:用户界面已经在 Dreamweaver CC 和更高版本中做了简化。因此,您可能在 Dreamweaver CC 和更高版本中找不到本文中描述的一些选项。有关详细信息,请参阅此文章。 关于数据库记录 显示数据库记录涉及检索储存在数据库或其它内容源中的信息,以及将这些信息呈现到网页上。Dreamweaver 提供了许多显示动态内容的方法,并提供了若干内置的服务器行为,使您可以增强动态内容的表现

  • 喂! 我一直在做一个web项目,用户可以注册和登录。我也想添加一个配置文件,他们提供的一些信息可以在“配置文件”页面上显示。 我已经使用firebase auth(与电子邮件和密码)和rt数据库存储额外的信息,如‘姓名','生物’等。 我已经尝试过这里其他问题的解决方案,但似乎没有一个对我有效。 下面是我的数据库的外观: 下面是配置文件页面的一些代码: 当我测试代码时,我在控制台上得到了这个错误:

  • 问题内容: 我有一个表名消息。我需要获取一个列名,其中 receiver_id = 4, 但我总是得到空输出。 屏幕截图上方有3行。第二行和第三行与其他ID一起存在,我需要对其进行分解并显示第二行和第三行记录。 如何编写MySQL查询? 问题答案: 存储逗号分隔值确实是一个糟糕的设计,您应该 首先将接收方的所有关联存储在联结表中,如果您无法更改架构,则可以针对当前情况在逗号分隔列表中搜索值