Привет, ребята, вы можете помочь мне создать таблицу, которая отображает всю транзакцию всего пользователя. Точно так же, как рис. ниже
Я хочу просмотреть только конкретную транзакцию приемника пользователя. Когда этот пользовательский приемник регистрируется в своей учетной записи, например, когда пользовательский приемник в транзакции №5 регистрируется на ее счету, он будет отображаться только в отношении ее транзакций.
Здесь мой код
$qry = "SELECT en.'transid', en.'transdate',
CONCAT(userlist.lname, ', ', userlist.fname, ' ', userlist.mname) AS sender_name,
CONCAT(userlist1.lname, ', ', userlist1.'fname', ' ', userlist1.'mname') AS receiver_name,
en.'document_number', doctype.'document_type', vendor.'vendor_name', acknowledge.'status_id'
FROM 'tbl_encode_transmittal' en
LEFT JOIN 'tbl_acknowledgetransmittal' acknowledge ON en.'transid' = acknowledge.'transid'
LEFT JOIN tbl_userlist userlist ON userlist.userid = en.sender_id
LEFT JOIN tbl_userlist userlist1 ON userlist1.userid = en.'receiver_id'
LEFT JOIN 'tbl_doctype' doctype ON doctype.'doc_id' = en.'doctype_id'
LEFT JOIN tbl_vendor vendor ON vendor.'vendor_id' = en.vendor_id";
WHERE userlist.userid = '" . $_SESSION['userid'] . "'";
$res = mysql_query($qry) or die(mysql_error());
echo "<tr>";
while($row = mysql_fetch_array($res)){
echo "<tr>";
echo "<tbody>";
echo "<td>" . $row['transid'] . "</td>";
echo "<td>" . $row['transdate'] . "</td>";
echo "<td>" . $row['sender_name'] . "</td>";
echo "<td>" . $row['receiver_name'] . "</td>";
echo "<td>" . $row['document_number'] . "</td>";
echo "<td>" . $row['document_type'] . "</td>";
echo "<td>" . $row['vendor_name'] . "</td>";
echo "<td>" . $row['status'] . "</td>";
}
Здесь мой код таблицы
<table>
<tr>
<thead>
<th>Transmittal #</th>
<th>Transmittal Date</th>
<th>Sender Name</th>
<th>Department</th>
<th>Invoice #</th>
<th>Document Type</th>
<th>Vendor Name</th>
<th>Remark</th>
<th>Action</th>
</thead>
</tr>
<?php
include('connection.php');
$sql = "SELECT en.transid, en.transdate, CONCAT(userlist.lname, ', ', userlist.fname, ' ', userlist.mname) AS sender_name,userlist.department,
userlist.department, CONCAT(userlist1.lname, ', ', userlist1.'fname', ' ', userlist1.'mname') AS receiver_name,
vendor.'vendor_name', doctype.document_type, doctype.document_description, en.'remarks'
FROM tbl_encode_transmittal en
LEFT JOIN tbl_vendor vendor ON vendor.'vendor_id' = en.vendor_id
LEFT JOIN tbl_doctype doctype ON doctype.'doc_id' = en.doctype_id
LEFT JOIN tbl_userlist userlist ON userlist.userid = en.sender_id
LEFT JOIN tbl_userlist userlist1 ON userlist1.userid = en.'receiver_id'
WHERE userlist.userid = '" . $_SESSION['userid'] . "'";
$rs = mysql_query($sql) or die(mysql_error());
while($row = mysql_fetch_array($rs)){
echo "<tr>";
echo "<tbody>";
echo "<td>" . $row['transid'] . "</td>";
echo "<td>" . $row['transdate'] . "</td>";
echo "<td>" . $row['sender_name'] . "</td>";
echo "<td>" . $row['department'] . "</td>";
echo "<td>" . $row['document_num'] . "</td>";
echo "<td>" . $row['document_type'] . "</td>";
echo "<td>" . $row['vendor_name'] . "</td>";
echo "<td>" . $row['remarks'] . "</td>";
} ?>
</tbody>
</tr>
</table>
Ваш запрос sql в порядке. Я думаю, что проблема заключается в синтаксисе php.
Здесь код:
$qry = "SELECT en.'transid', en.'transdate',
CONCAT(userlist.lname, ', ', userlist.fname, ' ', userlist.mname) AS sender_name,
CONCAT(userlist1.lname, ', ', userlist1.'fname', ' ', userlist1.'mname') AS receiver_name,
en.'document_number', doctype.'document_type', vendor.'vendor_name', acknowledge.'status_id'
FROM 'tbl_encode_transmittal' en
LEFT JOIN 'tbl_acknowledgetransmittal' acknowledge ON en.'transid' = acknowledge.'transid'
LEFT JOIN tbl_userlist userlist ON userlist.userid = en.sender_id
LEFT JOIN tbl_userlist userlist1 ON userlist1.userid = en.'receiver_id'
LEFT JOIN 'tbl_doctype' doctype ON doctype.'doc_id' = en.'doctype_id'
LEFT JOIN tbl_vendor vendor ON vendor.'vendor_id' = en.vendor_id
WHERE userlist1.userid = '" . $_SESSION['userid'] . "'";
$res = mysql_query($qry) or die(mysql_error());
echo "<table>";
echo "<tbody>";
while($row = mysql_fetch_array($res)){
echo "<tr>";
echo "<td>" . $row['transid'] . "</td>";
echo "<td>" . $row['transdate'] . "</td>";
echo "<td>" . $row['sender_name'] . "</td>";
echo "<td>" . $row['receiver_name'] . "</td>";
echo "<td>" . $row['document_number'] . "</td>";
echo "<td>" . $row['document_type'] . "</td>";
echo "<td>" . $row['vendor_name'] . "</td>";
echo "<td>" . $row['status'] . "</td>";
echo "</tr>";
}
echo "</tbody>";
echo "<table>";
Удалить ";
которые появляются до того, когда условие, в конце концов, останется соединением, может вызвать проблему.
$qry = "SELECT en.'transid', en.'transdate',
CONCAT(userlist.lname, ', ', userlist.fname, ' ', userlist.mname) AS sender_name,
CONCAT(userlist1.lname, ', ', userlist1.'fname', ' ', userlist1.'mname') AS receiver_name,
en.'document_number', doctype.'document_type', vendor.'vendor_name', acknowledge.'status_id'
FROM 'tbl_encode_transmittal' en
LEFT JOIN 'tbl_acknowledgetransmittal' acknowledge ON en.'transid' = acknowledge.'transid'
LEFT JOIN tbl_userlist userlist ON userlist.userid = en.sender_id
LEFT JOIN tbl_userlist userlist1 ON userlist1.userid = en.'receiver_id'
LEFT JOIN 'tbl_doctype' doctype ON doctype.'doc_id' = en.'doctype_id'
LEFT JOIN tbl_vendor vendor ON vendor.'vendor_id' = en.vendor_id
WHERE userlist.userid = '" . $_SESSION['userid'] . "'";
Измените это первое echo <tr>
перед циклом while:
echo "<table>";
Затем после цикла while добавьте:
echo "</table>";
$_SESSION['userid']
, какие-либо транзакции? В любом случае, я только что заметил, что вы хотите показать полученные транзакции только верно? Если это так, заменитеWHERE userlist.userid = '" . $_SESSION['userid'] . "'
WHERE userlist1.userid = '" . $_SESSION['userid'] . "'