За последние 24 часа нас посетили 35886 программистов и 1745 роботов. Сейчас ищут 1353 программиста ...

Картинки из бд

Тема в разделе "PHP для новичков", создана пользователем Анатолий1944, 17 фев 2017.

  1. Анатолий1944

    Анатолий1944 Новичок

    С нами с:
    14 фев 2017
    Сообщения:
    30
    Симпатии:
    2
    Всем привет,
    Вывод картинок для статей осуществляется с помощью такой конструкции:
    PHP:
    1. <img src="/static/images/<?php echo $art ['image']; ?>" class="articles_image">
    <?php echo $art ['image']; ?> - Сюда подставляется значение поля "image" из базы данных.
    За вывод статьи отвечает один файл.
    Вопрос:
    Если мне потребуется отображение нескольких разных картинок в статье, как быть?
    Можете посоветовать решение ?
     
  2. ZlobnyKolob

    ZlobnyKolob Активный пользователь

    С нами с:
    25 окт 2016
    Сообщения:
    184
    Симпатии:
    10
    PHP:
    1.     <?php
    2.         $QueryProductImages = mysql_query("SELECT * FROM products_images WHERE products_images.id_product='$id_product'");
    3.         $ArrayProductImages = mysql_fetch_array($QueryProductImages);
    4.        
    5.         do {
    6.             echo "<img src='".$ArrayProductImages['image_way']."' width='auto' height='256' />";  
    7.            
    8.            
    9.         } while ($ArrayProductImages = mysql_fetch_array($QueryProductImages))
    10.    
    11.    
    12.     ?>
    держите
     
  3. Анатолий1944

    Анатолий1944 Новичок

    С нами с:
    14 фев 2017
    Сообщения:
    30
    Симпатии:
    2
    Спасибо,
    Но я новичок, кто может подсказать инструкцию пошаговых действий ?
    1.Нужно создать таблицу products_images в бд, сколько там столбцов делать и каких ? )))
    2. ???

    Извините :))
     
  4. ZlobnyKolob

    ZlobnyKolob Активный пользователь

    С нами с:
    25 окт 2016
    Сообщения:
    184
    Симпатии:
    10
    Статьи у Вас из БД ?
     
  5. Анатолий1944

    Анатолий1944 Новичок

    С нами с:
    14 фев 2017
    Сообщения:
    30
    Симпатии:
    2
    Да, статьи из БД
    --- Добавлено ---
    если что вот код файла, который отвечает за вывод статьи:
    http://codepen.io/anon/pen/rjgNNP
     
  6. ZlobnyKolob

    ZlobnyKolob Активный пользователь

    С нами с:
    25 окт 2016
    Сообщения:
    184
    Симпатии:
    10
    У каждой статьи есть свой ИД -

    Теперь делаем таблицу В БД с картинками для статей
    Поля:
    ИД картинки
    ИД статьи
    путь к картинке
    и ещё какие Вам необходимы,

    Заполняете таблицу картинками для статей и выводим вышевыложенным методом)
     
  7. Анатолий1944

    Анатолий1944 Новичок

    С нами с:
    14 фев 2017
    Сообщения:
    30
    Симпатии:
    2
    1)Создал таблицу с именем: products_images
    Создал 3 поля
    1.id
    2.id_product
    3.image_way

    В первое поле внёс значение: 1
    Во второе внёс: id статьи, в которую хочу вставить картинку
    В третье внёс: путь к картинке

    2)Скопировал ваш код в свой файл вывода статей.

    Но ничего не получилось, вывелась только ошибка.

    Код файла вывода статей:
    Где вывод картинки - я добавил комментарий
    PHP:
    1. <?php
    2. require "/includes/config.php";
    3.  
    4. $article = mysqli_query($connection, "SELECT * FROM `articles` WHERE `id` = " . (int) $_GET['id']);
    5. $art = mysqli_fetch_assoc($article);
    6. ?>
    7.   <!DOCTYPE html>
    8.   <html lang="en">
    9.  
    10.   <head>
    11.     <meta charset="UTF-8">
    12.     <title><? echo $art ['title']; //достаём из массива заголовок?></title>
    13.     <meta name="description" content="<? echo $art ['description']; //достаём из массива заголовок?> ">
    14.     <meta name="keywords" сontent="<? echo $art ['keywords']; //достаём из массива заголовок?> ">
    15.  
    16.     <!-- Google Fonts -->
    17.     <link href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700" rel="stylesheet">
    18.     <link href="https://fonts.googleapis.com/css?family=Open+Sans" rel="stylesheet">
    19.  
    20.     <!-- Custom -->
    21.     <link rel="stylesheet" type="text/css" href="/media/css/style.css">
    22.     <link rel="stylesheet" type="text/css" href="/media/css/ino/vipadayushiy_spisok_2.css">
    23.  
    24.   </head>
    25.  
    26.   <body>
    27.  
    28.     <div id="wrapper">
    29.  
    30.       <!-- HEADER - главное меню  -->
    31.       <?php include "/includes/header.php"; ?>
    32.       <?php include "includes/navigator.php"; ?>
    33.    
    34.    
    35.    
    36.    
    37.             <div class="block">
    38.          
    39.    
    40.    
    41.       <?php
    42.  
    43.     if( mysqli_num_rows($article) <= 0 )
    44.     {
    45.         ?>
    46.         <div id="content">
    47.           <div class="container">
    48.             <div class="row">
    49.               <section class="content__left col-md-8">
    50.                 <div class="block">
    51.  
    52.                   <h3>Статья не найдена</h3>
    53.                   <div class="block__content">
    54.                     <div class="full-text">
    55.                       Запрашиваемая статья не найдена!
    56.                     </div>
    57.                   </div>
    58.                 </div>
    59.  
    60.               </section>
    61.               <section class="content__right col-md-4">
    62.                 <?php include "/includes/sidebar.php"; ?>
    63.               </section>
    64.             </div>
    65.           </div>
    66.         </div>
    67.         <?php
    68.     } else
    69.     {
    70.      
    71.         mysqli_query($connection, "UPDATE `articles` SET `views` = `views` + 1 WHERE `id` = " . (int) $art['id']);
    72.         ?>
    73.           <div id="content">
    74.             <div class="container">
    75.               <div class="row">
    76.                 <section class="content__left col-md-8">
    77.                   <div class="block">
    78.  
    79.                     <h1 style="font-size:20px;"><?echo $art ['title']; ?></h1>
    80.                     <div class="block__content">
    81.                  
    82.                  
    83.                  
    84.                  
    85.                     <!-- ВЫВОД КАРТИНКИ --><!-- ВЫВОД КАРТИНКИ --><!-- ВЫВОД КАРТИНКИ -->
    86.                  
    87.                     <?php
    88.         $QueryProductImages = mysql_query($connection, "SELECT * FROM products_images WHERE products_images.id_product='$id_product'");
    89.         $ArrayProductImages = mysql_fetch_array($QueryProductImages);
    90.    
    91.         do {
    92.             echo "<img src='".$ArrayProductImages['image_way']."' width='auto' height='256' />";
    93.        
    94.        
    95.         } while ($ArrayProductImages = mysql_fetch_array($QueryProductImages))
    96.  
    97.     ?>
    98.  
    99.                       <br><br>
    100.                    
    101.                       <!-- ВЫВОД ПОЛНОГО ТЕКСТА СТАТЬИ -->
    102.                    
    103.                       <div class="full-text">
    104.                         <?echo $art ['text']; ?>
    105.                       </div>
    106.                     </div>
    107.                   </div>
    108.  
    109.                
    110.                   <?php include "/includes/sidebar.php"; ?>
    111.                 </section>
    112.               </div>
    113.             </div>
    114.           </div>
    115.  
    116.           <?php
    117.     }
    118.     ?>
    119.  
    120.        
    121. </div>
    122.  
    123.   </body>
    124.  
    125.   </html>
    --- Добавлено ---
    Warning: mysql_query() expects parameter 1 to be string, object given in C:\OpenServer\domains\loc.loc\article.php on line 88

    Warning: mysql_fetch_array() expects parameter 1 to be resource, null given in C:\OpenServer\domains\loc.loc\article.php on line 89
    --- Добавлено ---
    Помогите пожалуйста разобраться...
     
  8. ZlobnyKolob

    ZlobnyKolob Активный пользователь

    С нами с:
    25 окт 2016
    Сообщения:
    184
    Симпатии:
    10
    Анатолий, прочитайте внимательно мой пост выше и сделайте как там,а так ошибка у Вас выходит из-за того, что Вы переменной id_product не присвоили значение в коде, но не стоит исправлять, сделайте как описано выше и тогда продолжим
     
  9. Анатолий1944

    Анатолий1944 Новичок

    С нами с:
    14 фев 2017
    Сообщения:
    30
    Симпатии:
    2
    ZlobnyKolob, создал таблицу, поля, заполнил, попытался вывести с помощью вашего кода.
    Что ещё я забыл выполнить из вашей рекомендации ?
    --- Добавлено ---
    87 строка - начинается код вывода картинки.
     
  10. san4ez

    san4ez Активный пользователь

    С нами с:
    13 авг 2016
    Сообщения:
    331
    Симпатии:
    47
    mysqli_query
    --- Добавлено ---
    странно, сначала вы используйте mysqli а с вывода начинаете mysql, зачем?))
    --- Добавлено ---
    аа.. понятно.... вам написали такой код... но вы добавили $connection и забыли исправить на mysqli
     
  11. Анатолий1944

    Анатолий1944 Новичок

    С нами с:
    14 фев 2017
    Сообщения:
    30
    Симпатии:
    2
    san4ez
    Спасибо, ошибки уже не выводит, на счёт $connection вы 100% правы)
    Но картинку пока не выводит...
    ZlobnyKolob писал что нужно присвоить значение переменной id_product, на какое именно я не понимаю,
    san4ez, может вы подскажите?)
    --- Добавлено ---
    Обновлённый код, дописал везде к mysql буквачку i
    Код для вывода картинки начинается на 87 строке

    PHP:
    1. <?php
    2. require "/includes/config.php";
    3. // вынес запрос и преобразовкалку сюда, чтобы не делать двойных запросов(ибо уменьшается производиельность)
    4. $article = mysqli_query($connection, "SELECT * FROM `articles` WHERE `id` = " . (int) $_GET['id']);
    5. $art = mysqli_fetch_assoc($article);
    6. ?>
    7.   <!DOCTYPE html>
    8.   <html lang="en">
    9.  
    10.   <head>
    11.     <meta charset="UTF-8">
    12.     <title><? echo $art ['title']; //достаём из массива заголовок?></title>
    13.     <meta name="description" content="<? echo $art ['description']; //достаём из массива заголовок?> ">
    14.     <meta name="keywords" сontent="<? echo $art ['keywords']; //достаём из массива заголовок?> ">
    15.  
    16.     <!-- Google Fonts -->
    17.     <link href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700" rel="stylesheet">
    18.     <link href="https://fonts.googleapis.com/css?family=Open+Sans" rel="stylesheet">
    19.  
    20.     <!-- Custom -->
    21.     <link rel="stylesheet" type="text/css" href="/media/css/style.css">
    22.     <link rel="stylesheet" type="text/css" href="/media/css/ino/vipadayushiy_spisok_2.css">
    23.  
    24.   </head>
    25.  
    26.   <body>
    27.  
    28.     <div id="wrapper">
    29.  
    30.       <!-- HEADER - главное меню  -->
    31.       <?php include "/includes/header.php"; ?>
    32.       <?php include "includes/navigator.php"; ?>
    33.    
    34.    
    35.    
    36.    
    37.             <div class="block">
    38.          
    39.    
    40.    
    41.       <?php
    42.  
    43.     if( mysqli_num_rows($article) <= 0 )
    44.     {
    45.         ?>
    46.         <div id="content">
    47.           <div class="container">
    48.             <div class="row">
    49.               <section class="content__left col-md-8">
    50.                 <div class="block">
    51.  
    52.                   <h3>Статья не найдена</h3>
    53.                   <div class="block__content">
    54.                     <div class="full-text">
    55.                       Запрашиваемая статья не найдена!
    56.                     </div>
    57.                   </div>
    58.                 </div>
    59.  
    60.               </section>
    61.               <section class="content__right col-md-4">
    62.                 <?php include "/includes/sidebar.php"; ?>
    63.               </section>
    64.             </div>
    65.           </div>
    66.         </div>
    67.         <?php
    68.     } else
    69.     {
    70.      
    71.         mysqli_query($connection, "UPDATE `articles` SET `views` = `views` + 1 WHERE `id` = " . (int) $art['id']);
    72.         ?>
    73.           <div id="content">
    74.             <div class="container">
    75.               <div class="row">
    76.                 <section class="content__left col-md-8">
    77.                   <div class="block">
    78.  
    79.                     <h1 style="font-size:20px;"><?echo $art ['title']; ?></h1>
    80.                     <div class="block__content">
    81.                  
    82.                  
    83.                  
    84.                  
    85.                     <!-- ВЫВОД КАРТИНКИ --><!-- ВЫВОД КАРТИНКИ --><!-- ВЫВОД КАРТИНКИ -->
    86.                  
    87.                     <?php
    88.         $QueryProductImages = mysqli_query($connection, "SELECT * FROM products_images WHERE products_images.id_product='$id_product'");
    89.         $ArrayProductImages = mysqli_fetch_array($QueryProductImages);
    90.      
    91.         do {
    92.             echo "<img src='".$ArrayProductImages['image_way']."' width='auto' height='256' />";
    93.          
    94.          
    95.         } while ($ArrayProductImages = mysqli_fetch_array($QueryProductImages))
    96.  
    97.     ?>
    98.  
    99.                       <br><br>
    100.                    
    101.                       <!-- ВЫВОД ПОЛНОГО ТЕКСТА СТАТЬИ -->
    102.                    
    103.                       <div class="full-text">
    104.                         <?echo $art ['text']; ?>
    105.                       </div>
    106.                     </div>
    107.                   </div>
    108.  
    109.                  
    110.                   <?php include "/includes/sidebar.php"; ?>
    111.                 </section>
    112.               </div>
    113.             </div>
    114.           </div>
    115.  
    116.           <?php
    117.     }
    118.     ?>
    119. <!-- ПОДВАЛЧИК -->
    120.          
    121. </div>
    122.  
    123.   </body>
    124.  
    125.   </html>
     
  12. Анатолий1944

    Анатолий1944 Новичок

    С нами с:
    14 фев 2017
    Сообщения:
    30
    Симпатии:
    2
    Я добился вывода картинки, но проблема в том, что картинка выводится одна и та же в любую статью которую я открываю.
    Я не понимаю, как сделать чтобы к каждой статье выводилась своя уникальная картинка.

    Весь мой файл, который отвечает за вывод статьи
    Код вывода картинки начинается с 87 строки.

    PHP:
    1. <?php
    2. require "/includes/config.php";
    3.  
    4. $article = mysqli_query($connection, "SELECT * FROM `articles` WHERE `id` = " . (int) $_GET['id']);
    5. $art = mysqli_fetch_assoc($article);
    6. ?>
    7.   <!DOCTYPE html>
    8.   <html lang="en">
    9.  
    10.   <head>
    11.     <meta charset="UTF-8">
    12.     <title><? echo $art ['title']; //достаём из массива заголовок?></title>
    13.     <meta name="description" content="<? echo $art ['description']; //достаём из массива заголовок?> ">
    14.     <meta name="keywords" сontent="<? echo $art ['keywords']; //достаём из массива заголовок?> ">
    15.  
    16.     <!-- Google Fonts -->
    17.     <link href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700" rel="stylesheet">
    18.     <link href="https://fonts.googleapis.com/css?family=Open+Sans" rel="stylesheet">
    19.  
    20.     <!-- Custom -->
    21.     <link rel="stylesheet" type="text/css" href="/media/css/style.css">
    22.     <link rel="stylesheet" type="text/css" href="/media/css/ino/vipadayushiy_spisok_2.css">
    23.  
    24.   </head>
    25.  
    26.   <body>
    27.  
    28.     <div id="wrapper">
    29.  
    30.       <!-- HEADER - главное меню  -->
    31.       <?php include "/includes/header.php"; ?>
    32.       <?php include "includes/navigator.php"; ?>
    33.  
    34.  
    35.  
    36.  
    37.             <div class="block">
    38.        
    39.  
    40.  
    41.       <?php
    42.  
    43.     if( mysqli_num_rows($article) <= 0 )
    44.     {
    45.         ?>
    46.         <div id="content">
    47.           <div class="container">
    48.             <div class="row">
    49.               <section class="content__left col-md-8">
    50.                 <div class="block">
    51.  
    52.                   <h3>Статья не найдена</h3>
    53.                   <div class="block__content">
    54.                     <div class="full-text">
    55.                       Запрашиваемая статья не найдена!
    56.                     </div>
    57.                   </div>
    58.                 </div>
    59.  
    60.               </section>
    61.               <section class="content__right col-md-4">
    62.                 <?php include "/includes/sidebar.php"; ?>
    63.               </section>
    64.             </div>
    65.           </div>
    66.         </div>
    67.         <?php
    68.     } else
    69.     {
    70.    
    71.         mysqli_query($connection, "UPDATE `articles` SET `views` = `views` + 1 WHERE `id` = " . (int) $art['id']);
    72.         ?>
    73.           <div id="content">
    74.             <div class="container">
    75.               <div class="row">
    76.                 <section class="content__left col-md-8">
    77.                   <div class="block">
    78.  
    79.                     <h1 style="font-size:20px;"><?echo $art ['title']; ?></h1>
    80.                     <div class="block__content">
    81.                
    82.                
    83.                
    84.                
    85.                     <!-- ВЫВОД КАРТИНКИ --><!-- ВЫВОД КАРТИНКИ --><!-- ВЫВОД КАРТИНКИ -->
    86.                
    87.                     <?php
    88.          ($QueryProductImages = mysqli_query($connection, "SELECT * FROM products_images WHERE products_images.id_product='17'"));
    89.      
    90.         $ArrayProductImages = mysqli_fetch_array($QueryProductImages);
    91.         do {
    92.             echo "<img src='".$ArrayProductImages['image_way']."' width='auto' height='256' />";
    93.  
    94.  
    95.         } while ($ArrayProductImages = mysqli_fetch_array($QueryProductImages))
    96.        
    97.     ?>
    98.  
    99.                       <br><br>
    100.                  
    101.                  
    102.                  
    103.                       <!-- ВЫВОД ПОЛНОГО ТЕКСТА СТАТЬИ -->
    104.                  
    105.                       <div class="full-text">
    106.                         <?echo $art ['text']; ?>
    107.                       </div>
    108.                     </div>
    109.                   </div>
    110.  
    111.                
    112.                   <?php include "/includes/sidebar.php"; ?>
    113.                 </section>
    114.               </div>
    115.             </div>
    116.           </div>
    117.  
    118.           <?php
    119.     }
    120.     ?>
    121. <!-- ПОДВАЛЧИК -->
    122.        
    123. </div>
    124.  
    125.   </body>
    126.  
    127.   </html>
    --- Добавлено ---
    в бд, в таблице products_images у меня только 3 поля
    1.id
    2.id_product
    3.image_way

    Подскажите, что мне делать дальше ?
     
  13. Анатолий1944

    Анатолий1944 Новичок

    С нами с:
    14 фев 2017
    Сообщения:
    30
    Симпатии:
    2
    Нет но я знаю как сделать вывод своей уникальной картинки в разные статьи, так было в коде у меня изначально.
    Но задача была с самого начала " Как сделать вывод нескольких уникальных картинок к каждой статье"
    Одну я могу выводить, разную к каждой статье.
    Но как выводить 2-3-10 шт разных в каждую статью ?

    Потом мне предложили код, который мне помог другой человек модифицировать, и в итоге только добился того, что выводилась картинка только одна с помощью этого кода, но ко всем статьям. Дальше мне не хотели помогать, типо за деньги только, и я понимаю вас.

    Но может всё таки что-то придумаем, так как денег у меня нет.

    Вообщем вернусь в самое начало, хороший код с выводом одной уникальной картинки в каждую статью вот:
    85 строка - начинается код вывода картинки- и на 85 строке он заканчивается.
    PHP:
    1. <?php
    2. require "/includes/config.php";
    3.  
    4. $article = mysqli_query($connection, "SELECT * FROM `articles` WHERE `id` = " . (int) $_GET['id']);
    5. $art = mysqli_fetch_assoc($article);
    6. ?>
    7.   <!DOCTYPE html>
    8.   <html lang="en">
    9.  
    10.   <head>
    11.     <meta charset="UTF-8">
    12.     <title><? echo $art ['title']; //достаём из массива заголовок?></title>
    13.     <meta name="description" content="<? echo $art ['description']; //достаём из массива заголовок?> ">
    14.     <meta name="keywords" сontent="<? echo $art ['keywords']; //достаём из массива заголовок?> ">
    15.  
    16.     <!-- Google Fonts -->
    17.     <link href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700" rel="stylesheet">
    18.     <link href="https://fonts.googleapis.com/css?family=Open+Sans" rel="stylesheet">
    19.  
    20.     <!-- Custom -->
    21.     <link rel="stylesheet" type="text/css" href="/media/css/style.css">
    22.     <link rel="stylesheet" type="text/css" href="/media/css/ino/vipadayushiy_spisok_2.css">
    23.  
    24.   </head>
    25.  
    26.   <body>
    27.  
    28.     <div id="wrapper">
    29.  
    30.       <!-- HEADER - главное меню  -->
    31.       <?php include "/includes/header.php"; ?>
    32.       <?php include "includes/navigator.php"; ?>
    33.    
    34.    
    35.    
    36.    
    37.             <div class="block">
    38.          
    39.    
    40.    
    41.       <?php
    42.  
    43.     if( mysqli_num_rows($article) <= 0 )
    44.     {
    45.         ?>
    46.         <div id="content">
    47.           <div class="container">
    48.             <div class="row">
    49.               <section class="content__left col-md-8">
    50.                 <div class="block">
    51.  
    52.                   <h3>Статья не найдена</h3>
    53.                   <div class="block__content">
    54.                     <div class="full-text">
    55.                       Запрашиваемая статья не найдена!
    56.                     </div>
    57.                   </div>
    58.                 </div>
    59.  
    60.               </section>
    61.               <section class="content__right col-md-4">
    62.                 <?php include "/includes/sidebar.php"; ?>
    63.               </section>
    64.             </div>
    65.           </div>
    66.         </div>
    67.         <?php
    68.     } else
    69.     {
    70.      
    71.         mysqli_query($connection, "UPDATE `articles` SET `views` = `views` + 1 WHERE `id` = " . (int) $art['id']);
    72.         ?>
    73.           <div id="content">
    74.             <div class="container">
    75.               <div class="row">
    76.                 <section class="content__left col-md-8">
    77.                   <div class="block">
    78.  
    79.                     <h1 style="font-size:20px;"><?echo $art ['title']; ?></h1>
    80.                     <div class="block__content">
    81.                  
    82.                  
    83.                  
    84.                     <!-- ВЫВОД КАРТИНКИ --> <!-- ВЫВОД КАРТИНКИ --> <!-- ВЫВОД КАРТИНКИ -->
    85.                       <img src="/static/images/<?php echo $art ['image']; ?>" class="articles_image">
    86.                       <br><br>
    87.                    
    88.                       <!-- ВЫВОД ПОЛНОГО ТЕКСТА СТАТЬИ -->
    89.                    
    90.                       <div class="full-text">
    91.                         <?echo $art ['text']; ?>
    92.                       </div>
    93.                     </div>
    94.                   </div>
    95.  
    96.                
    97.                   <?php include "/includes/sidebar.php"; ?>
    98.                 </section>
    99.               </div>
    100.             </div>
    101.           </div>
    102.  
    103.           <?php
    104.     }
    105.     ?>
    106. <!-- ПОДВАЛЧИК -->
    107.        
    108. </div>
    109.  
    110.   </body>
    111.  
    112.   </html>
     
  14. san4ez

    san4ez Активный пользователь

    С нами с:
    13 авг 2016
    Сообщения:
    331
    Симпатии:
    47
    в вашем понимании, что означает столбец id_product ?
     
  15. Анатолий1944

    Анатолий1944 Новичок

    С нами с:
    14 фев 2017
    Сообщения:
    30
    Симпатии:
    2
    он делает связь с полем id_product,которое у меня прописано в бд.
    WHERE products_images.id_product='17'" - меняя тут циферку, я могу выводить разные картинки, естественно если предварительно создать эту запись в бд.
     
  16. san4ez

    san4ez Активный пользователь

    С нами с:
    13 авг 2016
    Сообщения:
    331
    Симпатии:
    47
    то есть, он совпадает с id статьи, с id в таблице с articles?
     
  17. Анатолий1944

    Анатолий1944 Новичок

    С нами с:
    14 фев 2017
    Сообщения:
    30
    Симпатии:
    2
    в бд, в таблице products_images у меня только 3 поля
    1.id
    2.id_product
    3.image_way

    Я могу в поле id_product вписать хоть цифру 999, и картинка будет выведена ко всем статьям, при условии если я сделаю запись в поле id_product из БД - тоже 999

    id_product - никак не совпадает с id в таблице articles, или может совпадать, но разницы никакой
     
  18. san4ez

    san4ez Активный пользователь

    С нами с:
    13 авг 2016
    Сообщения:
    331
    Симпатии:
    47
    а теперь перечитайте 6 пост в этой теме
    --- Добавлено ---
    там вполне четко написано
    ИД картинки
    ИД статьи
    путь к картинке
    --- Добавлено ---
    а вот далее id статьи должны совпадать с id в articles
    --- Добавлено ---
    и, так как вы передаете id методом GET, то в 88 строке, запросе к бд, у вас должно быть id_product='".$_GET['id']."'
     
    #18 san4ez, 17 фев 2017
    Последнее редактирование: 17 фев 2017
  19. Анатолий1944

    Анатолий1944 Новичок

    С нами с:
    14 фев 2017
    Сообщения:
    30
    Симпатии:
    2
    Поменял id в таблице products_images в поле id_product, чтобы оно совпадало с полем id статьи в таблице articles , поставил 17.
    Также вписал в строку id_product='".$_GET['id']."'
    Но как я понял что-то с кавычками не так тут : ='".$_GET['id']."', и ломается скрипт, даёт ошибку:
    PHP:
    1. Parse error: syntax error, unexpected T_STRING in C:\OpenServer\domains\loc.loc\article.php on line 93
    Вообщем вот код отвечающий за картинку на данный момент:
    PHP:
    1. <?php
    2. require "/includes/config.php";
    3.  
    4. $article = mysqli_query($connection, "SELECT * FROM `articles` WHERE `id` = " . (int) $_GET['id']);
    5. $art = mysqli_fetch_assoc($article);
    6. ?>
    7.   <!DOCTYPE html>
    8.   <html lang="en">
    9.  
    10.   <head>
    11.     <meta charset="UTF-8">
    12.     <title><? echo $art ['title']; //достаём из массива заголовок?></title>
    13.     <meta name="description" content="<? echo $art ['description']; //достаём из массива заголовок?> ">
    14.     <meta name="keywords" сontent="<? echo $art ['keywords']; //достаём из массива заголовок?> ">
    15.  
    16.     <!-- Google Fonts -->
    17.     <link href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700" rel="stylesheet">
    18.     <link href="https://fonts.googleapis.com/css?family=Open+Sans" rel="stylesheet">
    19.  
    20.     <!-- Custom -->
    21.     <link rel="stylesheet" type="text/css" href="/media/css/style.css">
    22.     <link rel="stylesheet" type="text/css" href="/media/css/ino/vipadayushiy_spisok_2.css">
    23.  
    24.   </head>
    25.  
    26.   <body>
    27.  
    28.     <div id="wrapper">
    29.  
    30.       <!-- HEADER - главное меню  -->
    31.       <?php include "/includes/header.php"; ?>
    32.       <?php include "includes/navigator.php"; ?>
    33.  
    34.  
    35.  
    36.  
    37.             <div class="block">
    38.      
    39.  
    40.  
    41.      <?php
    42.  
    43.     if( mysqli_num_rows($article) <= 0 )
    44.     {
    45.         ?>
    46.         <div id="content">
    47.           <div class="container">
    48.             <div class="row">
    49.               <section class="content__left col-md-8">
    50.                 <div class="block">
    51.  
    52.                   <h3>Статья не найдена</h3>
    53.                   <div class="block__content">
    54.                     <div class="full-text">
    55.                       Запрашиваемая статья не найдена!
    56.                     </div>
    57.                   </div>
    58.                 </div>
    59.  
    60.               </section>
    61.               <section class="content__right col-md-4">
    62.                 <?php include "/includes/sidebar.php"; ?>
    63.               </section>
    64.             </div>
    65.           </div>
    66.         </div>
    67.         <?php
    68.     } else
    69.     {
    70.  
    71.         mysqli_query($connection, "UPDATE `articles` SET `views` = `views` + 1 WHERE `id` = " . (int) $art['id']);
    72.         ?>
    73.           <div id="content">
    74.             <div class="container">
    75.               <div class="row">
    76.                 <section class="content__left col-md-8">
    77.                   <div class="block">
    78.  
    79.                     <h1 style="font-size:20px;"><?echo $art ['title']; ?></h1>
    80.                     <div class="block__content">
    81.              
    82.              
    83.              
    84.              
    85.                     <!-- ВЫВОД КАРТИНКИ --><!-- ВЫВОД КАРТИНКИ --><!-- ВЫВОД КАРТИНКИ -->
    86.              
    87.                     <?php
    88.          ($QueryProductImages = mysqli_query($connection, "SELECT * FROM products_images WHERE products_images.id_product='".$_GET['id']."'));
    89.  
    90.        $ArrayProductImages = mysqli_fetch_array($QueryProductImages);
    91.  
    92.        do {
    93.            echo "<img src='".$ArrayProductImages['image_way']."' width='auto' height='256' />";
    94.  
    95.  
    96.        } while ($ArrayProductImages = mysqli_fetch_array($QueryProductImages))
    97.    
    98.    ?>
    99.  
    100.  
    101.                       <br><br>
    102.                
    103.                
    104.                
    105.                      <!-- ВЫВОД ПОЛНОГО ТЕКСТА СТАТЬИ -->
    106.                
    107.                       <div class="full-text">
    108.                         <?echo $art ['text']; ?>
    109.                       </div>
    110.                     </div>
    111.                   </div>
    112.  
    113.              
    114.                   <?php include "/includes/sidebar.php"; ?>
    115.                 </section>
    116.               </div>
    117.             </div>
    118.           </div>
    119.  
    120.           <?php
    121.     }
    122.     ?>
    123. <!-- ПОДВАЛЧИК -->
    124.      
    125. </div>
    126.  
    127.   </body>
    128.  
    129.   </html>
     
  20. san4ez

    san4ez Активный пользователь

    С нами с:
    13 авг 2016
    Сообщения:
    331
    Симпатии:
    47
    ну а где закрытие запроса двойной кавычкой???
    $QueryProductImages = mysqli_query($connection, "SELECT * FROM products_images WHERE id_product='".$_GET['id']."'");
    и зачем все это у вас в скобках?
     
  21. Анатолий1944

    Анатолий1944 Новичок

    С нами с:
    14 фев 2017
    Сообщения:
    30
    Симпатии:
    2
    Закрыл кавычкой, всё заработало, теперь к каждой статье добавляется разная картинка, уже хорошо.
    Осталось сделать, чтобы картинка была не одна на одну статью, а несколько 2-3- или10 шт. к каждой статье естественно свои уникальные.
    Подскажите как это реализовать ?
     
  22. san4ez

    san4ez Активный пользователь

    С нами с:
    13 авг 2016
    Сообщения:
    331
    Симпатии:
    47
    это уже другой вопрос, показывайте как вы пытались это сделать и вам помогут обьяснениями(а я сейчас спать) (больше готовый код я не хочу писать, этот раздел для обучения php).
     
  23. Анатолий1944

    Анатолий1944 Новичок

    С нами с:
    14 фев 2017
    Сообщения:
    30
    Симпатии:
    2
    san4ez,
    Ок, благодарю вас, очень помогли.

    По следующей проблеме:
    Сам пришёл к решению создать несколько записей в бд, с одинаковым id к статье. - Вывелось несколько картинок, отлично!
    Но на сколько адекватно такое решение ? Может есть более удобный вариант выведения разных картинок, чтобы не было каши в БД ?
    Хотелось бы услышать мнение знающих.
     
    #23 Анатолий1944, 17 фев 2017
    Последнее редактирование: 17 фев 2017
  24. san4ez

    san4ez Активный пользователь

    С нами с:
    13 авг 2016
    Сообщения:
    331
    Симпатии:
    47
    не понял на счет каши... ну правильно мыслишь же, так и делают.
     
  25. Анатолий1944

    Анатолий1944 Новичок

    С нами с:
    14 фев 2017
    Сообщения:
    30
    Симпатии:
    2
    Хорошо )
    а на счет каши - имел ввиду что когда будет много записей в таблице картинок, то найти нужную станет проблемно, Но щас я вспомнил что в бд можно делать поиск по id, так что вопрос снимается )

    Спасибо ещё раз, желаю всем энтузиазма помогать новичкам = )