|
Очистка базы и потом залить
|
|||
---|---|---|---|
#18+
Всем привет. Есть файл в нем происходит разбор 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')"); ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2018, 14:08 |
|
Очистка базы и потом залить
|
|||
---|---|---|---|
#18+
angrybot, Но фишка в том что удаления не происходит и падает в 504. Вот прошу подсказки ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2018, 14:09 |
|
Очистка базы и потом залить
|
|||
---|---|---|---|
#18+
angrybotпадает в 504Вы имеете в виду "504 Gateway Timeout" или какое-то значение 504 вместо 204254 или что-то другое? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2018, 14:26 |
|
Очистка базы и потом залить
|
|||
---|---|---|---|
#18+
vkleangrybotпадает в 504Вы имеете в виду "504 Gateway Timeout" или какое-то значение 504 вместо 204254 или что-то другое? Падает в 504 но думаю проблема в том что я не правильно вставил удаление ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2018, 14:28 |
|
Очистка базы и потом залить
|
|||
---|---|---|---|
#18+
<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> ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2018, 14:29 |
|
|
start [/forum/topic.php?fid=23&msg=39610665&tid=1460357]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
37ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
others: | 312ms |
total: | 434ms |
0 / 0 |