我有一个成员唯一的网站,其中登录的用户填写一个表格,该表格转到一个名为'ltd_sales_list'的MySQL表格,其中包含以下列:SELECT查询选择仅登录的用户行 - PHP/MySQL
ltd_item_id | ltd_user_id | ltd_invoice_no | ltd_entry_amount | ltd_entry_date
对于生成新的ID /主键每个新条目他们输入,(“ltd_item_id”)对于每一行,而他们的会话日志中ID被记录在“ltd_user_id”而'ltd_entry_date'是一个时间戳。入场表单页面正常工作,但查看入口数据是我遇到问题的地方。
我把下面的代码放在一起,称为view-list.php但这会调用每个用户的条目列表。我正在尝试的是仅显示登录用户的条目列表。
我认为答案在某个地方的查询内,并尝试了一些WITH_USER_ID = $ _SESSION ['ltd_user_id']和类似的WHERE语句,但没有成功。
如果有人可以帮助或可以指向我的一些链接,将不胜感激!
<?php
require_once ('./includes/config.inc.php');
$page_title = 'Page Title';
include ('./includes/header.html');
if (!isset($_SESSION['ltd_user_id'])) {
$url = 'http://' . $_SERVER['HTTP_HOST']
. dirname($_SERVER['PHP_SELF']);
if ((substr($url, -1) == '/') OR (substr($url, -1) == '\\')) {
$url = substr ($url, 0, -1);
}
$url .= '/login.php';
ob_end_clean();
header("Location: $url");
exit();
}
?>
<div id="">HTML Content HERE</div>
<?php
echo '<h1>My Entry Log</h1>';
require_once ('/server/database_connection.php'); // Connect to the db.
$display = 10;
if (isset($_GET['np'])) {
$num_pages = $_GET['np'];
} else {
$query = "SELECT COUNT(*) FROM ltd_sales_list ORDER BY ltd_entry_date DESC";
$result = @mysql_query ($query);
$row = mysql_fetch_array ($result, MYSQL_NUM);
$num_records = $row[0];
if ($num_records > $display) {
$num_pages = ceil ($num_records/$display);
} else {
$num_pages = 1;
}
}
if (isset($_GET['s'])) {
$start = $_GET['s'];
} else {
$start = 0;
}
$link1 = "{$_SERVER['PHP_SELF']}?sort=lna";
$link2 = "{$_SERVER['PHP_SELF']}?sort=fna";
$link3 = "{$_SERVER['PHP_SELF']}?sort=dra";
if (isset($_GET['sort'])) {
switch ($_GET['sort']) {
case 'lna':
$order_by = 'ltd_invoice_no ASC';
$link1 = "{$_SERVER['PHP_SELF']}?sort=lnd";
break;
case 'lnd':
$order_by = 'ltd_invoice_no DESC';
$link1 = "{$_SERVER['PHP_SELF']}?sort=lna";
break;
case 'fna':
$order_by = 'ltd_entry_amount ASC';
$link2 = "{$_SERVER['PHP_SELF']}?sort=fnd";
break;
case 'fnd':
$order_by = 'ltd_entry_amount DESC';
$link2 = "{$_SERVER['PHP_SELF']}?sort=fna";
break;
case 'dra':
$order_by = 'ltd_entry_date ASC';
$link3 = "{$_SERVER['PHP_SELF']}?sort=drd";
break;
case 'drd':
$order_by = 'ltd_entry_date DESC';
$link3 = "{$_SERVER['PHP_SELF']}?sort=dra";
break;
default:
$order_by = 'ltd_entry_date DESC';
break;
}
$sort = $_GET['sort'];
} else {
$order_by = 'ltd_entry_date DESC';
$sort = 'dra';
}
$query = "SELECT ltd_invoice_no, ltd_entry_amount,
DATE_FORMAT(ltd_entry_date, '%M %d, %Y') AS dr, ltd_user_id FROM ltd_sales_list ORDER BY
$order_by LIMIT $start, $display";
$result = @mysql_query ($query);
echo '<table width="520" cellspacing="1" cellpadding="11">
<tr>
<td align="left"><b><a href="' . $link1 . '">Invoice Number</a></b></td>
<td align="left"><b><a href="' . $link2 . '">Invoice Amount</a></b></td>
<td align="left"><b><a href="' . $link3 . '">Date Entered</a></b></td>
</tr>
';
$bg = '#eeeeee';
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$bg = ($bg=='#eaeced' ? '#ffffff' : '#eaeced');
echo '<tr bgcolor="' . $bg . '">
<td align="left">' . $row['ltd_invoice_no'] . '</td>
<td align="left">' . $row['ltd_entry_amount'] . '</td>
<td align="left">' . $row['dr'] . '</td>
</tr>
';
}
echo '</table>';
mysql_free_result ($result);
mysql_close();
if ($num_pages > 1) {
echo '<br /><p>';
$current_page = ($start/$display) + 1;
if ($current_page != 1) {
echo '<a href="view-list.php?s=' . ($start - $display) . '&np=' .
$num_pages . '&sort=' . $sort .'">Previous</a> ';
}
for ($i = 1; $i <= $num_pages; $i++) {
if ($i != $current_page) {
echo '<a href="view-list.php?s=' . (($display * ($i - 1))) .
'&np=' . $num_pages . '&sort=' . $sort .'">' . $i . '</a> ';
} else {
echo $i . ' ';
}
}
if ($current_page != $num_pages) {
echo '<a href="view-list.php?s=' . ($start + $display) . '&np=' .
$num_pages . '&sort=' . $sort .'">Next</a> ';
}
echo '</p>';
}
?>
<div id="">HTML Content HERE</div>
<?php
include ('./includes/footer.html');
?>
干杯 亚当
您是否在尝试访问会话变量之前调用session_start()?我建议你确认你能够访问正确的用户ID,然后从那里开始工作。 – 2011-01-11 22:57:12
糟糕! session_start();是在header.html中包含 – AdamMc 2011-01-11 23:04:50