这是这笔交易。我是PHP,MySQL和HTML的初学者。我想复制数据库字段的一部分并将其插入到html dinamic表中(通过dinamic我的意思是行数的增长取决于数据库表中的行数)。假设我已经限制了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
function table_view(){
include_once 'Connection.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 '<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>';
}
}
}
?>
<!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>
<?php table_view(); ?>
</table>
</body>
</html>