загрузка из csv в базу каталога, при повторах категорий льет неправильно категории

Тема в разделе "PHP", создана пользователем zagrenat, 23 июн 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. zagrenat

    zagrenat

    Регистр.:
    26 дек 2006
    Сообщения:
    243
    Симпатии:
    59
    есть csv файл, есть две категории к примеру
    холодильники
    и
    встройка/холодильники
    на данный момент категории путаются и все льется либо в первую либо во вторую,
    что не так сделала не понимаю ( и как исправить тоже.


    PHP:
                    $subcat explode("|",$data[2]);
                    for (
    $k 0;$k count($subcat);$k++){
                        if (
    $k == 0){
                            
    $r mysql_query("SELECT `cat_id` FROM `ecs_category` WHERE cat_name LIKE '%".escstr($subcat[$k])."%'");
                                if (@
    mysql_num_rows($r) == 0){
                                    
    $r mysql_query("INSERT INTO `ecs_category` SET cat_name = '".escstr($subcat[$k])."', parent_id = 0, sort_order = 0, show_in_nav = 0, show_in_index = 0, is_show = 1, grade = 0, filter_attr = 0");
                                    echo 
    "Не найден cat_id `{$subcat[$k]}`. Категория создана автоматически<br/>\n";
                                    
    $parent_id = @mysql_insert_id($r);
                                } else {
                                    
    $parent_id mysql_result($r,0);
                                }
                        } else {
                            
    $r mysql_query("SELECT `cat_id` FROM `ecs_category` WHERE cat_name LIKE '%".escstr($subcat[$k])."%' AND parent_id = ".$parent_id);
                            if (@
    mysql_num_rows($r) == 0){
                                
    $r mysql_query("INSERT INTO `ecs_category` SET cat_name = '".escstr($subcat[$k])."', parent_id = ".$parent_id.", sort_order = 0, show_in_nav = 0, show_in_index = 0, is_show = 1, grade = 0, filter_attr = 0");
                                echo 
    "Не найден cat_id `{$subcat[$k]}`. Категория создана автоматически<br/>\n";
                                
    $parent_id = @mysql_insert_id($r);
                            } else {
                                
    $parent_id mysql_result($r,0);
                            }
                        }
                    }
                    
                    
    $cat_id $parent_id;
     
  2. t0os

    t0os

    Регистр.:
    21 окт 2007
    Сообщения:
    284
    Симпатии:
    36
    Ну так а в CSV как что и как лежит?
     
  3. waldicom

    waldicom Создатель

    Регистр.:
    15 мар 2009
    Сообщения:
    41
    Симпатии:
    3
    А не легче будет загрузить csv-файл в базу данных при помощи LOAD DATA INFILE?
     
  4. zagrenat

    zagrenat

    Регистр.:
    26 дек 2006
    Сообщения:
    243
    Симпатии:
    59
    в csv лежит
    PHP:
    goods_sn '{$data[0]}'
    goods_name '{$data[1]}'
    cat_id $cat_id,  $data[2]
    shop_price ". escstr($data[3]) ."
    goods_brief '". escstr($data[4]) ."'
    goods_desc '". escstr($data[5]) ."'
    goods_thumb 'images/thumb_img/". escstr($data[6]) ."'
    goods_img '/images/goods_img/". escstr($data[7]) ."'
    $brand $data[8]
    goods_number ". escstr($data[9]) ."");
    может и легче, но незнаю как
     
  5. waldicom

    waldicom Создатель

    Регистр.:
    15 мар 2009
    Сообщения:
    41
    Симпатии:
    3
    Перейти по ссылке
     
Статус темы:
Закрыта.