Импорт из Excel(csv) в Mysql

Тема в разделе "Базы Данных", создана пользователем CrazYViruS, 8 июл 2013.

  1. CrazYViruS

    CrazYViruS

    Регистрация:
    30 май 2013
    Сообщения:
    133
    Симпатии:
    79
    Всем доброго времени, подскажите пожалуйста что в коде нетак ...
    Код:
    <?php 
     $link = @mysql_pconnect(localhost, name, pass); 
    		if ($link) { 
    			mysql_select_db(krist); 
    		} else { 
    			exit("Unable to connect to database.  Please try again later.\n"); 
    		}  
     
    $data=file('1.csv'); 
    if (is_array($data)) 
      { 
       foreach ($data as $string) 
    	  { 
    	   $temp=explode(",",$string); 
    	   $query="INSERT INTO information_description (16) SET id='$16[0]',Name='$16[1]',Price='$16[2]'"; 
    	   $result=mysql_query($query); 
    	  } 
       } 
    ?> 
    Вкратце что необходимо сделать:
    Есть файл 1.csv в нем три колонки:
    ID NAME PRICE
    1 2 3
    1 2 3
    1 2 3

    Есть статья сохраняется она в mysql в information_description под ID 16 состоит она точно также как и .csv,
    Три колонки

    1 2 4
    1 2 4
    1 2 4

    Необходимо в эту статью импортировать третий столбец .csv
    Но покачто не получается даже простой импорт
    (про $query= update я уже понял)

    Помогите пожалуйста, может я неправильно указываю ID этой статьи в mysql может не указываю место импорта так как весь текст куда должен быть произведен импорт находиться в поле description...

    Двиг OpenCart 1.5.4.1
    Mysql 5.1.48
     
  2. aleksander73945

    aleksander73945

    Регистрация:
    7 сен 2013
    Сообщения:
    45
    Симпатии:
    7
    Вы уверены что хотите оставить в коде на странице пароль к своей базе? Я бы вам не рекомендовал так делать.
     
  3. LDSP

    LDSP

    Регистрация:
    5 сен 2013
    Сообщения:
    30
    Симпатии:
    10
    1) Скачай парсер excell\csv (не позорься explode(",",$string):wink:
    2) Не надо каждым запросом дрочить базу

    $query = array();
    foreach ($data as $row){
    $sql = "INSERT INTO information_description SET ";
    foreach($row as $field=>$value){
    $sql="{$field}={$value}";
    }
    $query[] = "{$sql};";
    }
    mysql_query("START TRANSACTION;".implode($query, ";")."COMMIT;");

    P.S. Спасибо за совет по импорту прайсов !)