[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Закачка в скуль данных из Excel
Гость_miker
Может пробегал примерчик загружки данных на php из excel в скуль ?



Спустя 1 час, 39 минут, 9 секунд (1.08.2009 - 12:45) S{oRpiO написал(а):
вроде это


SQL
CREATE TABLE `xml` (
`id` int(11) NOT NULL auto_increment,
`c1` varchar(255) default NULL,
`c2` varchar(255) default NULL,
`c3` varchar(255) default NULL,
`c4` varchar(255) default NULL,
`c5` varchar(255) default NULL,
`c6` varchar(255) default NULL,
`c7` varchar(255) default NULL,
`c8` varchar(255) default NULL,
`c9` varchar(255) default NULL,
`c10` varchar(255) default NULL,
`c11` varchar(255) default NULL,
`c12` varchar(255) default NULL,
`c13` varchar(255) default NULL,
`id_razdel` int(11) default NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `id` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251

*************************************



PHP
<?php $i = 0;

//****  функция перевода unicoda в рускую кодировку
 function utf8win1251($s){
$out = $c1 = "";
$byte2=false;
for ($c=0;$c<strlen($s);$c++){
$i=ord($s[$c]);
if ($i<=127) $out.=$s[$c];
if ($byte2){
$new_c2=($c1&3)*64+($i&63);
$new_c1=($c1>>2)&5;
$new_i=$new_c1*256+$new_c2;
if ($new_i==1025){
$out_i=168;
}
else{
if ($new_i==1105){
$out_i=184;
}
else {
$out_i=$new_i-848;
}
}
$out.=chr($out_i);
$byte2=false;
}
if (($i>>5)==6) {
$c1=$i;
$byte2=true;
}
}
return $out;
}
//****


$file='ultra.xml'; include "mysql.php";
// вызыватеся когда встречается открывающийся тэг
function startElement($parser, $name, $attrs) {
    global $i,$ch;
    if($name == "ROW"){
                    $i++;
    }
    if($name == "CELL"){
        $ch = 1;
    }
}
// вызыватеся когда встречается закрывающийся тэг
function endElement($parser, $name) {
}
// данные между откр и закр тегами
function characterData($parser, $data) {
    global $i,$ch,$data_array;
    if($ch == 1){
        $data_array[$i][] = $data;
   //     echo   $data."[$i]<br>";

        $ch = 0;
    }
}
// создаем xml разборщик
$xml_parser = xml_parser_create('UTF-8');
xml_parser_set_option($xml_parser, XML_OPTION_CASE_FOLDING, true);
xml_set_element_handler($xml_parser, "startElement", "endElement");
xml_set_character_data_handler($xml_parser, "characterData");
if (!($fp = fopen($file, "r"))) {
    die("could not open XML input");
}

while ($data = fread($fp, 4096)) {
    if (!xml_parse($xml_parser, $data, feof($fp))) {
        die(sprintf("XML error: %s at line %d",
                    xml_error_string(xml_get_error_code($xml_parser)),
                    xml_get_current_line_number($xml_parser)));
    }
}
//освобождает XML-разборщик
xml_parser_free($xml_parser);

/*
echo "<pre>";
$d=print_r($data_array,'TRUE');
echo "</pre>";
  */


    foreach($data_array as $key => $type)
   {
    //  echo(
    //  "<h2>STR:$key</h2>\n"."<ul>\n");
      $m=0; unset($vb);
   //  $sql="insert into xml.xml  (c1,c2,c3,c4,c5,c6,c7,c9,c10,c11,c12,c13) values (";
       $sql="insert into xml.xml  (";
      foreach($type as $ship)
      {

       //  echo("\t<li>[$m].$ship</li>\n");
          $ship=join(split('\'',$ship),'&quot;') ;
          $ship=join(split('\"',$ship),'&quot;') ;

     //     $ship=join(split('\*',$ship),'') ;
          $vb[]=$ship;
          $m=$m+1;

        }

         for ($i2=0; $i2<$m; $i2++) {
         $vcv=$i2+1;
         $sql=$sql."c".$vcv.",";
         };
          $bn5=strrpos($sql,",");
   $sql=substr($sql,'0',$bn5);
       $sql=$sql.") values (";

         for ($i2=0; $i2<$m; $i2++) {
          $ship2=$vb[$i2] ;
          $sql=$sql."'$ship2',";
         };


           $bn5=strrpos($sql,",");
   $sql2=substr($sql,'0',$bn5);
   $sql2=$sql2.")";

  // echo $sql2."<br>" ;
      $sql2= utf8win1251($sql2);

     $result_id_s = mysql_query ($sql2)or die ("Query failed76\n");
   }
   echo("</ul>\n");




<

Спустя 1 день, 20 часов, 16 минут, 56 секунд (3.08.2009 - 09:02) Гость_miker написал(а):
Спасибо
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.