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 20/06/2011, 11h34   #1
Invité régulier
 
Homme martin
Étudiant
Inscription : avril 2011
Messages : 5
Détails du profil
Informations personnelles :
Nom : Homme martin
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 5
Points : 5
Points : 5
Par défaut Problème avec un tableau

Bonjour,

J'ai une fonction qui fait une recherche dans ma base et qui doit me renvoyer un tableau avec plusieurs valeurs dedans.

J'arrive à afficher les résultats voulu (2 éléments) mais par contre quand je compte les éléments de mon tableau avec count() il m'indique 1 seul élément et quand j'utilise is_array() il m'indique que ce n'est pas un tableau.

J'utilise mysql_fetch_array pour créer mon tableau. Je voudrai être sur que ma fonction va bien me retourner mon tableau complet.

Voici mon code :

<?php
include ('/var/www/html/test/connect.php');

// RETOURNE UN TABLEAU AVEC LES ID DES PERES DU SCRIPT PASSE EN PARAMETRE

function recherche_dep($dbname,$idConnexion,$id){

mysql_select_db($dbname,$idConnexion);
$rq="select iddep from T_DEPENDANCE where idobj=$id";
$result= mysql_query($rq,$idConnexion);


if (!$result){
echo "erreur DB, impossible d'effectuer une requête\n";
echo 'erreur MySQL : ' . mysql_error();
exit;
}

while($dependance = mysql_fetch_array($result,MYSQL_ASSOC)){
echo 'dépendance du script : '.$dependance['iddep'].'';
echo "\n";
}
$nb_element=count($dependance);
echo "$nb_element\n";
echo is_array($dependance) ? 'Tableau' : 'ce n\'est pas un tableau';
return $dependance;
}

$id=4;
recherche_dep($dbname,$idConnexion,$id);

?>


Et la sortie :


connexion réussie
dépendance du script : 3
dépendance du script : 2
1
ce n'est pas un tableau

Ca fait des heures que je rame la dessus, est ce qu'un pro peux m'aider?
Isildurr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2011, 12h09   #2
Nouveau Membre du Club
 
Inscription : octobre 2007
Messages : 34
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 34
Points : 31
Points : 31
Bonjour Isildurr,

Le count sur le tableau que tu veux faire te renverras tjrs il est initialisé à chaque tour de boucle de ton while.
Code :
($dependance = mysql_fetch_array($result,MYSQL_ASSOC))
Pour ajouter des éléments il faut incrémenter un compteur :
Voir la fonction plus bas.

J'ai modifié ta fonction qui n'est pas du tout générique pour qu'elle te renvoie un tableau qqsoit la requête que tu lui passes selon ce que tu as fait :
Code :
1
2
3
4
5
6
7
function devResultatRequete($sSql, $idConnexion){
	$result = mysql_query($sSql, $idConnexion);
	while($dependance = mysql_fetch_assoc($result)){
		$vRet[] = $dependance;
	}
	return = $vRet;
}
Ensuite fait un pour voir comment elle t'affiche le résultat:
Code :
1
2
3
 
$aTab = devResultatRequete($sMaRequete, $nMonIdConnexion);
devPrintR($aTab);
ou la fonction de debugage devPrintR vaut:

Code :
1
2
3
4
5
function devPrintR($vVar){
	echo '<pre>';
	print_r($vVar);
	echo '</pre>';
}
En espérant t'aider.

Cdlt.
cycyand1 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 20/06/2011, 14h15   #3
Invité régulier
 
Homme martin
Étudiant
Inscription : avril 2011
Messages : 5
Détails du profil
Informations personnelles :
Nom : Homme martin
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 5
Points : 5
Points : 5
Merci beaucoup cycyand grace à toi ma fonction me retourne bien le résultat que j'attendais maintenant .
Isildurr est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2011, 14h20   #4
Nouveau Membre du Club
 
Inscription : octobre 2007
Messages : 34
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 34
Points : 31
Points : 31
You're welcome .
cycyand1 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 22h25.


 
 
 
 
Partenaires

Hébergement Web