- alors la si qqun y comprends qque chose, CHAPO! [résolu] [PHP/MYSQL] - PHP - Programmation
Marsh Posté le 16-11-2002 à 17:53:37
Heu juste comme ça, t'aurait pas oublié un GROUP BY dans la 2e requete? Tu l'as bien verifieé?
Essaie "echo $construct_rq_count" au cas ou, je voit que ca...
Marsh Posté le 16-11-2002 à 17:57:12
lechad a écrit a écrit : Heu juste comme ça, t'aurait pas oublié un GROUP BY dans la 2e requete? Tu l'as bien verifieé? Essaie "echo $construct_rq_count" au cas ou, je voit que ca... |
je te jure que je passe mon temps a faire un echo juste avant l'execution, et j'ai bien mis le GROUP BY regarde par toi meme :
vla l'adresse du site la requete s'affiche en haut grmble
le pire c que quand je la copie et colle cette requete dans phpmyadmin ca marche bien , c la que c completement absurde !
( fait pas attention auxmessages debiles c pour tester )
http://www.decorations.be/gbb/?act [...] t&PostID=1
Marsh Posté le 16-11-2002 à 18:05:40
Ca serait peut être pas con d'exécuter toute la requête dans phpmyadmin et donc ne pas s'arrêter au milieu.
Ta requête complète, c'est :
Code :
|
Celle que t'as testé, c'est :
Code :
|
Au fait, t'as descaractère bizare au milieu de ta requête, c'est pas ça qui foutrait la merde?
Quand on coupe au niveau des caractères bizare, on optient la requête :
Code :
|
Et hop, plus de GROUP BY donc, le count(*) agis sur tout.
C'est con quand même.
Marsh Posté le 16-11-2002 à 18:14:42
omega2 a écrit a écrit : Ca serait peut être pas con d'exécuter toute la requête dans phpmyadmin et donc ne pas s'arrêter au milieu. Ta requête complète, c'est :
|
Je comprends pas de quel caractere bizzare tu parles???
jai testé avec ou sans le order by, ca change rien du tout
Marsh Posté le 16-11-2002 à 18:15:56
Je me trompe peut-etre mais apparement c bon la non?
Il affiche
2
2
1
en bas de la page...
Ce ce qui te faut non?
Marsh Posté le 16-11-2002 à 18:17:51
lechad a écrit a écrit : Je me trompe peut-etre mais apparement c bon la non? Il affiche 2 2 1 en bas de la page... Ce ce qui te faut non? |
oui c ce quil me faut mais, ne crie pas victoire cela je l'obtiens en faisant un autre bout de code ailleur dans le script mais en ayant copié collé la requete aussi pour tester, et la curieusement ca marche ???????????
c'est vraiemnt incomprehensible....
Marsh Posté le 16-11-2002 à 18:18:11
schtroumpheur a écrit a écrit : Je comprends pas de quel caractere bizzare tu parles??? jai testé avec ou sans le order by, ca change rien du tout |
Ca, c'est toi seul qui peut nous le dire, moi, j'utilises mozilla et au milieu de ta requête, je vois deux carrés à la place de deux caractère inafichable et ce sont pas des return.
Quand je fais un copier collé de l'ensemble de ta requête, le copié collé ce coupe au niveau de ces caractères là.
Bref, a toi de vérifier a quoi ils corespondent vu qu'ils ont l'air de mettre l'embrouille dans ta requête.
Marsh Posté le 16-11-2002 à 18:20:15
en fait tout les critere OR sont concaténé chaque fois et on obtiens a la fin le $construct_rq_count qui est une requete complet, et quand je l'affiche elle est correct je la copie dans phpmyadmin piur la tester ca marche, mais si je l'execute, direct apres avec mysql_query ca marche pas..
si je concatene rien du tout et que je met la requete telle qu'elle dans mysql_query, ca marche... j'ai fait ca des millliers de fois de concatener pour obtenir une requete;.. jamais eu de prob.. jamais, et la il fait comme ci jai pas mis de group by alors kil y est, c'est a devenir dingue ... chui vener
Marsh Posté le 16-11-2002 à 18:21:16
omega2 a écrit a écrit : Ca, c'est toi seul qui peut nous le dire, moi, j'utilises mozilla et au milieu de ta requête, je vois deux carrés à la place de deux caractère inafichable et ce sont pas des return. Quand je fais un copier collé de l'ensemble de ta requête, le copié collé ce coupe au niveau de ces caractères là. Bref, a toi de vérifier a quoi ils corespondent vu qu'ils ont l'air de mettre l'embrouille dans ta requête. |
je v tester avec mozilla, mais je vois pas d'ou il pourraient venir ces *** de caractere !!! c impossible ****..
Marsh Posté le 16-11-2002 à 18:21:46
arf.
Bah je sais pas...
Moi sous ie j ai pas de carre... Et le copier/coller pose pas de probleme, la requete est traitée en entiere.
Marsh Posté le 16-11-2002 à 18:24:21
OK j'ai vu ces deux carectere, chez mois ils s'affichent en caractere japonais loool
mais je crois savoir d'ou cela viens, oulalalala
en fait quand je concatene les different OR et que ca se fini, ily a un OR en trop a la fin et pour le virer je fais ceci
$req_OR=$req_OR[strlen($req_OR)-1]="";
$req_OR=$req_OR[strlen($req_OR)-2]="";
et c'est cela qui mettrait ce caractere bidon???
comment faire pour supprimer le OR autrement et sans que ce caractere pourris ne viennent??
on avance, sans toi j'aurais jamais pensé aller voir avec mozilla , omega merci
Marsh Posté le 16-11-2002 à 18:24:48
schtroumpheur a écrit a écrit : en fait tout les critere OR sont concaténé chaque fois et on obtiens a la fin le $construct_rq_count qui est une requete complet, et quand je l'affiche elle est correct je la copie dans phpmyadmin piur la tester ca marche, mais si je l'execute, direct apres avec mysql_query ca marche pas.. si je concatene rien du tout et que je met la requete telle qu'elle dans mysql_query, ca marche... j'ai fait ca des millliers de fois de concatener pour obtenir une requete;.. jamais eu de prob.. jamais, et la il fait comme ci jai pas mis de group by alors kil y est, c'est a devenir dingue ... chui vener |
Montre nous ton code, on sait jamais...
Mais c'est vrai que ton truc c a devenir
edit: j'arrive trot tard...
Marsh Posté le 16-11-2002 à 18:25:13
schtroumpheur a écrit a écrit : en fait tout les critere OR sont concaténé chaque fois et on obtiens a la fin le $construct_rq_count qui est une requete complet, et quand je l'affiche elle est correct je la copie dans phpmyadmin piur la tester ca marche, mais si je l'execute, direct apres avec mysql_query ca marche pas.. si je concatene rien du tout et que je met la requete telle qu'elle dans mysql_query, ca marche... j'ai fait ca des millliers de fois de concatener pour obtenir une requete;.. jamais eu de prob.. jamais, et la il fait comme ci jai pas mis de group by alors kil y est, c'est a devenir dingue ... chui vener |
Bon, fait un "echo strlen" de ta requête et conte en suite à la main le nombre de caractère que tu lis à l'écran.
Si je me trompes pas, tu véras une diférence de 2 caractères entre ce que t'as à l'écran et ce que php à trouvé.
PS : Ces deux caractère sont pas affiché par IE. la solution, réécrit donc la ligne qui te rajoute le group by à ta requête et efface l'ancienne. C'est à ce niveau là que tu dois avoir la merde.
Marsh Posté le 16-11-2002 à 18:25:52
lechad a écrit a écrit : Montre nous ton code, on sait jamais... Mais c'est vrai que ton truc c a devenir |
ben je viens de localisé le prob grace a omega, maintenant, faudrait le resoudre,... ca devrait pas etre trop dur...
ouf... me voila rassuré chui pas barge, mais c quand meme bizarre ces caractere qui s'ajoutent, mais y a surement une explication logique
Marsh Posté le 16-11-2002 à 18:27:32
omega2 a écrit a écrit : Bon, fait un "echo strlen" de ta requête et conte en suite à la main le nombre de caractère que tu lis à l'écran. Si je me trompes pas, tu véras une diférence de 2 caractères entre ce que t'as à l'écran et ce que php à trouvé. PS : Ces deux caractère sont pas affiché par IE. la solution, réécrit donc la ligne qui te rajoute le group by à ta requête et efface l'ancienne. C'est à ce niveau là que tu dois avoir la merde. |
OK mais comment faire autrement pour virer les 2 dernier caractere d'une chaine???
on va dire que j'ai ceci
$requete="select * from machin WHERE lolo=1 OR lala=2 OR";
comment je vire le OR autrement que comme j'ai fais pour eviter ce prob?
Marsh Posté le 16-11-2002 à 18:28:00
schtroumpheur a écrit a écrit : OK j'ai vu ces deux carectere, chez mois ils s'affichent en caractere japonais loool mais je crois savoir d'ou cela viens, oulalalala en fait quand je concatene les different OR et que ca se fini, ily a un OR en trop a la fin et pour le virer je fais ceci $req_OR=$req_OR[strlen($req_OR)-1]=""; $req_OR=$req_OR[strlen($req_OR)-2]=""; et c'est cela qui mettrait ce caractere bidon??? comment faire pour supprimer le OR autrement et sans que ce caractere pourris ne viennent?? on avance, sans toi j'aurais jamais pensé aller voir avec mozilla , omega merci |
Ben moi, j'ai mozilla comme navigateur principal. Ca aide.
Tu pourais utiliser la fonction substr. Comme ça, pas besoin de tremplacer la fin de ta chaine par des "" vu que tu prendra une copie qui les contient pas.
Marsh Posté le 16-11-2002 à 18:29:21
Sinon tu concatene d'abord la premiere condtion puis tu fais une boucle pour rajouter les autre precédées d'un OR. Moi je trouve ca plus propre...
Marsh Posté le 16-11-2002 à 18:29:57
omega2 a écrit a écrit : Ben moi, j'ai mozilla comme navigateur principal. Ca aide. Tu pourais utiliser la fonction substr. Comme ça, pas besoin de tremplacer la fin de ta chaine par des "" vu que tu prendra une copie qui les contient pas. |
OK on va tester ca...
Marsh Posté le 16-11-2002 à 18:30:37
schtroumpheur a écrit a écrit : ben je viens de localisé le prob grace a omega, maintenant, faudrait le resoudre,... ca devrait pas etre trop dur... ouf... me voila rassuré chui pas barge, mais c quand meme bizarre ces caractere qui s'ajoutent, mais y a surement une explication logique |
L'explication logique, c'est qu'à tout les coups, ca effacait pas le caractère mais le remplacait par un caractère bidon donc le code ASCII n'était pas affichable.
la prochaine fois, remplace par " " ca sera déjà mieux.
Marsh Posté le 16-11-2002 à 18:32:54
omega2 a écrit a écrit : Ben moi, j'ai mozilla comme navigateur principal. Ca aide. Tu pourais utiliser la fonction substr. Comme ça, pas besoin de tremplacer la fin de ta chaine par des "" vu que tu prendra une copie qui les contient pas. |
Bon ben voila ca marche, ouf !
'tain tout ca pour un petit carré
Merci bcp de les avoir reperé entk...
A+
Marsh Posté le 16-11-2002 à 18:33:30
omega2 a écrit a écrit : L'explication logique, c'est qu'à tout les coups, ca effacait pas le caractère mais le remplacait par un caractère bidon donc le code ASCII n'était pas affichable. la prochaine fois, remplace par " " ca sera déjà mieux. |
Marsh Posté le 16-11-2002 à 17:32:43
ca resume mon etat d'esprit !
$construct_rq_count est une requete construite par le script, jai deja fait des echo dans tout les sens pour la verifier et le echo juste avant l'execution de la requete affiche ceci :
SELECT COUNT( * ) AS NbPosts FROM gbb_Posts WHERE Username = 'Caroline' OR Username = 'David' OR Username = 'Duduuuule' GROUP BY Username
je copie et colle cette requete dans phpmyadmin et les resultat qu'il me sort son JUSTE !!!!
resultats obtenus :
2
2
1
soit 3 resultat
ensuite si je fait la meme chose avec mon script php qui execute la requete qui est EXACTEMENT la meme : comme ceci ( je suis sur et certain que c la bonne requete qu'il execute)
et bien il me sort
5
heu je deviens barge la ou quoi?
non mais serieux... chui pas fou hein??? rassurez moi !!!
C'est quoi ce bins !!!
merci d'avance
m'etonnerait que qqun puisse m'aider mais fallait que ca sorte , saloperie de machine
Message édité par Schtroumpheur le 16-11-2002 à 18:42:53