Pb de boucle While avec 2 bases - PHP - Programmation
Marsh Posté le 04-12-2009 à 17:23:02
Salut,
Pour commencer, deux trucs :
1) Ne mets jamais de "select *" dans les requêtes, car :
- tu ne sais pas explicitement ce que tu récupères
- tu récupères potentiellement beaucoup trop d'information par rapport à ce qui est nécessaire
- pour la maintenance, c'est pas top
2) Dans les die()
PHP te permet d'écrire des chaînes de caractères de deux manières : avec des quotes et avec des guillemets. Pour comprendre la différence, voici un exemple :
$machaine = 'test';
echo '$machaine';
echo "$machaine"
Le premier echo affichera $machaine
Le second echo affichera test
Tout ça pour dire que tu as oublié les $ devant le nom des variables dans tes die.
Ensuite, voici ton souci : tu ne peux pas utiliser un while() avec deux boucles en même temps, ce n'est pas logique.
Il faut utiliser deux boucles impriquées :
while (mysql_fetch...1) {
// Je détermine ma seconde requête à partir du résultat de la première
while (mysql_fetch...2) {
// Code
}
}
Là, dans ton code, tu sélectionnes tous les horaires sans tenir compte de l'activité.
Marsh Posté le 04-12-2009 à 17:24:53
Enfin, si tu utilises des classes, le align="left" devrait être dans le CSS...
Marsh Posté le 04-12-2009 à 17:51:38
Bonsoir,
merci pour les infos
pour les *, je veux effectivement récupérer toutes les infos de ma base c'est donc pour cela que j'ai utilisé ce sigle (pas bien quand même ??)
euh... pour mes die, c'est simplement qu'au début, j'avais une erreur de "query empty" et comme j'en ai 2, c'était simplement pour les différencier
J'ai effectivement essayé dans un premier temps cette solution d'imbriquer 2 while, mais je tombe toujours sur le même résultat c'est à dire que j'ai seulement ma première ligne qui apparaît...
Je refais un essai en mettant les 2 while imbriqués
Marsh Posté le 04-12-2009 à 17:57:51
Même si tu veux tous les champs, habitue-toi à les écrire explicitement. Le jour où tu devras récupérer le code de qqun d'autre, tu seras bien content de ne pas avoir à aller voir la structure de la table...
Pour les chaînes, je voulais dire que
die("Exécution de la requête impossible $query2:" .mysql_error());
est plus explicite que
die("Exécution de la requête impossible query2:" .mysql_error());
même si ta ligne est correcte.
Marsh Posté le 04-12-2009 à 18:05:17
enought a écrit : Bonsoir, |
Eh bien c'est une très bonne nouvelle, cela fonctionne !!
Merci beaucoup pour votre aide ^^
Marsh Posté le 04-12-2009 à 17:02:07
Bonjour à tous,
Voila je suis en train de préparer une page ou j'ai besoin d'afficher des données provenant de 2 tables
Je m'explique un peu plus
J'ai une table activites dont je veux afficher le contenu et une deuxième table qui sera affiché suivant le contenu de la première grâce à un id
Mon problème est que j'ai seulement ma première ligne qui s'affiche
voici le code :
pourriez vous m'aider à résoudre mon problème car je ne trouve pas......
Précision, je suis en plein apprentissage de ce language, donc l'optimisation n'est pas encore au goût du jour
Merci d'avance pour vos réponses