Insertion des données avec php

Résolu/Fermé
Ammoula89 Messages postés 45 Date d'inscription mardi 31 janvier 2012 Statut Membre Dernière intervention 10 mars 2014 - 13 mars 2012 à 09:49
loicDu28 Messages postés 332 Date d'inscription dimanche 11 janvier 2009 Statut Membre Dernière intervention 2 février 2016 - 19 mars 2012 à 10:02
Bonjour,
j'ai ecrit un code php pour l'insertion de mes données des fiches excel dans ma base sql mais l'insertion ne s'affecte pas svp qq1 de vous peux m'aider!!!
Le code est le suivant:

<?php

ini_set("maximum_execution_time", 3000000000000000000000000000000000000);
require_once 'Excel/reader.php';
$mabasededonnee="rose";

$connection = mysql_connect('localhost','root','');
// test la connection
if ( ! $connection )
die ("connection impossible");
// Connecte la base
mysql_select_db($mabasededonnee) or die ("pas de connection");

// ExcelFile($filename, $encoding);
$data = new Spreadsheet_Excel_Reader();

error_reporting(E_ALL ^ E_NOTICE);
// Set output Encoding.
$data->setOutputEncoding('CP1251');

$data->read('liste des clients Adel Abida Cap Bon.xls');

// echo $data->sheets[0]['numRows'];
// exit;

//error_reporting(E_ALL ^ E_NOTICE);

for ($i = 3; $i <= $data->sheets[0]['numRows']; $i++)
{
//Ref
$requet= "INSERT INTO vtiger_accounts (account_no , accountname , phone , fax) VALUES ('".$data->sheets[0]['cells'][$i][1]."', '".$data->sheets[0]['cells'][$i][2]."',
'".$data->sheets[0]['cells'][$i][5]."' , '".$data->sheets[0]['cells'][$i][6]."')";


$requet= "insert into vtiger_accountbillads ( bill_street , bill_city) values ('".$data->sheets[0]['cells'][$i][3]."', '".$data->sheets[0]['cells'][$i][4]."')";


mysql_query($requet,$connection);


}
mysql_close($connection);

?>
A voir également:

1 réponse

loicDu28 Messages postés 332 Date d'inscription dimanche 11 janvier 2009 Statut Membre Dernière intervention 2 février 2016 53
13 mars 2012 à 11:57
Bonjour,

Je voit que tu as 2 requête insert, laquelle ne fonctionne pas ?
Ensuite, je pense que ton problème vient du fait que tes 2 requêtes sont incrémenté dans la même variable ce qui à mon avis pose problème.
Soit tu fait un mysql_query après chaque requête soit tu fait ça (bien entendu, je te laisse modifier les ...) :
$requet .= "BEGIN;";
$requet .= "INSERT .......;";
$requet .= "INSERT........;";
$requet .= "END;";
mysql_query($requet, $connection);
*

Cordialement.

0
Ammoula89 Messages postés 45 Date d'inscription mardi 31 janvier 2012 Statut Membre Dernière intervention 10 mars 2014
16 mars 2012 à 10:43
même j'ai modifier le nom des requêtes et j'ai fais le mysql_query de chaque requête toute seule mais ça ne marche pas
0
loicDu28 Messages postés 332 Date d'inscription dimanche 11 janvier 2009 Statut Membre Dernière intervention 2 février 2016 53
16 mars 2012 à 11:02
Bonjour,

Peux-tu montrer ton code actuel stp ?
Peux-tu aussi essayer en modifiant tes mysql_query($requet, $connection); par mysql_query($requet); ?
Lorsque tu exécute avec ou sans la modification, as-tu un message d'erreur ?

Cordialement.
0
Ammoula89 Messages postés 45 Date d'inscription mardi 31 janvier 2012 Statut Membre Dernière intervention 10 mars 2014
16 mars 2012 à 11:13
Mon code actuel est le suivant:
<?php

ini_set("maximum_execution_time", 3000000000000000000000000000000000000);
require_once 'Excel/reader.php';
$mabasededonnee="rose";
 
$connection = mysql_connect('localhost','root','');
// test la connection
if ( ! $connection )
  die ("connection impossible");
  // Connecte la base
mysql_select_db($mabasededonnee, $connection) or die ("pas de connection"); 

// ExcelFile($filename, $encoding);
$data = new Spreadsheet_Excel_Reader();

error_reporting(E_ALL ^ E_NOTICE);
// Set output Encoding.
$data->setOutputEncoding('CP1251');

$data->read('liste des clients Adel Abida Cap Bon.xls');



//error_reporting(E_ALL ^ E_NOTICE);

for ($i = 3; $i <= $data->sheets[0]['numRows']; $i++) 
{
//Ref

$requet1= "INSERT INTO vtiger_accounts (account_no , accountname , phone , fax) VALUES ('".$data->sheets[0]['cells'][$i][1]."', '".$data->sheets[0]['cells'][$i][2]."',
'".$data->sheets[0]['cells'][$i][5]."' , '".$data->sheets[0]['cells'][$i][6]."')";
mysql_query($requet1,$connection);


$requet2= "INSERT INTO vtiger_accountbillads ( bill_street , bill_city) VALUES  ('".$data->sheets[0]['cells'][$i][3]."', '".$data->sheets[0]['cells'][$i][4]."')";
mysql_query($requet2,$connection);


}
mysql_close($connection); 

?>

et meme si je met seulement mysql_query($requet) ne m'affiche pas une erreur
0
loicDu28 Messages postés 332 Date d'inscription dimanche 11 janvier 2009 Statut Membre Dernière intervention 2 février 2016 53
16 mars 2012 à 11:41
Bonjour,

Le mysql_select_db($mabasededonnee, $connection) or die ("pas de connection"); n'est pas nécessaire dans ton cas vu que tu as juste une seule base de connecté.
Ensuite, as-tu testé tes requêtes dans le requêteur ?
As-tu également essayer de vérifier les données que tu insére dans tes requêtes tel que $data->sheets[0]['cells'][$i][4] ?
0
Ammoula89 Messages postés 45 Date d'inscription mardi 31 janvier 2012 Statut Membre Dernière intervention 10 mars 2014
16 mars 2012 à 11:44
oui j' vérifié tous j'ai mis après chaque requêtes un echo qui m'a affiché les données du fichiers excel mais l'insertion ne s'affecte pas je ne sais pas pourquoi
0