gopher-max
Новичок
Еще раз всем доброго времени суток! С подставкой переменных в запрос немного разобрался. Но теперь возникла другая проблема. Опишу достаточно кратко. Надеюсь что код написан не совсем коряво и он внесет ясность. Запрос по дате делает выборку товаров в базе. Далее открываем CSV файл и берем из него нужные поля. А дальше нужно что бы скрипт проходя по каждому выбранному запросом результату, сравнивал переменные и в случае успеха - добавлял информацию в таблицу. А сейчас скрипт обрабатывает только первую позицию из выбранных.
Зарание спасибо!
PHP:
<?
header('Content-type: text/html; charset=utf-8');
if(!setlocale(LC_ALL, 'ru_RU.utf8')) setlocale(LC_ALL, 'en_US.utf8');
if(setlocale(LC_ALL, 0) == 'C') die('Не поддерживается ни одна из перечисленных локалей (ru_RU.utf8, en_US.utf8)');
?>
<!DOCTYPE HTML>
<html lang="ru">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Импорт подвидов</title>
<link rel="stylesheet" href="css/stayl.css" type="text/css" media="screen">
</head>
<body>
<?php
ini_set('display_errors',1);
error_reporting(E_ALL);
$host="localhost";
$user= $_POST['user'];
$pwd= $_POST['pwd'];
$dbname="a200331_cms";
$datas= $_POST['datas'];
$next_datas= $_POST['next_datas'];
$mask = "1";
@ $db = mysqli_connect($host, $user, $pwd, $dbname) or die("Ошибка: Не удалось установить соединение.");
mysqli_select_db($db, $dbname);
mysqli_set_charset($db, 'utf8' );
$query_select = "SELECT * FROM cms_es_items WHERE modified_date >= '$datas' AND modified_date <= '$next_datas'";
$result_select = mysqli_query($db, $query_select);
if($query_select){
if (is_uploaded_file($_FILES["csvfile"]["tmp_name"])) {
$fn = $_FILES["csvfile"] ["tmp_name"];
$fd = fopen($fn, "r");
while($row_select = mysqli_fetch_assoc($result_select)) {
$id = $row_select['id'];
$id_category = $row_select['id_category'];
$price = $row_select['price'];
$rest = $row_select['rest'];
$weight = $row_select['weight'];
$lang = $row_select['lang'];
$modified_date = $row_select['modified_date'];
$sku = $row_select['sku'];
while (!feof($fd)) {
$fields = fgetcsv($fd, 1000, ";") ;
$fields[5] = iconv("Windows-1251", "UTF-8", $fields[5]);
@$fields[8] = iconv("Windows-1251", "UTF-8", $fields[8]);
@$fields[9] = iconv("Windows-1251", "UTF-8", $fields[9]);
$cod = $fields[5];
$size = $fields[8];
$color = $fields[9];
if ($sku == $cod) {
$query_insert = "INSERT INTO `cms_es_props` (`id_item`, `id_category`, `price`, `rest`, `weight`, `mask`, `lang`, `modified_date`, `prop_15`, `prop_16`) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?);";
$stmt_insert = $db->prepare($query_insert);
$stmt_insert->bind_param("iidiiissss", $id, $id_category, $price, $rest, $weight, $mask, $lang, $modified_date, $size, $color);
$stmt_insert->execute();
$stmt_insert->close();
echo $id." ".$sku;
echo " Добавлен.<br />";
}
}
}
fclose($fd);
} else {
echo "Ошибка загрузки файла";
exit();
}
} else {
print mysqli_error();
}
mysqli_free_result($result_select);
mysqli_close($db);
?>
</body>
</html>