是否可以根据获取的数据更改/添加字体真棒图标?
如果type
为.pdf
,则<i class="fa fa-file-pdf-o">
如果type
为.docx
,则字体为<i class="fa fa-file-word-o"></i>
,它将为 <div class="col-sm-6 col-md-6">
<?php
$sql ="SELECT * FROM lectures WHERE subj_descr = '$subj'";
$result = mysqli_query($con, $sql);
while($row = mysqli_fetch_array($result)){
$file = $row['file'];
$type = $row['type'];
?>
<a style="display:block; margin-top:5px;" href="uploads/<?php echo $file ?>" target="_blank"><i class="fa fa-file-word-o"></i> <?php echo $file; ?></i></a>
<?php
}
?>
</div>
。有人可以给我一些想法吗?我会用什么? Javascript还是PHP?
这是我的一些代码。
{{1}}
答案 0 :(得分:1)
尝试这样的事情:
<?php
if($type = $row['type'] == 'pdf') // make <i> tag on behalf of condition
{
echo '<i class="fa fa-file-pdf-o">'. your text here .'</i>';
}
else if($type = $row['type'] == 'txt')
{
echo '<i class="fa fa-file-word-o">'. your text here .'</i>';
}
?>
答案 1 :(得分:1)
首先,最佳做法是将您的演示文稿与逻辑分开。在HTML中间有一个mysql查询,这不是一个好主意。而是将您的查询放在HTML之前,并在HTML中循环结果。
在你的HTML之前加上这样的东西:
"./hello"
然后在结果中的HTML循环中:
$files = [];
while($row = mysqli_fetch_array($result)){
$file['filename'] = $row['file'];
$file['type'] = $row['type'];
switch($file['type']) {
case 'pdf':
$file['fa'] = 'fa-file-pdf-o';
break;
case 'docx':
case 'doc':
$file['fa'] = 'fa-file-word-o';
break;
default:
throw new Exception('Invalid file type'); // Handle this how you want
}
$files[] = $file;
}
答案 2 :(得分:1)
您也可以在这里使用开关。
switch(strtolower($row['type'])){
case 'pdf':
$icon = "fa-file-pdf-o";
break;
default:
$icon = "fa-file-word-o";
break;
}
echo "<i class='fa ". $icon ."'>". your text here ."</i>";
注意:您也可以对文本使用变量值。然后哪个也会进入开关盒。
答案 3 :(得分:1)
你也可以这样做。在html中输入更少的代码。
<?php
$row['type']=='pdf'?'pdf':'txt';
?>
<i class="fa fa-file-<?=$row['type']?>-o"></i>;
答案 4 :(得分:1)
将以下功能添加到您的页面。如果您需要添加其他文件类型/图标,可以在"new_file_type" => "fa-icon-name"
中的数组$ fa中添加更多元素。只是不要忘记逗号。 Arrays
<?php
function getFa($type){
$fa = array(
"pdf" => "fa-file-pdf-o",
"docx" => "fa-file-word-o"
);
return isset($fa[$type]) ? $fa[$type] : '';
}
?>
然后在HTML中可以像这样使用:
<i class="fa <?php echo getFa($type); ?>"></i> <?php echo $file; ?></i>
该函数不是必需的,但如果$ type变量为空或文件类型未包含在数组中,它将防止错误。
如果你确定文件类型将始终存在并且它将在数组中关联一个元素,也可以只创建一个数组并从代码中调用它。
示例:
<?php
$fa = array(
"pdf" => "fa-file-pdf-o",
"docx" => "fa-file-word-o"
);
?>
在HTML中:
<i class="fa <?php echo $fa[$type]; ?>"></i> <?php echo $file; ?></i>