Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
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 29/01/2007, 11h47   #1
Futur Membre du Club
 
Inscription : septembre 2006
Messages : 132
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 132
Points : 17
Points : 17
Par défaut [Conception] requete qui ne s'effectue pas correctement

bonjour,
excusez moi de deranger encore, mais j'ai une requete qui est censee recuperer pour chaque type , la liste des processus qui lui sont rattachés

et donc je construis un tableau a deux dimensions

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
$queryP= "SELECT T.NUM_TYPE AS NUM_TYPE, PT.id_process AS id
	   FROM type_document T, processus_type PT
	   WHERE T.NUM_TYPE=PT.NUM_TYPE ";
 
$resultP = db_send_query("Erreur lors de la récupération des correspondances types de documents / processus", $queryP);
$num_type=-1;
while ($row = db_fetch_array($resultP)) {
	if ($row['NUM_TYPE'] != $num_type) {
		$num_type = $row['NUM_TYPE'];
		$process[$num_type] = array();	
	}
	array_push($process[$num_type], $row['id']);
 
}
le probleme , c'est que au resultat , le tableau ne revoie que pour chaque type que un processus, et pas tous les processus , est ce que c'est mon array push qui est mal placé?

merci d'avance de m'eclaircir
eclipse012 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2007, 11h51   #2
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
Ton $num_type est déclaré en interne dans ton if donc quand tu ne rentres pas dans la condition je pense qu'il y a un problème pour faire le array_push...
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2007, 11h54   #3
Futur Membre du Club
 
Inscription : septembre 2006
Messages : 132
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 132
Points : 17
Points : 17
oui en fait j'ai initialise numtype en dehors de la boucle while a -1 mais ca marche pas, pourtant un momnet ca a marche mais le probleme c 'est que je me quis tellement cassee la tete et fait des modifs que je ne sais plus a quel moment ca a marché
eclipse012 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2007, 11h56   #4
Expert Confirmé Sénior
 
Avatar de Mr N.
 
Inscription : septembre 2004
Messages : 5 421
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 5 421
Points : 5 835
Points : 5 835
Essaie comme ceci :
Code :
1
2
3
4
	if (!isset($process[$row['NUM_TYPE']])) {
		$process[$row['NUM_TYPE']] = array();	
	}
	array_push($process[$row['NUM_TYPE']], $row['id']);
Sinon tu peux remplacer la syntaxe
Code :
array_push($process[$row['NUM_TYPE']], $row['id']);
par
Code :
$process[$row['NUM_TYPE']][] = $row['id'];
__________________
Get your motor runnin'
Head out on the highway...
Mr N. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2007, 11h59   #5
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
Citation:
Envoyé par eclipse012
oui en fait j'ai initialise numtype en dehors de la boucle while a -1 mais ca marche pas, pourtant un momnet ca a marche mais le probleme c 'est que je me quis tellement cassee la tete et fait des modifs que je ne sais plus a quel moment ca a marché
Ah oui désolé j'avais pas vu l'initialisation avant la boucle
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2007, 12h03   #6
Futur Membre du Club
 
Inscription : septembre 2006
Messages : 132
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 132
Points : 17
Points : 17
oh mon dieu!!! j'ai essayé avec

Code :
1
2
3
4
5
6
 
 
if (!isset($process[$row['NUM_TYPE']])) {
		$process[$row['NUM_TYPE']] = array();	
	}
	array_push($process[$row['NUM_TYPE']], $row['id']);
et ca marche!!! woww
mais apr contre je ne comprends pas trop pourquoi, je vais essayer de voir et revoir en detail

merci a tous pour votrea aide!
eclipse012 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/01/2007, 12h06   #7
Expert Confirmé Sénior
 
Avatar de Mr N.
 
Inscription : septembre 2004
Messages : 5 421
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 5 421
Points : 5 835
Points : 5 835
Je penses que tu peux meme supprimer le if et ne laisser que le array_push et ca devrait marcher
__________________
Get your motor runnin'
Head out on the highway...
Mr N. est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h11.


 
 
 
 
Partenaires

Hébergement Web