comment savoir quand on est à la fin de la base? - PHP - Programmation
Marsh Posté le 03-09-2008 à 10:03:18
Hein ? Y'a rien à faire de spécial. Tu fais comment pour lister les enregistrements ? Poste un peu de code
Marsh Posté le 03-09-2008 à 10:06:20
j'adore le "feof"
y sont au courant les devs de PHP que le "F" de la fin de "EOF" ça veut déjà dire "FILE" ? que donc "FILE END OF FILE" ça veut rien dire ?
c'est pas parceque les noms de fonction en C sont débiles qu'il faut reprendre les mêmes
bon, ceci mis à part :
Code :
|
note le "=" et non le "==".
tu as la réponse.
le fetchrow retourne soit un array contenant les champs, soit un booléen "false" quand tu arrives à la fin, ce qui te fait donc sortir du while
Marsh Posté le 03-09-2008 à 10:52:58
Merci de votre réponse rapide.
voici un peu de code
Code :
|
si je suis les conseil de MagicBuzz cela devrai donner:
Code :
|
désolé pour l'indentation à la noix ...
Magicbuzz comment fait tu pour avoir la coloration syntaxique dans ton code sur ce forum??
Marsh Posté le 03-09-2008 à 10:55:03
Ca devrait plutôt donner ça :
Code : |
Marsh Posté le 03-09-2008 à 11:05:26
non il faudrait que tu apprennes à faire une jointure pour éviter de refaire une requete dans ta boucle.
Marsh Posté le 03-09-2008 à 11:21:02
A part stocker la table base dans un tableau je vois pas comment faire pour pas faire de requête dans une boucle.
Marsh Posté le 03-09-2008 à 11:41:15
cf ma signature
c'est un peu long à lire, mais tu auras toutes les explications pour faire des jointures, et pourquoi il vaut mieux faire des jointures
Marsh Posté le 03-09-2008 à 12:01:39
une jointure je sais ce que c'est mais là je ne vois pas comment l'appliquer!
Marsh Posté le 03-09-2008 à 12:09:31
petites questions:
nom1, nom2, numref et email sont des champs de la table architectes2? (si oui, t'as pas forcément besoin d'une jointure)
est ce que numref est une PK ? (si oui, le while ne sert plus vraiment à grand chose)
est ce que tu veux le nom1, nom2, numref et email de TOUS les enregistrements de ta table? (si oui: enleve la clause where de ta requete)
Marsh Posté le 03-09-2008 à 12:13:16
while ($row = mysql_fetch_assoc($result))
=> ton $result il vient de quoi comme requête ?
c'est cette requête qu'il faut joindre avec 'SELECT * '. ' FROM `architectes2` WHERE numref =' . $i;
Marsh Posté le 03-09-2008 à 12:13:25
désolé, j'ai édité entre temps...
Marsh Posté le 03-09-2008 à 12:18:25
J'ai ma table architecte2 qui est peuplée, Je veux scanné ma table pour récupérer le champ email de chacun envoyer le mail et passer a l'enregistrement suivant récupérer le mail ... et arriver à la fin de ma table et dire terminer.Mon numref et une clef primaire autoincrement.
Marsh Posté le 03-09-2008 à 12:22:56
ok, parfait.
ta requete est donc erronée: si tu indiques un numref (qui est donc pk autoincrement) tu n'auras qu'un seul et unique enregistrement en réponse (ou 0, eventuellement). En revanche, si tu lui précises pas de filtre, il te renvoie la liste entiere des enregistrements, que tu parcours avec le
Code : |
il te reste donc à écrire ton traitement à l'intérieur du { } du while.
Marsh Posté le 03-09-2008 à 10:02:03
Est ce que quelqu'un sait comment on fait pour savoir si l'on est à la fin de la bdd, un peu comme le "feof" dans un fichier?
Je doit scanné tout les enregistrement de ma base mais je ne sais pas comment clôturer ma boucle.
merci par avance.