我试图在我的表中使用变量公司为每个公司分别设置表格,但我的循环似乎没有循环。
要彻底解释代码,请查询db表客户中列出的所有公司,然后查询租赁表以为每个公司创建表。它应该使用第一个查询中公司名称的值来输出另一个查询中的表。
我试图找出我的循环出错的地方,但它仍然无法解决。 另外要考虑到的是,我在db中的至少一个公司名称中有一个',因此它使用了真正的转义字符串函数或类似的东西。
不确定这是一个关于使用不同的sql api的问题,我只是试图让这个循环去。
session_start();
?>
<?php
if (!(isset($_SESSION['login']) && $_SESSION['login'] != '')) {
header ("Location: home.php");
}
?>
<http>
<head>
<title>All rentals</title>
<link rel="stylesheet" type="text/css" href="style.css" />
<?php require_once("dbstart.php"); ?>
</head>
<body>
<div id="main">
<a href= "home.php">Home</a>
<?php
$sqlc="SELECT company FROM customer WHERE company IS NOT NULL;";
$result=mysqli_query($conn, $sqlc);
$answer= mysqli_num_rows($result);
//echo $answer;
while($result=mysqli_fetch_assoc($result)){
$counts=mysqli_real_escape_string($conn, $result['company']);
echo"<h1>"; echo $counts; echo"</h1>";
$sql="SELECT customer.firstname, customer.lastname, customer.email, rental.startdate,rental.enddate, rental.cost
FROM customer JOIN rental ON customer.customerId =rental.customerId WHERE company = '$counts' ORDER BY lastname;";
$result = mysqli_query($conn, $sql) or die(mysqli_error($conn));
if (mysqli_num_rows($result) > 0) {
echo"<p>";
echo("<table border=1 class='tableing'>");
echo("<tr><th>Start Date</th><th>End date</th><th>Email</th><th>First Name</th><th>Last Name</th>
<th>Cost</th></tr>");
while($row = mysqli_fetch_assoc($result)) {
echo("<tr>");
echo
"<td>" . $row['lastname'] . "</td>"
."<td>" . $row['firstname'] . "</td>"
."<td>" . $row['email'] . "</td>"
."<td>" . date("m/d/Y", strtotime($row['startdate'])) . "</td>"
."<td>" . date("m/d/Y", strtotime($row['enddate'])) . "</td>"
."<td>" .$row['cost'] . "</td>";
echo "</tr>";
}
echo "</table>";
echo"</p>";
}
else {error_log("error!", 0);
echo "0 results";
}
}
?>
</div>
</body>
</html>