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 10/02/2011, 10h08   #1
Nouveau Membre du Club
 
Inscription : juillet 2005
Messages : 89
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 89
Points : 32
Points : 32
Par défaut MySQL - PHP : tableau assoc nom du champ + valeur

BOnjour

Débutant en php je tente de recup, via un recordset
un tableau associatif contenant le nom des champs sélectionnés
dans la requête et leur valeur.

Ex.
Code :
1
2
3
SELECT ID, Name, Email, f1, f2, .... fn 
FROM TB1 
WHERE ID=1 LIMIT 1;
Je dois ensuite batir une querystring du type
&id=1&name=Joe&email=joe@domain.net&f1=val_f1&[....]&fn=val_fn

Je veux réaliser en gros :
for Chaque_champ_du_rs
$qs+=Chaque_champ_du_rs[Name]."=".Chaque_champ_du_rs[Value]."&";
next

En ASP ca donne

Code :
1
2
3
For Each oFld IN oRs.Fields
sQs=sQS & oFld.Name & "=" & oFld.Value & "&"
Next
J'ai essayé les fonctions :
# mysql_ fetch_ array
# mysql_ fetch_ assoc
# mysql_ fetch_ field
# mysql_ fetch_ lengths
# mysql_ fetch_ object
# mysql_ fetch_ row

Mais là je suis un peu paumé.
Un coup de main, un bout de pain svp.
Merci
__________________
Samish, rentier et futur retraité
Padawan #7896358
Samish est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/02/2011, 10h25   #2
Membre éclairé
 
Homme Jérémy
Étudiant
Inscription : octobre 2009
Messages : 236
Détails du profil
Informations personnelles :
Nom : Homme Jérémy
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : octobre 2009
Messages : 236
Points : 322
Points : 322
Pourrais-tu exprimer ton problème sans quoi il est difficile de t'aider.

Ta requête semble correcte bien que le limit ne soit pas indispensable vus que tu travaille sur ID et que ce champ doit être ta clé primaire.

Pour ta chaîne tu peut faire :
Code php :
1
2
 
$string="$id=".$ma_requete["id"]."$name=".$ma_requete["name"]."..."
gwharl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/02/2011, 10h40   #3
Nouveau Membre du Club
 
Inscription : juillet 2005
Messages : 89
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 89
Points : 32
Points : 32
0/ Merci gwharl de tes commentaires/réponses

1/
Code php :
$string="$id=".$ma_requete["id"]."$name=".$ma_requete["name"]."..."
C'est justement ce que je ne veux pas faire, càd avoir à coder
en dur les params.
Le nombre de champs sélectionnés dans la requête et leur nom étant variables.

2/ J'ai modifié la discussion initiale, car effectivement, c'était pas clair
__________________
Samish, rentier et futur retraité
Padawan #7896358
Samish est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/02/2011, 11h59   #4
Membre éclairé
 
Homme Jérémy
Étudiant
Inscription : octobre 2009
Messages : 236
Détails du profil
Informations personnelles :
Nom : Homme Jérémy
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : octobre 2009
Messages : 236
Points : 322
Points : 322
Pour ce qui est de ta requête je te conseillerais de faire
Code :
1
2
 
SELECT * FROM TB1 WHERE ID=1;
Code :
1
2
3
4
5
6
7
 
$row = mysql_fetch_row($ma_requete);
 
foreach($les_champs_selectionnes as $un_champ_selectionne)
{
    $chaine .= $un_champ_selectionne."=".$row['$un_champ_selectionne']."&";
}
Je suppose dans ce cas que tes noms de variable de tes champs selectionnés sont identique au nom des champs dans ta table.
gwharl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/02/2011, 10h36   #5
Nouveau Membre du Club
 
Inscription : juillet 2005
Messages : 89
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 89
Points : 32
Points : 32
k merci, je teste cela
__________________
Samish, rentier et futur retraité
Padawan #7896358
Samish est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/02/2011, 12h06   #6
Expert Confirmé
 
Avatar de RunCodePhp
 
Inscription : janvier 2010
Messages : 2 707
Détails du profil
Informations personnelles :
Localisation : Réunion

Informations forums :
Inscription : janvier 2010
Messages : 2 707
Points : 3 277
Points : 3 277
Salut

Si la requête retourne 1 seule ligne car l'ID est unique, de même que si les noms en paramètre sont les même que les champs, alors il y a plus simple encore à mon sens.

Code :
1
2
3
 
$donnes = mysql_fetch_assoc($ma_requete);
$url = http_build_query($donnes);
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20
Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra]
RunCodePhp 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 11h41.


 
 
 
 
Partenaires

Hébergement Web