Задать вопрос
@vadovnikita

Как получить id от button?

В общем хотел сделать так чтобы при загрузке файла он отправлял в БД ссылку на файл, но видимо что то сделал не так, он отправляет ссылку на картинку товара но на все товары, нужно именно чтобы он записывал ссылку на картинку определенному товару БД
<tbody id="tovars">
      <?php
while($row = mysqli_fetch_array($all_tovars)) {

$id = $row['id'];
$name = $row['name'];
$desc = $row['sm_desc'];
$cost = $row['cost'];
$views = $row['views'];
$sql_select1 = "SELECT COUNT(*) FROM purchases WHERE tovar_id = '$id'";
$result1 = mysqli_query($link,$sql_select1);
$row = mysqli_fetch_array($result1);
if($row)
{
    $kupili = $row['COUNT(*)'];
}
echo '<tr id="product'.$id.'">
      <th scope="row">'.$id.'</th>
      <td>'.$name.'</td>
      <td>'.$cost.'</td>
      <td>'.$views.'</td>
      <td>'.$kupili.'</td>

      <td><button data-id="'.$id.'" onclick="del(this)" class="btn btn-danger " style="display:inline-block; width:49%;float:left;">Удалить</button>
      <input hidden name="ids" id="ids" value="5" type="text" placeholder="5"> <button data-edit="'.$id.'" name="id" onclick="edit(this)" class="btn btn-primary " style="display:inline-block; width:49%;float:right;" data-toggle="modal" data-target="#edit">Изменить</button></input>
      </td>
    </tr>';

  }
?>

  </tbody>


<form method="post" enctype="multipart/form-data">
<label for="tovar_full">Изображение товара</label>
<input type="file" name="filename" size="10" />
<input type="submit"  value="Загрузить" />
</form>


<?php
if ($_FILES && $_FILES["filename"]["error"]== UPLOAD_ERR_OK)
{
    $name = "upload/" . $_FILES["filename"]["name"];
    move_uploaded_file($_FILES["filename"]["tmp_name"], $name);
	$names = "https://smm-services.ru/admin/";
	$query = mysqli_query($link,"UPDATE tovars SET img = '$names$name' WHERE id = '$id'");
    echo "Файл загружен $id";
}
?>
  • Вопрос задан
  • 230 просмотров
Подписаться 1 Простой 3 комментария
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
delphinpro
@delphinpro Куратор тега PHP
frontend developer
Здесь вы вроде бы правильно обновляете картинку только у нужного товара по его айди

$query = mysqli_query($link,"UPDATE tovars SET img = '$names$name' WHERE id = '$id'");


Но откуда ID то берется?

Передавайте идентификатор вместе с картинкой
<form method="post" enctype="multipart/form-data">
  <label for="tovar_full">Изображение товара</label> 
  <input type="hidden" name="id" value=" тут айди товара, к которому нужно прикрепить картинку " />
  <input type="file" name="filename" size="10" />
  <input type="submit"  value="Загрузить" />
</form>


и на сервере соответственно

$names = "https://smm-services.ru/admin/";
$id = $_POST['id']; // получить ID из формы
$query = mysqli_query($link,"UPDATE tovars SET img = '$names$name' WHERE id = '$id'");


PS
Нельзя вставлять данные в запрос напрямую полученные от пользователя. Узнайте, что такое sql-инъекции и как от них защищаться.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы