Как поправить скрипт

sotex2

Постоялец
Регистрация
9 Июн 2014
Сообщения
76
Решения
1
Реакции
1
Доброго времени суток. Подскажите как в рабочий скрипт ниже добавить еще один параметр. Сам скрипт преднозначен для перезаписи значений в базе данных. сейчас скрипт переписывает значения из дополнительных полей, а нужно еще добавить какой-то параметр для перезаписи тайтла (заголовка статьи). сайт на движке DLE (скрин приложил).

Код:
<?php

$dbhost = "localhost"; // Хост1
$dbuser = ""; // Пользователь баз данных
$dbpassword = ""; // Пароль
$dbname = ""; // Имя баз данных


// Подключение к базе
$db = new mysqli($dbhost, $dbuser, $dbpassword, $dbname);

// Проверка подключения с баз данных
if ($db->connect_errno) {
  echo '<p>Не удалось подключиться к базе данных!</p>';
  echo $db->connect_error;
  exit;
}

$db->set_charset('utf8');

// Экранируем
$id = $db->real_escape_string($_POST['id']);
$new_companies = $db->real_escape_string($_POST['companies']);
$new_price = $db->real_escape_string($_POST['price']);
$new_total_phones = $db->real_escape_string($_POST['total_phones']);
$new_unique_email = $db->real_escape_string($_POST['unique_email']);
$new_mobile_numbers = $db->real_escape_string($_POST['mobile_numbers']);
$new_database_update = $db->real_escape_string($_POST['database_update']);
$new_procent = $db->real_escape_string($_POST['procent']);
$new_otrasli = $db->real_escape_string($_POST['otrasli']);
$new_dop_podkategori = $db->real_escape_string($_POST['dop_podkategori']);
$new_title_fulstor = $db->real_escape_string($_POST['title_fulstor']);
$new_price_percent = $db->real_escape_string($_POST['new_price_percent']);
$new_title = $db->real_escape_string($_POST['title']);
$new_site_compani = $db->real_escape_string($_POST['site_compani']);
$new_fax = $db->real_escape_string($_POST['fax']);
$new_otpravka = $db->real_escape_string($_POST['otpravka']);

// Получаем значения xfields

$query = "SELECT xfields FROM dle_post WHERE id='$id'";

$result = $db->query($query);

if ($result) {
  $row = $result->fetch_assoc();
  $xfields = $row['xfields'];

  // Разбиваем xfields на пары
  $pairs = explode('||', $xfields);
  $data = [];
  foreach ($pairs as $pair) {
    $parts = explode('|', $pair);
    if (count($parts) == 2) {
      $data[$parts[0]] = $parts[1];
    }
  }

  // Меняем нужные значения
  $data['price'] = $new_price;
  $data['companies'] = $new_companies;
  $data['total-phones'] = $new_total_phones;
  $data['mobile-numbers'] = $new_mobile_numbers;
  $data['unique-email'] = $new_unique_email;
  $data['database-update'] = $new_database_update;
  $data['procent'] = $new_procent;
  $data['otrasli'] = $new_otrasli;
  $data['dop-podkategori'] = $new_dop_podkategori;
  $data['title-fulstor'] = $new_title_fulstor;
  $data['title'] = $new_title;
  $data['fax'] = $new_fax;
  $data['site-compani'] = $new_site_compani;
  $data['otpravka'] = $new_otpravka;
  $data['new_price_percent'] = $new_price_percent;


  // Формируем новое значение обратно в xfields
  $new_xfields = '';
foreach ($data as $key => $value) {
    $new_xfields .= "||$key|$value";
  }
$new_xfields = substr($new_xfields, 2);

  // Обновляем бд
$update_query = "UPDATE dle_post SET xfields='$new_xfields' WHERE id='$id'";
 
   $update_result = $db->query($update_query);

  if ($update_result) {
    echo "Данные успешно обновлены!";
  } else {
    echo "Ошибка при обновлении данных: " . $db->error;
  }
} else {
  echo "Ошибка при выполнении запроса: " . $db->error;
}

// Закрываем соединение с базой данных
$db->close();
?>
скрин.jpg
 
quert.png

Допиши в этот запрос нужный тебе параметр "title='нужная тебе инфа'".
UPDATE dle_post SET xfield='$new_xfields', title='$new_title' WHERE id='$id'
 
Назад
Сверху