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);

?>

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