Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: php xls e mysql

  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    216

    php xls e mysql

    ciao a tutti

    sto cercando di aprire un file xls e importare quello che è nel suo interno nel db

    codice:
    <?php 
     require_once('Connections/php_xls.php');
    ?>
    
    
    <?php 
    $file=file_exists("foglio.xls");
    	if($file==true)
    		{
    		 $file=fopen("foglio.xls","a+");	
    		}
    	else
    		{
    			echo "file non trovato!";
    		}
    while(! feof($file))
    {
    	
     	$NomeProdotto = mysql_real_escape_string(fgets($file));
        $PrezzoUnitario = mysql_real_escape_string(fgets($file));
        $Importoordine = mysql_real_escape_string(fgets($file));
        $sconto = mysql_real_escape_string(fgets($file));
    	$apagare = mysql_real_escape_string(fgets($file));
    	$CodiceArticolo = mysql_real_escape_string(fgets($file));
    	$Taglia = mysql_real_escape_string(fgets($file));
    	$QuantVenduta = mysql_real_escape_string(fgets($file));
    	
        $query = "INSERT INTO xls (id, NomeProdotto, PrezzoUnitario, Importoordine, sconto, apagare, CodiceArticolo, Taglia, QuantVenduta)";
        $query .="VALUES (null, 'NomeProdotto', 'PrezzoUnitario', 'Importoordine', 'sconto', 'apagare', 'CodiceArticolo', 'Taglia', 'QuantVenduta')"; 
    	mysql_select_db($php_xls);
    	$result = mysql_query($query); 
      if (!$result) 
        {
           $message  = 'Invalid query: ' . mysql_error() . "\n";
           $message .= 'Whole query: ' . $query;
           die($message);
         }
      }	
      if ($result)
      {
    	 echo "trasferimento completato con sucesso!"; 
      }
    ?>
    il risultato è questo:
    Invalid query: No database selected Whole query: INSERT INTO xls (id, NomeProdotto, PrezzoUnitario, Importoordine, sconto, apagare, CodiceArticolo, Taglia, QuantVenduta)VALUES (null, 'NomeProdotto', 'PrezzoUnitario', 'Importoordine', 'sconto', 'apagare', 'CodiceArticolo', 'Taglia', 'QuantVenduta')

    dov'è che sbaglio???
    Server utilizzato: MySQL


    (cit.)
    Un misto tra pazzia ed intelligenza

  2. #2
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    ma iniziare con una select no? Comunque ti manca tutta la parte della connessione al db
    http://www.w3schools.com/php/php_mysql_connect.asp

  3. #3
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    rileggendo vedo che includi questo file php_xls.php
    molto probabilmente all'interno del file non eseguirai la mysql_select_db, cosa che posso intuire dall'errore ma non dal codice visto che non lo hai postato

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    216
    <?php
    # FileName="Connection_php_mysql.htm"
    # Type="MYSQL"
    # HTTP="true"
    $hostname_php_xls = "localhost";
    $database_php_xls = "php_xls";
    $username_php_xls = "root";
    $password_php_xls = "";
    $php_xls = mysql_pconnect($hostname_php_xls, $username_php_xls, $password_php_xls) or trigger_error(mysql_error(),E_USER_ERROR);
    ?>

    ecco qua la connessione...
    ti giuro che ci sto sbattendo la testa da sta mattina...
    Server utilizzato: MySQL


    (cit.)
    Un misto tra pazzia ed intelligenza

  5. #5
    dubito fortemente che sia un file in formato XLS quello che stai leggendo

    fgets legge una riga per volta, e un file XLS è un file strutturato in un formato chiamato Structured Storage Model che al suo interno supporta dati strutturati in proprietà e flussi dati (in generale)

    avevo, tempo addietro, iniziato a scrivere una libreria per leggere questa struttura dati, condivisa da excel, word e powerpoint (poi ognuno di questi software inserisce le proprie informazioni) ma mi sono fermato per mancanza di tempo

    se non vado errato esiste una libreria che fa uso di pear per leggere questi documenti, ma il mio consiglio è di salvare il file XLS in XML (fai salva con nome e lo selezioni dall'elenco ... excel xml o qualcosa del genere)
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  6. #6
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    Originariamente inviato da rare
    <?php
    # FileName="Connection_php_mysql.htm"
    # Type="MYSQL"
    # HTTP="true"
    $hostname_php_xls = "localhost";
    $database_php_xls = "php_xls";
    $username_php_xls = "root";
    $password_php_xls = "";
    $php_xls = mysql_pconnect($hostname_php_xls, $username_php_xls, $password_php_xls) or trigger_error(mysql_error(),E_USER_ERROR);
    ?>

    ecco qua la connessione...
    ti giuro che ci sto sbattendo la testa da sta mattina...
    infatti come ti dicevo ti connetti al server db ma non scegli il database da usare dai un occhio qui http://it.wikibooks.org/wiki/PHP/Programmazione/MySQL

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    216
    il problema non è la connessione al Db quella funziona

    ho cercato e cambiato lo script

    usando la classe di SOUCEFORGE riesco a leggere il file xls ma purtroppo mi sbaglia la visualizzazione della data:



    comunque andando per step leggo il file e prendendo una cella alla volta la inserisco nel DB

    lo script per leggere il file:
    codice:
    <?php
    
    require_once 'Excel/reader.php';
    $data = new Spreadsheet_Excel_Reader();
    
    $data->read('foglio_.xls');
    
    /**
    PER COMODITA' ASSEGNO A DUE VARIABILI IL NUMERO DELLE COLONNE E DELLE RIGHE
    STAMPO IN NUMERO DI RIGHE E COLONNE
    **/
    $colo=$data->sheets[0]['numCols'];
    $righ=$data->sheets[0]['numRows'];
    echo "numero colonne: ".$colo;
    echo " numero righe: ".$righ;
    
    //error_reporting(E_ALL ^ E_NOTICE);
    echo "<table border='1'>";
    for($i=1; $i<=$righ; $i++) //ciclo per le righe
    {
    	echo "<tr>";
    		for($j=1; $j<=$colo; $j++) //ciclo per le colonne
    		{
    			echo "<td>";
    				echo $data->sheets[0]['cells'][$i][$j];
    			echo "</td>";
    		}
    	echo "</tr>";
    }
    echo "</table>";
    ?>
    vi posto gli altri due scipt che vengono richiamati

    ripeto il problema è la data
    Server utilizzato: MySQL


    (cit.)
    Un misto tra pazzia ed intelligenza

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2010
    Messaggi
    216
    purtroppo non posso postarvi i file che richiamano la classe per insufficenza di caratteri
    ma potete scaricarlo da qua

    http://sourceforge.net/projects/phpexcelreader
    Server utilizzato: MySQL


    (cit.)
    Un misto tra pazzia ed intelligenza

  9. #9
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520

    Re: php xls e mysql

    Originariamente inviato da rare

    il risultato è questo:
    Invalid query: No database selected Whole query: INSERT INTO xls (id, NomeProdotto, PrezzoUnitario, Importoordine, sconto, apagare, CodiceArticolo, Taglia, QuantVenduta)VALUES (null, 'NomeProdotto', 'PrezzoUnitario', 'Importoordine', 'sconto', 'apagare', 'CodiceArticolo', 'Taglia', 'QuantVenduta')

    dov'è che sbaglio???

    Originariamente inviato da rare

    il problema non è la connessione al Db quella funziona

    ripeto il problema è la data

  10. #10
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    quanto ci scommetti che al link che hai postato c'è una documentazione che ti insegna a usare la classe e magari anche a formattare la data?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.