【问题标题】:display elements from db显示来自 db 的元素
【发布时间】:2016-03-04 18:17:24
【问题描述】:

为了创建分页,我必须将图像的所有路径存储在数据库中。我创建了我的数据库如下:

id(auto increment) int250
name varchar 250
link text
type varchar(250)
category int(50)

此时名称和类型不太相关。 我想弄清楚如何显示我的数据库中的元素。为了使它更容易(还不确定路径),我在链接列中存储了一个 http 图像。 如果我 vardump 它,我会用一个数组得到所有东西。 我的代码:

<?php
if (DB::connection()->getDatabaseName()) {
$pics = DB::table('pictures')
->orderBy('id', 'desc')
->get();
 var_dump($pics);
 }

?>

My result:


array(3) { [0]=> object(stdClass)#182 (5) { ["id"]=> int(3) ["name"]=> string(1) "2" ["link"]=> string(66) "http://www.planwallpaper.com/static/images/canberra_hero_image.jpg" ["type"]=> string(3) "pic" ["category"]=> int(1) } [1]=> object(stdClass)#183 (5) { ["id"]=> int(2) ["name"]=> string(1) "2" ["link"]=> string(66) "http://www.planwallpaper.com/static/images/canberra_hero_image.jpg" ["type"]=> string(3) "pic" ["category"]=> int(1) } [2]=> object(stdClass)#184 (5) { ["id"]=> int(1) ["name"]=> string(4) "test" ["link"]=> string(66) "http://www.planwallpaper.com/static/images/canberra_hero_image.jpg" ["type"]=> string(5) "test1" ["category"]=> int(1) } } 

如何让图片显示为图片?

对不起,我是编程的初学者,正在努力学习。 我正在努力完成这项工作,因为我完成了一个网站,并且所有图片都是硬编码的。现在我必须实现分页,为了做到这一点,最好的方法是存储图像链接,并以限制 10 显示它们;例如。

任何帮助都会很棒!

编辑: 控制器:

    <?php

namespace App\Http\Controllers;

use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;

abstract class Controller extends BaseController
{
    use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
}

【问题讨论】:

  • 我也觉得应该是这样的:echo " link."'>";
  • 由于您使用的是 Laravel,您可以使用 Blade template 来显示图片。你可能已经知道了,但是pagination is built in. 如果我没记错的话,你应该可以使用paginate(10) 而不是get()
  • 是的,你是对的@Don'tPanic :)
  • 好的,但是如何显示链接?!这是行不通的。 PS,我将链接存储在链接列中。如果我可以显示所有元素并添加分页,那就太好了。
  • 你能在你的问题中添加这个吗?

标签: php mysql arrays laravel


【解决方案1】:

如果您使用 laravel,请在您从控制器使用的方法中添加此代码

    $pictures = Picture::paginate(20);

    return view('view_name', ['pictures' => $pictures]);

然后在你的视图中添加

@foreach ($pictures as $pic)
   <img src="{{$pic->link}}" />
@endforeach

【讨论】:

    【解决方案2】:
    foreach($pics as $pica){
    if($pica->type!=='pic'){continue;/*not a pic.. ignore?*/}
    echo '<img src="'.htmlentities($pica->link, ENT_QUOTES | ENT_HTML401 | ENT_SUBSTITUTE | ENT_DISALLOWED, 'UTF-8', true).'" />';
    
    }
    

    【讨论】:

    • 这行得通。如果我在数据库中使用指向路径的链接怎么办?这将解决我的问题!
    猜你喜欢
    相关资源
    最近更新 更多
    热门标签