powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Очистка базы и потом залить
5 сообщений из 5, страница 1 из 1
Очистка базы и потом залить
    #39610648
angrybot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет. Есть файл в нем происходит разбор xls и потом либо update либо insert. Но чтобы сделать товары динамичными, приходится сразу удалять все руками и потом заносить. Как сделать чтобы сначала удалялось все под корень а потом происходил insert

сейчас примерно так
$del = mysqli_query($con, "delete from catalog_tree WHERE id>204254");
в самом верху типа удаление всего у кого id больше 204254

потом insert в цикле разбора самого exel
$mystep2= mysqli_query($con, "INSERT INTO `catalog_tree`(`id_tree`, `title`,`chpu`,`transmission`, `years`, `speed`,`litraj`,`privod`,`vnutreniy_kod`,`analog`,`opisanie`,`tovarpodcat`,`sovmestimosttrans`) VALUES ($getchildid,'$titletov','$newtranstitle','$trans','$years','$speed','$litraj','$privod','$vnutreniy_kod','$analog','$opisanie','$flagcat','$sovtrans')");
...
Рейтинг: 0 / 0
Очистка базы и потом залить
    #39610649
angrybot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
angrybot,

Но фишка в том что удаления не происходит и падает в 504. Вот прошу подсказки
...
Рейтинг: 0 / 0
Очистка базы и потом залить
    #39610665
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
angrybotпадает в 504Вы имеете в виду "504 Gateway Timeout" или какое-то значение 504 вместо 204254 или что-то другое?
...
Рейтинг: 0 / 0
Очистка базы и потом залить
    #39610667
angrybot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkleangrybotпадает в 504Вы имеете в виду "504 Gateway Timeout" или какое-то значение 504 вместо 204254 или что-то другое?

Падает в 504 но думаю проблема в том что я не правильно вставил удаление
...
Рейтинг: 0 / 0
Очистка базы и потом залить
    #39610669
angrybot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
<html>
include('con.php');
include('myfunction.php');
$del = mysqli_query($con, "delete from catalog_tree WHERE id>204254");
//Функция принимает имя xls файла, считывает его, занося данные ячеек строк в массив, и возвращает этот массыв как результат
function getXLS($xls){
include_once 'Classes/PHPExcel/IOFactory.php';
$objPHPExcel = PHPExcel_IOFactory::load($xls);
$objPHPExcel->setActiveSheetIndex(0);
$aSheet = $objPHPExcel->getActiveSheet();
$array = array();//этот массив будет содержать массивы содержащие в себе значения ячеек каждой строки
//получим итератор строки и пройдемся по нему циклом
foreach($aSheet->getRowIterator() as $row){
//получим итератор ячеек текущей строки
$cellIterator = $row->getCellIterator();
//пройдемся циклом по ячейкам строки
$item = array();//этот массив будет содержать значения каждой отдельной строки
foreach($cellIterator as $cell){
//заносим значения ячеек одной строки в отдельный массив
// array_push($item, iconv('utf-8', 'cp1251', $cell->getCalculatedValue()));
array_push($item, $cell->getCalculatedValue());
}
//заносим массив со значениями ячеек отдельной строки в "общий массв строк"
array_push($array, $item);
}
return $array;
}
$xlsData = getXLS('xls/xls.xls'); //извлеаем данные из XLS
unset($xlsData[0]);
$flagcat = 0;
foreach($xlsData as $tmpdata){
$opisanieproverka = $tmpdata[3];
$analogproverka = $tmpdata[4];
$cat = $tmpdata[18];
$model = $tmpdata[12];
$findmodel = findmodel($cat);
$trans = $tmpdata[17];
$privod = $tmpdata[15];
$years = $tmpdata[13];
$speed = $tmpdata[14];
$litraj = $tmpdata[16];
$titletov = $tmpdata[2];
$vnutreniy_kod = $tmpdata[1];
$analog = $tmpdata[5];
$opisanie = $tmpdata[3];

if($opisanieproverka == 'N/A' && $analogproverka =='N/A' && $titletov !='N/A' && $vnutreniy_kod !='N/A' ){
$flagcat = $tmpdata[1];
$titletrans = $tmpdata[17];
$mystep2= mysqli_query($con, "INSERT INTO `catalog_tree`(`title`, `periodcat`, `podcategoryes`) VALUES ('$titletov',1,'$flagcat')");
}
else{
$tmp = $tmpdata[7];
$sovmestimosttrans = $tmpdata[7];
$newtranstitle = str2url($titletov);
$getchildid = getchildid($model,$trans,$privod,$years,$speed,$litraj);
$chektovarsinbd = chektovarsinbd($getchildid,$titletov,$trans,$years,$speed,$litraj,$privod,$vnutreniy_kod,$analog,$opisanie);
$sovtrans = htmlspecialchars($sovmestimosttrans);
$trimflagcat = trim($flagcat);
$trimvnutreniy_kod = trim($vnutreniy_kod);
if($chektovarsinbd != NULL){
$myupdate=mysqli_query($con, "UPDATE `catalog_tree` SET `sovmestimosttrans`='$sovtrans',`chpu`='$newtranstitle',`vnutreniy_kod`='$trimvnutreniy_kod',`title`='$titletov',`opisanie`='$opisanie', `tovarpodcat`='$trimflagcat' WHERE id=$getchildid");
}
else{
if($getchildid ==''){
$mystep2= mysqli_query($con, "INSERT INTO `catalog_tree`(`id_tree`, `title`,`chpu`,`transmission`, `years`, `speed`,`litraj`,`privod`,`vnutreniy_kod`,`analog`,`opisanie`,`tovarpodcat`,`sovmestimosttrans`) VALUES ($getchildid,'$titletov','$newtranstitle','$trans','$years','$speed','$litraj','$privod','$vnutreniy_kod','$analog','$opisanie','$flagcat','$sovtrans')");
}
else{
//$mystep2= mysqli_query($con, "INSERT INTO `catalog_tree`(`id_tree`, `title`,`chpu`,`transmission`, `years`, `speed`,`litraj`,`privod`,`vnutreniy_kod`,`analog`,`opisanie`,`tovarpodcat`,`sovmestimosttrans`) VALUES ($getchildid,'$titletov','$newtranstitle','$trans','$years','$speed','$litraj','$privod','$vnutreniy_kod','$analog','$opisanie','$flagcat','$sovtrans')");
}
// $mystep2= mysqli_query($con, "INSERT INTO `catalog_tree`(`id_tree`, `title`,`chpu`,`transmission`, `years`, `speed`,`litraj`,`privod`,`vnutreniy_kod`,`analog`,`opisanie`,`tovarpodcat`,`sovmestimosttrans`) VALUES ($getchildid,'$titletov','$newtranstitle','$trans','$years','$speed','$litraj','$privod','$vnutreniy_kod','$analog','$opisanie','$flagcat','$sovtrans')");
}
}
}

?>
</body>
</html>
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Очистка базы и потом залить
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]