<html>
<style>
table {
border-collapse: collapse;
}
table,th,td{
border: 1px solid black;
border-collapse: collapse;
}
tr:hover {background-color: #f5f5f5}
th,tr {
text-align: center;
}
table {
margin-left: auto;
margin-right: auto;
width: 75%;
}
th, td {
padding: 15px;
}
</style>
</html>
<?php
include 'dbLink.php';
include 'navi.php';
$sql = "SELECT * FROM employee";
$query = "SELECT * FROM employeerole ORDER BY role_id";
$result = mysqli_query($link, $sql);
$result1 = mysqli_query($link, $query);
$rowcount = mysqli_num_rows($result);
if ($rowcount > 0)
{?>
Как мне ввести выпадающий список и ссылку на изображение в каждой строке таблицы? Кроме того, когда я запускаю эту страницу, в таблице отражаются только данные в первой строке. Остальные данные отсутствуют в таблице. Какие-нибудь исправления?
<table>
<tr>
<th>Employee ID</th>
<th>First name</th>
<th>Last Name</th>
<th>Username</th>
<th>Employee Role</th>
<th>Edit role</th>
<th>Delete User</th>
</tr>
<?php
while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC))
{?>
<tr>
<td><?php echo $row["id"];?></td>
<td><?php echo $row["first_name"];?></td>
<td><?php echo $row["last_name"];?></td>
<td><?php echo $row["username"];?></td>
<td><?php echo $row["role"];?></td>
<td>//dropdwon list with data from employeerole table</td>
<td>//image link</td>
</tr>
</table>
<?php}?>
<?php
}
}
else
{
echo "0 results";
}
?>
Скриншот
Вы смешали Object Oriented Style
& Procedural Style
для написания запроса. Так что будьте внимательны Объектно-ориентированный или же Процессуальный путь написания запроса.
Я написал код для вас в обоих направлениях. Преуспевать.
1) Объектно-ориентированный стиль
dbLink.php
<?
$link = new mysqli("localhost", "my_user", "my_password", "world");
?>
Отредактированный код
$sql = "SELECT * FROM employee";
$query = "SELECT * FROM employeerole ORDER BY role_id";
$result = $link->query($sql);
$result1 = $link->query($query);
$rowcount = $result->num_rows;
if ($rowcount > 0)
{?>
<table>
<tr>
<th>Employee ID</th>
<th>First name</th>
<th>Last Name</th>
<th>Username</th>
<th>Employee Role</th>
<th>Edit role</th>
<th>Delete User</th>
</tr>
<?php
while ($row = $result->fetch_array(MYSQLI_ASSOC))
{?>
<tr>
<td><?php echo $row["id"];?></td>
<td><?php echo $row["first_name"];?></td>
<td><?php echo $row["last_name"];?></td>
<td><?php echo $row["username"];?></td>
<td><?php echo $row["role"];?></td>
<td></td>
<td></td>
</tr>
<?php}?>
</table>
<?php }
else
{
echo "0 results";
}
?>
2) Процедурный стиль
dbLink.php
<?
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
?>
Отредактированный код
$sql = "SELECT * FROM employee";
$query = "SELECT * FROM employeerole ORDER BY role_id";
$result = mysqli_query($link, $sql);
$result1 = mysqli_query($link, $query);
$rowcount = mysqli_num_rows($result);
if ($rowcount > 0)
{?>
<table>
<tr>
<th>Employee ID</th>
<th>First name</th>
<th>Last Name</th>
<th>Username</th>
<th>Employee Role</th>
<th>Edit role</th>
<th>Delete User</th>
</tr>
<?php
while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC))
{?>
<tr>
<td><?php echo $row["id"];?></td>
<td><?php echo $row["first_name"];?></td>
<td><?php echo $row["last_name"];?></td>
<td><?php echo $row["username"];?></td>
<td><?php echo $row["role"];?></td>
<td></td>
<td></td>
</tr>
<?php }?>
</table>
<?php }
else
{
echo "0 results";
}
?>
Требование пользователя: обновленный код
<?
$result = mysqli_query($link, $sql);
$result1 = mysqli_query($link, $query);
$rowcount = mysqli_num_rows($result);
if ($rowcount > 0)
{?>
<table>
<tr>
<th>Employee ID</th>
<th>First name</th>
<th>Last Name</th>
<th>Username</th>
<th>Employee Role</th>
<th>Edit role</th>
<th>Delete User</th>
</tr>
<?php
while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC))
{?>
<tr>
<td><?php echo $row["id"];?></td>
<td><?php echo $row["first_name"];?></td>
<td><?php echo $row["last_name"];?></td>
<td><?php echo $row["username"];?></td>
<td><?php echo $row["role"];?></td>
<td>//dropdwon list with data from employeerole table</td>
<td>//image link</td>
</tr>
<?php }?>
</table>
<?php
} else {
echo "0 results";
}
?>
Других решений пока нет …