我想复制数据库字段的一部分并将其插入到 html 动态表中(动态我的意思是行数的增长取决于数据库表中的行数)。 假设我已经将要在其中插入数据的 html 表格中的单元格宽度限制为一定的宽度百分比。 问题出在复制上。我怎样才能复制必要数量的符号,这样它就不会使我的单元格变高,而只会保持等于一行的高度?在复制之前,我想确保行尾有“...”,就在我剪切文本的地方。 一个重要的细节。我在这里同时使用俄语和英语。 我的包含文本的数据库字段具有“utf8-general-ci”排序规则。但是我已经使用 mysqli_set_charset 并在将数据输入我的数据库时设置 cp1251,在从中读取数据时使用 utf8 设置 mysqli_set_charset。
这是我试图将数据读入 html 表的 php 文件。希望你能帮我。特别是编码问题。当前的php文件在行尾做了一个�号,很麻烦。
<?php
include_once 'Connection.php';
?>
<!DOCTYPE html>
<html>
<head>
<title></title>
<style>
table, th {
border: 1px solid black;
}
</style>
</head>
<body>
<h1 style="Text-align: center;">Существующие работы </h1><br><br><br>
<table style="width:100%">
<tr>
<th style="width:13%">Работодатель</th>
<th>Описание работы</th>
<th style="width:8%">Оплата</th>
<th style="width:8%">Количество людей</th>
<th style="width:10%">Срочность</th>
<th style="width:8%">Сложность</th>
</tr>
</table>
<?php
$sql = "SELECT * FROM request_data;";
$conn = Connect();
mysqli_set_charset($conn,'utf8');
$result = mysqli_query($conn, $sql);
$resultCheck = mysqli_num_rows($result);
if ($resultCheck > 0) {
while ($row = mysqli_fetch_assoc($result)) {
echo '<table style = "width:100%">
<tr>
<th style="width:13%">'.$row['ID'].'</th>
<th>'.substr($row['The_Job'],0,145).'...'.'</th>
<th style="width:8%">'.$row['Paymentfro'].'-'.$row['Paymentto'].'</th>
<th style="width:8%">'.$row['Amount'].'</th>
<th style="width:10%">'.$row['Urgency'].'</th>
<th style="width:8%">'.$row['Difficulty'].'</th>
</tr>
</table>';
}
}
?>
</body>
</html>
最佳答案
这将通过 css 实现(不需要 substr
也不需要 mb_substr
,让 css 添加省略号)。
对于第二个 td
,您添加一个 class
定义为:
<style>
.job-detail {
width: 53%; /* change this to the width you need */
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
</style>
当该单元格超出范围时,将执行自动省略。
然后在你的td
上设置类:
while ($row = mysqli_fetch_assoc($result)) {
echo '<tr>
<td style="width:13%">'. $row['ID'] .'</td>
<td class="job-detail">'. $row['The_Job'] .'</td>
<td style="width:8%">'. $row['Paymentfro'] .'-'.$row['Paymentto'].'</td>
<td style="width:8%">'. $row['Amount'] .'</td>
<td style="width:10%">'. $row['Urgency'] .'</td>
<td style="width:8%">'. $row['Difficulty'] .'</td>
</tr>';
}
注意你关于编码的第二个问题应该作为第二个问题,因为它与你的第一个问题完全无关。
关于php - 一个数据库。一个领域。一个 html 动态表。无法提取有限数量的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49116161/