Как получить изображения, которые хранятся в формате с разделителями запятыми в одной строке в MySQL? - PullRequest
0 голосов
/ 07 мая 2018

Я загружаю несколько изображений в базу данных в одном столбце в формате через запятую. Сначала я создаю папку для каждого пользователя, и внутри этой папки хранятся изображения. car_images - это мой корневой каталог внутри с именем logged_in, который создаст новый пользовательский каталог.

Мои изображения хранятся в следующем формате: enter image description here

Здесь emp_code является уникальным, я использую это как СЕССИЯ и для имени папки каждого пользователя. как вы видите car_images столбец, где я сохраняю имя изображения с ,. Я использую приведенный ниже код для хранения изображений в папках и базе данных. Я не знаю, как получить все изображения одного пользователя.

$car_images_all="";
        for($i=0; $i<count($_FILES['car_images']['name']); $i++) 
        {
           $tmpFilePath = $_FILES['car_images']['tmp_name'][$i];    
           if ($tmpFilePath != "")
            {    
                if (!file_exists('car_images/'.$emp_code)) 
                    {
                        mkdir('car_images/'.$emp_code, 0777, true);
                    }
                $location = 'car_images/'.$emp_code.'/';
               $name = $_FILES['car_images']['name'][$i];
               $size = $_FILES['car_images']['size'][$i];

               list($txt, $ext) = explode(".", $name);
               $file= time().substr(str_replace(" ", "_", $txt), 0);
               $info = pathinfo($file);
               $filename = $file.".".$ext;
               if(move_uploaded_file($_FILES['car_images']['tmp_name'][$i], $location.$filename)) 
               { 
                  $car_images_all.=$filename.",";
               }
            }
        }

Ответы [ 4 ]

0 голосов
/ 23 ноября 2018
 <?php 
 $x=0;                                                
 $car_img =explode(",",$car_images);
 foreach($car_img as $car_images{                                                  
 $x+=1;0
 ?>                                                 
 <?php   echo '<img src="'."images/".$car_images.'" width="70" height="70" />';?>      
0 голосов
/ 07 мая 2018

Код ниже будет извлекать данные из таблицы и сохранять изображения в массиве.Для более подробной информации проверьте функцию разнесения.

$query = "select car_images from table_name where emp_code = 'emp_code'";
$result = mysqli_query($connection,$query);
$row = mysqli_fetch_assoc($result);
$images = $row['car_images'];
$images = explode(',',$images);
foreach($images AS $image){
    echo '<img src="car_images/'.$emp_code.'/'.$image.'">';
}
0 голосов
/ 07 мая 2018

Вы можете использовать GROUP_CONCAT() функцию

SELECT GROUP_CONCAT(car_images) FROM TableName

Вы также можете использовать группирование с помощью emp_code или brand_id или любого другого столбца независимо от того, соответствует ли ваша бизнес-логика.

SELECT GROUP_CONCAT(car_images) FROM TableName GROUP BY emp_code

OR

SELECT GROUP_CONCAT(car_images) FROM TableName GROUP BY brand_id
0 голосов
/ 07 мая 2018

Прежде всего, выберите все изображения из базы данных с помощью emp_code (как вы хотите, чтобы все изображения конкретного пользователя / emp).

select car_images from TableName where emp_code = $emp_code;

Теперь, таким образом, вы получите одну или несколько строк.Таким образом, добавьте одно за другим изображения в массив с помощью функции explode () для каждой строки (т. Е. Если в строке несколько имен изображений с разделением запятыми).Используйте массив согласно вашему выбору манипуляций.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...