在控制器中循环图像
Loop image in controller
我在控制器中的代码:
public function image_item_name($inc)
{
if(isset($_POST['inc'])) {
$inc = $_POST['inc'];
$i = DB::select("SELECT file_name FROM tbl_image_item_name WHERE inc = '$inc';");
foreach ($i as $a){
echo '<img src="../../{{ $a[0]->file_name }}">';
}
}else {
echo "Access Denied";
}
问题:
我无法从数据库中循环图像,请帮助我。
尝试
$images = DB::table('tbl_image_item_name')->where('inc', $inc)->get();
foreach ($images as $image){
echo '<img src="../{{ $image->file_name }}">';
}
或eloquent方式
$images = YourModelName::where('inc', $inc)->get();
您的代码中存在一些问题
- 你的查询是正确的,但你不需要访问 $a[0] 你已经检索了一个对象列表,每个对象都有一个 'file_name' 作为一个 属性 所以直接访问它$a->file_name .
- {{ }} 是为 blade 模板引擎设计的语法(即 .blade.php 文件)你不能在普通的 .php 文件中使用它们 .
- 在 laravel 中编码时坚持使用 laravel 方式,不要在使用 'request()' 时使用本地全局 php 变量作为 $_GET 和 $_POST帮手 .
您的查询很容易受到 SQL 注入,因此 不要 使用原始 SQL 查询,除非您使用准备好的查询包围它们声明 .
public function image_item_name($inc)
{
if(isset(request('inc'))) {
$inc = request('inc');
$i = DB::select("SELECT file_name FROM tbl_image_item_name WHERE inc = ?;",[$inc]);
foreach ($i as $a){
echo '<img src="../../'.$a->file_name.'">';
}
}
else {
echo "Access Denied";
}
我在控制器中的代码:
public function image_item_name($inc)
{
if(isset($_POST['inc'])) {
$inc = $_POST['inc'];
$i = DB::select("SELECT file_name FROM tbl_image_item_name WHERE inc = '$inc';");
foreach ($i as $a){
echo '<img src="../../{{ $a[0]->file_name }}">';
}
}else {
echo "Access Denied";
}
问题: 我无法从数据库中循环图像,请帮助我。
尝试
$images = DB::table('tbl_image_item_name')->where('inc', $inc)->get();
foreach ($images as $image){
echo '<img src="../{{ $image->file_name }}">';
}
或eloquent方式
$images = YourModelName::where('inc', $inc)->get();
您的代码中存在一些问题
- 你的查询是正确的,但你不需要访问 $a[0] 你已经检索了一个对象列表,每个对象都有一个 'file_name' 作为一个 属性 所以直接访问它$a->file_name .
- {{ }} 是为 blade 模板引擎设计的语法(即 .blade.php 文件)你不能在普通的 .php 文件中使用它们 .
- 在 laravel 中编码时坚持使用 laravel 方式,不要在使用 'request()' 时使用本地全局 php 变量作为 $_GET 和 $_POST帮手 .
您的查询很容易受到 SQL 注入,因此 不要 使用原始 SQL 查询,除非您使用准备好的查询包围它们声明 .
public function image_item_name($inc) { if(isset(request('inc'))) { $inc = request('inc'); $i = DB::select("SELECT file_name FROM tbl_image_item_name WHERE inc = ?;",[$inc]); foreach ($i as $a){ echo '<img src="../../'.$a->file_name.'">'; } } else { echo "Access Denied"; }