Lancer une fonction apres une requête SQL
Résolu
chantaussel
Messages postés
137
Date d'inscription
Statut
Membre
Dernière intervention
-
chantaussel Messages postés 137 Date d'inscription Statut Membre Dernière intervention -
chantaussel Messages postés 137 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Voilà mon problème:
J'ai créé une fonction qui vise à récupérer des données après avoir fait une requête SQL, mais elle ne me retourne aucune donnée... Voilà mon code (un peu raccourci):
La fonction tab_leaf:
La requête suivie de l'appel de la fonction:
La requête fonctionne car les données du champ 'generation' sont bien stockées dans la variable $leaf[1][10] , par contre le reste de l'array ($leaf[1][0] , $leaf[1][1] ...) reste totalement vide...
Merci d'avance!
Voilà mon problème:
J'ai créé une fonction qui vise à récupérer des données après avoir fait une requête SQL, mais elle ne me retourne aucune donnée... Voilà mon code (un peu raccourci):
La fonction tab_leaf:
function tab_leaf($i) { $leaf[$i][0] = $donnees['id']; $leaf[$i][1] = $donnees['nom']; $leaf[$i][2] = $donnees['prenom']; return $leaf[$i]; }
La requête suivie de l'appel de la fonction:
$reponse = mysql_query("SELECT *, DATE_FORMAT(date_n, '%d-%m-%Y') AS date_n, DATE_FORMAT(date_d, '%d-%m-%Y') AS date_d FROM leaves WHERE id='$id'"); $donnees = mysql_fetch_array($reponse); $leaf[1] = tab_leaf(1); $leaf[1][10] = $donnees['generation'];
La requête fonctionne car les données du champ 'generation' sont bien stockées dans la variable $leaf[1][10] , par contre le reste de l'array ($leaf[1][0] , $leaf[1][1] ...) reste totalement vide...
Merci d'avance!
A voir également:
- Lancer une fonction apres une requête SQL
- Fonction si et - Guide
- Lancer une application au démarrage windows 10 - Guide
- Fonction miroir - Guide
- Requete sql pix - Forum PHP
- Excel remplir automatiquement une cellule en fonction d'une autre ✓ - Forum Excel
4 réponses
Dans une fonction , on ne peut utiliser que ses variables locaux ou les variables globales
donc , il faut mettre le requête au sein de la fonction :)
donc , il faut mettre le requête au sein de la fonction :)
Alors , la solution est de mettre le résultat de la requête dans une variable puis la passer dans l'entête de la fonction
exemple :
$resultat = résultat de la requête , ça sera sous forme d'un Array
tu appel la fonction sous cette forme
function tatata($resultat);
et du la déclare sous cette forme
function tatata($resultat){
tes traitement ici en utilisant $resultat
}
exemple :
$resultat = résultat de la requête , ça sera sous forme d'un Array
tu appel la fonction sous cette forme
function tatata($resultat);
et du la déclare sous cette forme
function tatata($resultat){
tes traitement ici en utilisant $resultat
}
Youhou ça marche, merci!
Ca donne:
La fonction tab_leaf:
La requête suivie de l'appel de la fonction:
Ca donne:
La fonction tab_leaf:
function tab_leaf($i, $donnees) { $leaf[$i][0] = $donnees['id']; $leaf[$i][1] = $donnees['nom']; $leaf[$i][2] = $donnees['prenom']; return $leaf[$i]; }
La requête suivie de l'appel de la fonction:
$reponse = mysql_query("SELECT *, DATE_FORMAT(date_n, '%d-%m-%Y') AS date_n, DATE_FORMAT(date_d, '%d-%m-%Y') AS date_d FROM leaves WHERE id='$id'"); $donnees = mysql_fetch_array($reponse); $leaf[1] = tab_leaf(1, $donnees); $leaf[1][10] = $donnees['generation'];