Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/07/2011, 17h32   #1
Invité de passage
 
Femme
Consultante Santé
Inscription : juillet 2011
Messages : 2
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Consultante Santé
Secteur : Conseil

Informations forums :
Inscription : juillet 2011
Messages : 2
Points : 0
Points : 0
Par défaut Problème avec un SELECT

Bonjour,

J'aurais besoin de votre aide pour une requête SQL.
Je vous plante le décor : j'ai une cinquantaine de bases de données contenant toutes une table "operateurs" qui contient notamment les colonnes "nom" et "spe".
Je souhaite dans une base de données à part, dans la table "chirurgiens" regrouper l'ensemble des tables "operateurs" (enfin seulement les colonnes "nom" et "spe") en ajoutant en première colonne le nom de la base de laquelle sont extraites les colonnes.
Par exemple dans la base BDD1 j'avais dans la table operateurs une ligne : MARTIN || Gynéco
Je souhaite dans ma nouvelle base avoir : BDD1 || MARTIN || Gynéco

J'ai donc écris comme code :
Code :
"INSERT INTO chirurgiens(`Etab`, `nom`, `spe`) SELECT ('".$bdd[$i]."'), `nom`, `spe` FROM ".$bdd[$i].".operateurs"
Dans un array nommé bdd, j'ai mis tous les noms des bases à parcourir. Et je fais une boucle sur ce tableau.

Lorsque je lance cela, je n'ai que la première ligne de chaque table operateurs qui est mise dans ma nouvelle base. Pourquoi ?
Je n'arrive pas à voir où serait l'erreur...
Le SELECT ne devrait-il pas prendre toutes les lignes ??

Merci d'avance !
Lucie_92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2011, 19h21   #2
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 11 008
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 11 008
Points : 18 279
Points : 18 279
Envoyer un message via MSN à CinePhil
La requête ne semble pas en cause puisque la BDD est alimentée. C'est plutôt la boucle PHP qui semble bugguée mais sans le code... on ne peut pas t'aider.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/07/2011, 19h48   #3
Invité de passage
 
Femme
Consultante Santé
Inscription : juillet 2011
Messages : 2
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Consultante Santé
Secteur : Conseil

Informations forums :
Inscription : juillet 2011
Messages : 2
Points : 0
Points : 0
Merci pour cette première analyse.
Du coup, voici mon code :
Code :
1
2
3
4
5
6
7
8
9
10
 
mysql_select_db('bddglobale', $connect) or die(mysql_error());
 
 
$bdd = array('a','b','c','d','e');
 
for ($i=0;$i<count($bdd);$i++){
	$req1 = "INSERT INTO chirurgiens(`Etab`, `nom`, `spe`) SELECT ('".$bdd[$i]."'), `nom`, `spe` FROM ".$bdd[$i].".operateurs";
	mysql_query($req1) ;
}
Lucie_92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h15.


 
 
 
 
Partenaires

Hébergement Web