[ Ïîèñê ] - [ Ïîëüçîâàòåëè ] - [ Êàëåíäàðü ]
Ïîëíàÿ Âåðñèÿ: Çàêà÷êà â ñêóëü äàííûõ èç 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.