mettre une requete dans une boucle qui fonctionne - PHP - Programmation
Marsh Posté le 24-03-2009 à 15:12:17
Je ne pense pas que ça vienne de ça. Je le fais constamment et je n'ai jamais eu de problème.
Quand tu dis que tu as testé ta requête, c'est à l'aide de phpmyadmin ou d'un autre client MySQL ?
Tu dis que la boucle while cesse, est-ce dès la première itération ?
Est-ce que ce qu'il y a après est executé ?
Est-ce que tu as une erreur sur ta page ?
Marsh Posté le 25-03-2009 à 09:08:55
Bonjour Tirkyth
Je te remercie de ton aide.
J'ai pris la requete à part, avec phpmyadmin. J'ai aussi fait un essai sur la page... et le champ souhaité s'affiche (donc la requete a marché), sauf que la boucle s'arrete
La boucle while cesse dès la première itération.
Le suite de la page est executé normalement, donc la page s'affiche normalement, sauf qu'il n'y a qu'un seul forum (le premier) qui s'affiche (c'est la page index).
Voila...
a+
Marsh Posté le 25-03-2009 à 09:51:21
1. Pour rendre ton code plus lisible, plus facile à maintenir et la mise en page plus facilement modifiable, je te conseille d'éviter de trop mélanger la partie récupération de données et la partie affichage...
donc, oui, si tu peux séparer le php du html c'est toujours mieux...
Sinon, question bête :
Si la boucle s'arrête, c'est peut-être que la condition n'est plus vérifiée.
Code :
|
Tu es sensé récupérer quoi ?
Un coup de var_dump sur les différents éléments de ton test pourrait te donner quelques indications...
Marsh Posté le 25-03-2009 à 13:03:45
à part çà, pour tout le monde, merci d'utiliser les bonnes balises de code :
[code=php][/code] pour PHP par exemple.
Marsh Posté le 25-03-2009 à 13:52:48
Il y a un bouton pour [cpp][/cpp], pas pour les autres...
...
Pour rester dans le HS : on peut trouver la liste des balises "cachées" quelque part ?
Marsh Posté le 25-03-2009 à 13:56:37
elle a déjà été donnée plusieurs fois mais tous les langages n'y sont pas.
Et [cpp] ne sert à rien en plus, il ne colorise pas comme il faut il faut utiliser [code=cpp]
Marsh Posté le 25-03-2009 à 14:50:35
Bonjour
C'est mieux maintenant?
Par contre je suis assez décu...
Voila les résultats de mes essais:
juste avant la fin de boucle (ligne 115 sur mon 1er post) j'ai mis un
Code :
|
Sans ma requete perso... ca boucle normalement...
Avec ma requete perso, "fin de boucle" s'affiche, et la ca boucle plus, la fin de la page s'execute.
J'ai fait un var_dump avant et après ma requete sur $cur_forum.
J'ai constater que le fait de faire ma requete ne change pas ma variable (tabelau?) $cur_forum.
En fait je suis quasi-certain que le fait de faire ma requete perso fait descendre le pointeur utilisé dans la requete du while après la dernière ligne du résultat de cette requete... donc forcément... on sort de la boucle... Pourquoi... je sais pas...
enfin voila ou j'en suis... sachant que le je suis à la limite de mes connaissances...
Sinon , je voulais faire ma requete, pour faire un système d'url cohérents... perso je connais pas un forum libre qui en natif soit satisfaisant à ce niveau...
Bref, ici je sais plus trop quoi faire...
a+
Marsh Posté le 25-03-2009 à 14:54:36
tu peux pas écrire ton post d'un coup, comme tout le monde ?
Marsh Posté le 25-03-2009 à 15:07:53
autre question : pourquoi utilises-tu un objet pour gérer les requêtes SQL (voir ton while) et puis les fonctions du module mysql après
Marsh Posté le 25-03-2009 à 15:15:44
J'en sais rien...
C'est le programme qui est comme ca...
D'ailleurs , pour moi les objets c'est pas ma tasse de thé...
Marsh Posté le 25-03-2009 à 15:23:54
d'après les commentaires çà vient de tes modifications...
Marsh Posté le 25-03-2009 à 15:34:21
Lignes 77 et 78 (celles que tu as rajoutées) :
Rajoute or die (mysql_error()); et donne-nous le résultat...
Marsh Posté le 25-03-2009 à 17:07:32
Hello,
j'ai trouvé une alternative en modifiant la 1ère requete et en incluant dès le départ les champs que je cherche par le suite...
En tout cas merci beaucoup....
Marsh Posté le 24-03-2009 à 11:19:38
Voila j'ai une question un peu bizarre.
Voila le code PHP
Il s'agit d'un bout de code de punbb qui j'essaye d'améliorer...
Dans une boucle while existante, je veux ajouter une requete pour chercher des champs supplémentaires.
J'ai tout vérifier... à savoir que la requete est juste (elle fonctionne mise dans un script toute seule).
Hors il me semble que le problème vient de la facon dont la page est codée:
Elle est codé de cette manière:
while
{
?> du html
<?php
des tests
?>
du html
<?php
ma requete
?>
du html
<?php
}
?>
alors qu'elle aurait du etre fait de la manière suivante:
<?php
while
{
echo "code html";
des tests
echo "code html";
requete dans la base de donnée
echo "code html";
}
serait-ce la source du problème?
J'avais déjà eu ce problème il y a longtemps sur un de mes programmes... la seules facon pour enlever le problème avait été d'enlever les
?>code html
<?php
intempestifs par des echo... et du coup, tout fonctionnait... mais ici, si il faut faire ca, je change de crèmerie, car je vais pas réecrire tout le code...
Merci pour vos idées
a+
Message édité par alain1111 le 25-03-2009 à 14:46:43