За последние 24 часа нас посетил 22831 программист и 1234 робота. Сейчас ищут 769 программистов ...

Как изменить столбец в бд на другой столбец в этой же таблице при нажатии на определенную кнопку

Тема в разделе "PHP для новичков", создана пользователем KovehSergey, 18 ноя 2019.

  1. KovehSergey

    KovehSergey Новичок

    С нами с:
    18 ноя 2019
    Сообщения:
    3
    Симпатии:
    0
    Всем привет. Не могу решить проблему, надеюсь, кто-то поможет.
    У меня есть база данных table_products. В ней есть столбец image(который содержит изображение) и image1(который так же содержит изображение, но другое). Нужно при нажатии на определенную кнопку(на сайте), изменить image на image1 без перезагрузки страницы. Помогите, пожалуйста
     
  2. Artur_hopf

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

    С нами с:
    7 май 2018
    Сообщения:
    2.266
    Симпатии:
    405
    HTML:
    1.   <thead>
    2.     <tr>
    3.         <th>Название</th>
    4.         <th>Картинка</th>
    5.     </tr>
    6.   </thead>
    7.   <tbody>
    8.     <tr>
    9.         <td>table_products<td>
    10.         <td>image<td>
    11.     <tr>
    12.     <tr>
    13.         <td>table_products<td>
    14.         <td>image<td>
    15.     <tr>
    16.   </tbody>
    17. <button id="img_change">Заменить</button>
    18.  
    19. <script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
    20. $( "#img_change" ).click(function() {
    21.     $.post( "test2.php", { img: "img"})
    22.     .done(function( data ) {
    23.  
    24.         let json = JSON.parse(data);
    25.  
    26.         if(json !== false)
    27.         {
    28.             $( "tbody" ).html(json);
    29.         }
    30.     });
    31. });  
    PHP:
    1. <?php
    2.  
    3. function getImage()
    4. {
    5.     if(isset($_POST['img']))
    6.     {
    7.         $image = $_POST['img'];
    8.  
    9.         //sql запрос
    10.  
    11.         $db_result = [
    12.             ['image2' => 'новая картинка 1', 'table_products' => 'продукт 1'],
    13.             ['image2' => 'новая картинка 2', 'table_products' => 'продукт 2']
    14.         ];
    15.  
    16.         if( count($db_result) > 0)
    17.         {
    18.             $result ='';
    19.            
    20.             foreach( $db_result as $item)
    21.             {
    22.                 $result .= "<tr>
    23.                    <td>{$item['table_products']}<td>
    24.                    <td>{$item['image2']}<td>
    25.                <tr>";
    26.             }
    27.  
    28.             return $result;
    29.         }
    30.  
    31.     }
    32.  
    33.     return false;
    34. }
    35.  
    36. echo json_encode(getImage());
     
  3. KovehSergey

    KovehSergey Новичок

    С нами с:
    18 ноя 2019
    Сообщения:
    3
    Симпатии:
    0
    Немного дополню свой вопрос. В этих столбцах уже заданы картинки в базе данных, нужно сделать обычную кнопку на сайте и привязать к ней функцию, чтобы при нажатии на нее менялся первый столбец, то есть столбец - image на второй столбец - image1. В общей сложности будет 4 кнопки, то есть 4 столбца image, image1, image2, image3. И нужно при нажатии на каждую кнопку менять картинку в первом столбце - image на ту, которая в других столбцах
     
  4. Valick

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

    С нами с:
    12 авг 2018
    Сообщения:
    1.911
    Симпатии:
    328
    @KovehSergey, просто наймите программиста, ибо вы не ведаете что творите.
     
  5. Artur_hopf

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

    С нами с:
    7 май 2018
    Сообщения:
    2.266
    Симпатии:
    405
    @KovehSergey вам когда самый простой вариант, выгрузить все картинки. Не нужные в данные момент просто скрыть. По нажатию на кнопки показывать одно, скрывать другое
     
  6. KovehSergey

    KovehSergey Новичок

    С нами с:
    18 ноя 2019
    Сообщения:
    3
    Симпатии:
    0
    Да, я думал об этом уже. Но в корзине товаров будет отображаться столбец image. А картинка в нем будет прежней, даже если человек выбрал другую. Поэтому нужно заменять картинку в столбце на картинку из другого столбца
     
  7. Artur_hopf

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

    С нами с:
    7 май 2018
    Сообщения:
    2.266
    Симпатии:
    405
    @KovehSergey где то вы не туда свернули, в корзине должен лежать id товара. От которого для пользователя тянется все остальное.