[PHP/MySQL] Exporter données sur table Mysql
Résolu
Jeanette
-
Breub62 Messages postés 2989 Date d'inscription Statut Membre Dernière intervention -
Breub62 Messages postés 2989 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'essaie, en vain, d'exporter des données provenant d'une requête sur une table.
Sauriez vous me dire ce qui ne va pas dans mon code?
Merci
Mon code est le suivant :
<?php
session_name('acti');
session_start();
include ('../annexes/connexions/connexion.php');
$req=mysql_query("SELECT intervention.id_evenement,intervention.date_intervention, agent.nom_agent, agent.prenom
FROM intervention, agent
WHERE intervention.id_agent=agent.id_agent && intervention.id_agent_affecte=0")
or die("impossible d'executer la requete");
while($row = mysql_fetch_row($req))
{
$idevenement=$row[0];
$dateint=$row[1];
$nom=$row[2];
$prenom=$row[3];
}
$query= "INSERT INTO 'eds' ( 'id' , 'id_evenement' , 'date_intervention' , 'nom_agent' , 'prenom' )
VALUES ('', '".addslashes($row[0])."', '".addslashes($row[1])."', '".addslashes($row[2])."', '".addslashes($row[3])."')";
if(@mysql_query($query))
$erreur=1;
$i++;
if($erreur==1)
{
?>
<script language='javascript'>alert("Veuillez patienter..");</script>
<?php
}
else
{
?>
<script language='javascript'>alert("Impossible de stocker en base de données. Veuillez contacter votre administrateur.");</script>
<?php
}
?>
J'essaie, en vain, d'exporter des données provenant d'une requête sur une table.
Sauriez vous me dire ce qui ne va pas dans mon code?
Merci
Mon code est le suivant :
<?php
session_name('acti');
session_start();
include ('../annexes/connexions/connexion.php');
$req=mysql_query("SELECT intervention.id_evenement,intervention.date_intervention, agent.nom_agent, agent.prenom
FROM intervention, agent
WHERE intervention.id_agent=agent.id_agent && intervention.id_agent_affecte=0")
or die("impossible d'executer la requete");
while($row = mysql_fetch_row($req))
{
$idevenement=$row[0];
$dateint=$row[1];
$nom=$row[2];
$prenom=$row[3];
}
$query= "INSERT INTO 'eds' ( 'id' , 'id_evenement' , 'date_intervention' , 'nom_agent' , 'prenom' )
VALUES ('', '".addslashes($row[0])."', '".addslashes($row[1])."', '".addslashes($row[2])."', '".addslashes($row[3])."')";
if(@mysql_query($query))
$erreur=1;
$i++;
if($erreur==1)
{
?>
<script language='javascript'>alert("Veuillez patienter..");</script>
<?php
}
else
{
?>
<script language='javascript'>alert("Impossible de stocker en base de données. Veuillez contacter votre administrateur.");</script>
<?php
}
?>
A voir également:
- [PHP/MySQL] Exporter données sur table Mysql
- Fuite données maif - Guide
- Table ascii - Guide
- Table des matières word - Guide
- Mysql community server - Télécharger - Bases de données
- Exporter favoris chrome - Guide
12 réponses
Aucun message d'erreur, mais dans ma table je récupère une seule ligne et avec des valeurs nulles.
Sachant que la requête $req fonctionne, j'ai réussi à l'exporter dans un tableau.
Et la $query=INSERT INTO.. fonctionne egalement si je rentre des valeurs à la main.
Donc je pense que le problème vient du code qui relie ma requête $req au reste..
Sachant que la requête $req fonctionne, j'ai réussi à l'exporter dans un tableau.
Et la $query=INSERT INTO.. fonctionne egalement si je rentre des valeurs à la main.
Donc je pense que le problème vient du code qui relie ma requête $req au reste..
Non cela ne résout pas mon problème. echo $query; se contente de recopier la requête sur ma page web.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Oui je sais. Ce que je te demande c'est si cette requête qui s'affiche sur l'écran est correcte (syntaxe, valeurs à insérer correspondant à celles souhaités...)
Ca inscrit : INSERT INTO 'eds'( 'id' , 'id_evenement' , 'date_intervention' , 'nom_agent' , 'prenom' )
VALUES ('', '", '", '", '")
Cela veut-il dire que ca ne fonctionne pas?
VALUES ('', '", '", '", '")
Cela veut-il dire que ca ne fonctionne pas?
Salut,
et si tu essayais de mettre ton insert into dans la boucle qui parcours le resultat de ton select. Tel que tu l'a ecrit tu parcours d'abord ton tableau jusqua la fin et après tu insere. Normal que tu ais que des valeur nulle.
A quoi te sert tes affectations puisque tu ne t'en sert pas ?
$idevenement=$row[0];
$dateint=$row[1];
$nom=$row[2];
$prenom=$row[3];
Je pense que tu peux egalement virer "id" de ton insert puisque tu ne lui affecte pas de valeur (j'imagine que c'est un auto increment) :
$query= "INSERT INTO 'eds' ('id_evenement' , 'date_intervention' , 'nom_agent' , 'prenom' )
VALUES ('".addslashes($row[0])."', '".addslashes($row[1])."', '".addslashes($row[2])."', '".addslashes($row[3])."')";
et si tu essayais de mettre ton insert into dans la boucle qui parcours le resultat de ton select. Tel que tu l'a ecrit tu parcours d'abord ton tableau jusqua la fin et après tu insere. Normal que tu ais que des valeur nulle.
A quoi te sert tes affectations puisque tu ne t'en sert pas ?
$idevenement=$row[0];
$dateint=$row[1];
$nom=$row[2];
$prenom=$row[3];
Je pense que tu peux egalement virer "id" de ton insert puisque tu ne lui affecte pas de valeur (j'imagine que c'est un auto increment) :
$query= "INSERT INTO 'eds' ('id_evenement' , 'date_intervention' , 'nom_agent' , 'prenom' )
VALUES ('".addslashes($row[0])."', '".addslashes($row[1])."', '".addslashes($row[2])."', '".addslashes($row[3])."')";
Ça veut dire que la requête exécutée ne t'insère qu'un enregistrement vide...
A ta place au lieu de :
je ferais :
A ta place au lieu de :
while($row = mysql_fetch_row($req)) { $idevenement=$row[0]; $dateint=$row[1]; $nom=$row[2]; $prenom=$row[3]; } $query= "INSERT INTO 'eds' ( 'id' , 'id_evenement' , 'date_intervention' , 'nom_agent' , 'prenom' ) VALUES ('', '".addslashes($row[0])."', '".addslashes($row[1])."', '".addslashes($row[2])."', '".addslashes($row[3])."')";
je ferais :
while($row = mysql_fetch_row($req)) { $idevenement=$row[0]; $dateint=$row[1]; $nom=$row[2]; $prenom=$row[3]; $query= "INSERT INTO 'eds' ( 'id' , 'id_evenement' , 'date_intervention' , 'nom_agent' , 'prenom' ) VALUES ('', '".addslashes($idevenement)."', '".addslashes($dateint)."', '".addslashes($nom)."', '".addslashes($prenom)."')"; mysql_query($query) or die(mysql_error()); }
Alors oui effectivement il fallait mettre le INSERT INTO dans la boucle While. Je vous remercie!
Seulement cela n'affiche qu'une seule ligne de ma requête, avec les bonnes valeurs certes, mais comment tout afficher? La boucle while n'est-elle pas censer retourner toutes les valeurs?
Seulement cela n'affiche qu'une seule ligne de ma requête, avec les bonnes valeurs certes, mais comment tout afficher? La boucle while n'est-elle pas censer retourner toutes les valeurs?
Avant
Ainsi tu verra toutes les requêtes exécutées...
mysql_query($query) or die(mysql_error());tu met echo $query."<br />";
Ainsi tu verra toutes les requêtes exécutées...
Cela ne fonctionne pas. Mais je ne suis pas sure d'avoir bien compris.
echo $query."<br/>"; devrait afficher tout les résultats dans ma table?
echo $query."<br/>"; devrait afficher tout les résultats dans ma table?
Non je n'ai toujours qu'une ligne insérée dans ma table.
Est bien comme cela que je dois faire :
echo $query."<br/>";
$req=mysql_query("SELECT intervention.id_evenement,intervention.date_intervention, agent.nom_agent, agent.prenom
FROM intervention, agent
WHERE intervention.id_agent=agent.id_agent && intervention.id_agent_affecte=0")
or die("impossible d'executer la requete");
ou $query = ("SELECT intervention.id_evenement,intervention.date_intervention, agent.nom_agent, agent.prenom
FROM intervention, agent
WHERE intervention.id_agent=agent.id_agent && intervention.id_agent_affecte=0"
Est bien comme cela que je dois faire :
echo $query."<br/>";
$req=mysql_query("SELECT intervention.id_evenement,intervention.date_intervention, agent.nom_agent, agent.prenom
FROM intervention, agent
WHERE intervention.id_agent=agent.id_agent && intervention.id_agent_affecte=0")
or die("impossible d'executer la requete");
ou $query = ("SELECT intervention.id_evenement,intervention.date_intervention, agent.nom_agent, agent.prenom
FROM intervention, agent
WHERE intervention.id_agent=agent.id_agent && intervention.id_agent_affecte=0"
$query ="SELECT intervention.id_evenement,intervention.date_intervention, agent.nom_agent, agent.prenom FROM intervention, agent WHERE intervention.id_agent=agent.id_agent && intervention.id_agent_affecte=0"; $res=mysql_query($query); while($data=mysql_fetch_assoc($res)) { echo "<br />intervention.id_agent :".$data['intervention.id_evenement']." intervention.date_intervention : ".$data['intervention.date_intervention']." ..."; }