Изображение петли в контроллере - PullRequest
0 голосов
/ 18 мая 2018

МОЙ КОД В КОНТРОЛЛЕРЕ:

 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";
    }

Проблема: я не могу зациклить изображение из базы данных, пожалуйста, помогите мне.

Ответы [ 2 ]

0 голосов
/ 18 мая 2018

В вашем коде есть некоторые проблемы

  1. Ваш запрос верен, но вам не нужно обращаться к $ a [0]. Вы получили список объектов, каждый объект с именем «file_name» в видесвойство, поэтому обращайтесь к нему напрямую через $ a-> file_name.
  2. {{}} - это синтаксис, разработанный для движка шаблонов блейдов (т. е. файлов .blade.php), который вы не можете использовать в обычных .phpфайлы.
  3. При кодировании в laravel придерживайтесь laravel способом, не используйте собственные глобальные переменные php как $ _GET и $ _POST, пока у вас есть помощник 'request ()'.
  4. Ваш запрос подвергается воздействию 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";
     }
    
0 голосов
/ 18 мая 2018

попробуй

$images = DB::table('tbl_image_item_name')->where('inc', $inc)->get();

foreach ($images as $image){ 

          echo '<img src="../{{ $image->file_name }}">';

        }

или красноречивым способом

$images = YourModelName::where('inc', $inc)->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...