emlesna
Messages postés27Date d'inscriptionvendredi 25 août 2006StatutMembreDernière intervention 5 juin 2008
-
7 mai 2008 à 09:37
emlesna
Messages postés27Date d'inscriptionvendredi 25 août 2006StatutMembreDernière intervention 5 juin 2008
-
14 mai 2008 à 15:45
Bonjour,
Voici ma question :
J'utilise une fonction qui récupère des valeurs de champs dans une bdd
J'ai fait en sorte que les variable soient créées dynamiquement pour sauter
le travail d'affectation.
Ce qui me donne :
<?php
function lire_bdd($id)
{ $query mysql_query("SELECT id_fiche, nom, adresse, ville FROM fiche_contact WHERE id_fiche $id")
or die("Erreur SQL ! pendant l'acces a la table fiche_contact ".mysql_error());
$row = mysql_fetch_array($query);
while(list($key,$val) = each($row))
{
// création dynamique de la variable
${$key} = $val;
}
}
?>
- Si je fait "echo $ville;" pour tester, j'obtiens :
=> " Undefined variable: ville in /home/.... "
=> mais également l'affichage de sa valeur !!!!
-J'en déduis que l'erreur PHP se justifie par la non-déclaration des variables
mais qu'elle s'affiche néanmoins car elle existe.....
J'ai ajouté "@" devant, ce qui ignore l'erreur, mais est-ce une véritable solution ?
Comment rendre accessible ces variables en dehors de la boucle "while" ?
MasterCent
Messages postés83Date d'inscriptionjeudi 22 septembre 2005StatutMembreDernière intervention14 décembre 20111 7 mai 2008 à 11:32
Salut,
J'ai pratiqué cette manière de faire, pour affecter mes variables ...et cela fonctionne très bien !
$this->$key = $value ... // je travaille avec une class
Ceci etant fait, comment restituer ces variables à la sortie de cette fonction.?
(Par exemple, dans la continuité de mon code, je souhaite utiliser directement $adresse, $ville, $nom)
faiblard
Messages postés337Date d'inscriptionsamedi 3 février 2007StatutMembreDernière intervention 4 janvier 2011 7 mai 2008 à 14:39
Bonjour
comment veux tu les utiliser ailleurs si tu n'as pas de return dans ta fonction?
-------------------------------------------------------------------
La recherche est ton amie ! Promis elle ne te mordra pas...
Enjoy
N'oubliez pas d'accepter pour aidez les autres quand ils cherchent !
Vous n’avez pas trouvé la réponse que vous recherchez ?
-------------------------------------------------------------------
La recherche est ton amie ! Promis elle ne te mordra pas...
Enjoy
N'oubliez pas d'accepter pour aidez les autres quand ils cherchent !
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 7 mai 2008 à 19:54
Hello,
<?php
function lire_bdd($id)
{
$aData = array(); $query mysql_query("SELECT id_fiche, nom, adresse, ville FROM fiche_contact WHERE id_fiche $id")
or die("Erreur SQL ! pendant l'acces a la table fiche_contact ".mysql_error());
$row = mysql_fetch_array($query, MYSQL_ASSOC);
while(list($key,$val) = each($row))
{
// création dynamique de la variable
$aData[$key] = $val;
emlesna
Messages postés27Date d'inscriptionvendredi 25 août 2006StatutMembreDernière intervention 5 juin 2008 14 mai 2008 à 15:45
Salut et merci à Malalam !
Toujours dans dans le même genre :
J'ai besoin de créer et initialiser des variables qui corespondent aux noms de colonnes d'une table de ma BDD
Je souhaite qu'elles existent mais que leur valeur soit nulle.
($nom; $prenom; $ville)
De la sorte je pourrai laisser mon code tel quel :
<?php
$form .= <label for="nom">Nom</label>
;
?>
sans afficher de message d'erreur .
Voici où j'en suis :
<?php
//récupère tout les champs d'un table
$fields=mysql_list_fields('ma_bdd','ma_table');
// récupère le nombre de champs d'un table
$columns=mysql_num_fields($fields);
$aField = array();
for($i=0;$i<$columns;$i++)
{
// on affecte les valeurs du tableau
$aField[$i] = mysql_field_name($fields,$i);
}
?>
Oui, mais voilà, je suis coinçé ...
Comment toucher mon but en partant de mon tableau $aField ?