Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc
Comunitatea PHP Romania
 

EXCEL 2 MYSQL??? REZOLVAT
Vezi mesajul original

 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> Cod PHP
Subiectul anterior :: Subiectul următor  
Autor Mesaj
blackshark10



Data înscrierii: 15/Apr/2008
Mesaje: 16

Trimis: Mar Apr 15, 2008 10:28 pm    Titlul subiectului: EXCEL 2 MYSQL??? REZOLVAT  

Stie cineva cum se poate face citirea unui fisier excel cu mai multe coloane(eventual ii dau eu capatul de coloana si nr lor) si apoi importarea inregistrarilor intr-o tabela mysql? asta binenteles din php??
Multam.
Sus  
griffin



Data înscrierii: 07/Dec/2006
Mesaje: 71

Trimis: Mar Apr 15, 2008 11:30 pm    Titlul subiectului:  

Citeste depre LOAD DATA INFILE (asa se face importul)
Uite si linkul de pe siteul MySql
http://dev.mysql.com/doc/refman/5.0/en/load-data.html
Sus  
blackshark10



Data înscrierii: 15/Apr/2008
Mesaje: 16

Trimis: Mar Apr 15, 2008 11:38 pm    Titlul subiectului:  

merci de raspuns dar mie imi trebuie in php, nu am acces shell la mysql, in plus nu stiu cum si daca functioneaza bine cu fisiere xls?
Sus  
bluecrime



Data înscrierii: 21/Noi/2007
Mesaje: 61
Locație: Botosani

Trimis: Mar Apr 15, 2008 11:55 pm    Titlul subiectului:  

Uite aici un exemplu.

Se incarca un fisier xml facut cu excel.
Pentru a introduce in mysql, trebuie modificat putin.

Cod:   <?php
  $data = array();
 
  function adauga_persoana( $nume, $prenume, $varsta, $oras )
  {
  global $data;
 
  $data []= array(
  'nume' => $nume,
  'prenume' => $prenume,
  'varsta' => $varsta,
  'oras' => $oras
  );
  }
 

  $dom = DOMDocument::load( 'test.xml' );
  $rows = $dom->getElementsByTagName( 'Row' );
  $first_row = true;
  foreach ($rows as $row)
  {
  if ( !$first_row )
  {
  $nume = "";
  $prenume = "";
  $varsta = "";
  $oras = "";
 
  $index = 1;
  $cells = $row->getElementsByTagName( 'Cell' );
  foreach( $cells as $cell )
  {
  $ind = $cell->getAttribute( 'Index' );
  if ( $ind != null ) $index = $ind;
 
  if ( $index == 1 ) $nume = $cell->nodeValue;
  if ( $index == 2 ) $prenume = $cell->nodeValue;
  if ( $index == 3 ) $varsta = $cell->nodeValue;
  if ( $index == 4 ) $oras = $cell->nodeValue;
 
  $index += 1;
  }
  adauga_persoana( $nume, $prenume, $varsta, $oras );
  }
  $first_row = false;
  }
  ?>
  <html>
  <head><title>Table</title>
  <link href="styles.css" rel="stylesheet" type="text/css">
  </head>
  <body>
   
  <br><br>
  <center><caption>Tabel informativ</caption></center><br>
  <table align="center">
  <tr>
  <th>Nume</th>
  <th>Prenume</th>
  <th>Varsta</th>
  <th>Oras</th>
  </tr>
  <?php foreach( $data as $row ) { ?>
  <tr>
  <td><?php echo( $row['nume'] ); ?></td>
  <td><?php echo( $row['prenume'] ); ?></td>
  <td><?php echo( $row['varsta'] ); ?></td>
  <td><?php echo( $row['oras'] ); ?></td>
  </tr>
  <?php } ?>
  </table>
  </body>
  </html>

Aici ai fisierul test.xml
http://filebox.ro/download.php?key=60a99f0dcc9a6aac53004622b5ee96a3

sau descarca tot scriptul (stilizat putin)
http://filebox.ro/download.php?key=2aacbcd9ee7a1cba2234dc1afd651d47

sau priveste exemplu aici:)

http://albert.ilive.ro/xml2php/
Sus  
blackshark10



Data înscrierii: 15/Apr/2008
Mesaje: 16

Trimis: Mie Apr 16, 2008 12:01 am    Titlul subiectului:  

merci bluecrime, din cate vad eu scriptul tau are treaba cu fisiere xml nu excel(xls), ma uit sa vad poate merge si pt. excelul meu
Sus  
bluecrime



Data înscrierii: 21/Noi/2007
Mesaje: 61
Locație: Botosani

Trimis: Mie Apr 16, 2008 12:04 am    Titlul subiectului:  

Pai...
Deschizi cu excelu fisierul xls si dai File > Save As
Si la "Save as type" selectezi "XML Spreadsheet (*.xml)"

Am testat eu si merge garantat:)
Sus  
blackshark10



Data înscrierii: 15/Apr/2008
Mesaje: 16

Trimis: Mie Apr 16, 2008 12:08 am    Titlul subiectului:  

Fatal error: Call to undefined function: load().......(adik linia $dom = DOMDocument::load( 'excel.xml' );
)?
Sus  
griffin



Data înscrierii: 07/Dec/2006
Mesaje: 71

Trimis: Mie Apr 16, 2008 12:44 am    Titlul subiectului:  

Tu ai importat vreodata vreun un fisier csv in MySql cu PhpMyAdmin?
Daca nu incearca sa vezi ce query iti va afisa (o sa fii surprins dar incarca csv-ul pe server si apoi face LOAD DATA INFILE).Oricum un fisier xls cu mai multe worksheet-uri nu poti importa.Asa ca poti sa salvezi fiecare worksheet in parte ca csv si-l importi.Oricum faci cum crezi ca e mai bine.Spor
Sus  
blackshark10



Data înscrierii: 15/Apr/2008
Mesaje: 16

Trimis: Mie Apr 16, 2008 12:48 am    Titlul subiectului:  

Am gasit si rezolvarea doar ca in alta parte.

forums.digitalpoint.c o m/attachment.php?attachmentid=9101&d=1183370670

asta este link-ul spre arhiva cu 4 fisiere php, tot ce trebuie pentru problema mea fara mare bataie de cap.
Sus  
PHPRomania Bot
Bot Member


Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google
Trimis: Mie Dec 26, 2007 7:01 pm   Titlul subiectului: Ad  

Sus  
 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> Cod PHP
Pagina 1 din 1


Powered by phpBB 2.0.22 © 2001, 2002 phpBB Group
Varianta în limba română: Romanian phpBB online community