enigme variable=url

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : enigme variable=url

par enneite » 28 juin 2009, 22:15

Pour les requêtes mysql, en règle générale, il vaut mieux les tester directement dans mysql avant d'envisager de les faire correspondre à un code PHP si elles sont compliquées.

As-tu vraiment besoin du left join? un simple join ne suffirait-il pas?

En faisant un left join, tu assures la jointure meme si la seconde table n'a aucune valeur à associer à la première.
Dans ton cas c'est que en gros MYSQL ne trouve pas de connexion.id qui correspond à un post_creator, donc il te mets tout en null (avec la requête d'exemple cidessus, s'il ne trouve rien il ne te retournera aucune ligne)

ces colonnes représentent elles vraiment la même donnée?

(faut pas remplacer id par pseudo par exemple??)

Parce que la en gros il ne trouve rien qui puisse faire correspondre test post_creator à tes id

essaie peut être une requête plus simple directement dans mysql avant d'aller plus loin
SELECT post_id , post_createur , post_texte
, connexion.id
FROM forum_post JOIN connexion ON connexion.id = forum_post.post_createur
WHERE topic_id =1
ORDER BY post_id
LIMIT 1,10


et trafiquote la un peu pour que ça marche (parce que la normalement en toute logique il ne t'affichera rien)

NB :
(normalement pour une requete joignant les données d'un message de forum aux données concernant le membre qui l'a posté, tu n'a pas besoin du left join car tu es censé trouvé tjs au moins une valeur non nulle dans la table qui recense les données du membre, donc un join simple devrait suffire...)


sinon si tu tiens à garder le left join, essaie en inversant l'égalité:
SELECT post_id , post_createur , post_texte , post_time , id , pseudo , inscrit , avatar , localisation , post , signature
FROM forum_post
LEFT JOIN connexion ON forum_post.post_createur =connexion.id
WHERE topic_id ="'.$topic.'"
ORDER BY post_id
LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage . ''
peut être faut-il garder le bon ordre, ce serait mais là je n'en suis pas sur du tout...

par graffx » 28 juin 2009, 17:17

alors merci pour ton avis et conseil :D


Oui je me doute que ce ne sont que des bases sur ces tutos, mais avant d' optimiser ou de refaire quoiquece soit, j' aimerai bien que ce tuto fonctionne ^^


edit: bon, je croisd que ca interesse personne les jointures :(

par momox » 28 juin 2009, 16:24

J'ai codé un forum complet en PHP+HTML, ca fait plus d'un an que je suis dessus, et je peux te dire que ce n'est pas de la tarte, et ce n'est pas le tuto du SDZ qui va t'aider, car une fois celui-ci terminé, il va te falloir tout refaire, car celui-ci te montre les grands principes de base, et tu vas devoir tout recoder afin de faire quelque chose que tu puisses maintenir facilement face aux failles que tu pourrais rencontrer.

Il faut penser a beaucoup de choses:
- Arborescence (simple ou multi descendance ?)
- Modération (Cas par cas ou globale ?)
- Informations a afficher
- La mise a jour d'un sujet ou d'un message entraine la mise a jour d'un forum ou d'un sujet
- Requêtes optimisées pour la recherche
- Bookmarks
- Membres
- etc...

Beaucoup de choses qui prennent d'un temps et ne se font pas en l'espace d'une semaine sur la lecture d'un simple tutoriel.
Ce tutoriel va te donner une base de connaissances, que tu devras ensuite mettre a profit pour recréer quelque chose de fonctionnel qui conviendra a tes besoins.

par graffx » 28 juin 2009, 15:38

personne n' aurait une idée svp parce que la je flanche, je n' ai aucune erreur sql meme si je lance la requete dans mysql, aucune erreur et toutes les colonnes autre que "post_quelquechose" mette un gros NULL (ce que je suis apparement). Quel peu etre le probleme svp, pour voir mon code complet:


http://www.siteduzero.com/forum-83-4137 ... nture.html

par graffx » 26 juin 2009, 22:22

okokok on s' enerve pas, j' ai commencé un vrai forum lol mais j' ai un souci sur une requete qui merdouille:
$requete2 = mysql_query('
SELECT post_id , post_createur , post_texte , post_time , id , pseudo , inscrit , avatar , localisation , post , signature
FROM forum_post
LEFT JOIN connexion ON connexion.id = forum_post.post_createur
WHERE topic_id ="'.$topic.'"
ORDER BY post_id
LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage . '')
or die(mysql_error());[/code]

le hic est que quand je fais un echo sur les "post_****", ca fonctionne mais sur la table connexion, rien ne s' affiche, meme pas une erreur, meme si je met la requete direct dans sql, toute les collone de "connexion marquent "NULL"


edit: personne n' aurait une idée pour une requete sans erreur meme dans mysql?

par Hywan » 26 juin 2009, 11:41

C'est de la bidouille. Ça va s'écrouler dans 1 an.
Soit tu fais ton propre forum et tu n'auras aucun problème, soit tu prends des forums pré-faits et tu n'auras aucun problème. Mais mélanger les deux, c'est du bricolage, et tu as plein de problèmes ;-).

par julian » 26 juin 2009, 11:19

Pourquoi ne pas créer une table qui référencerait tes forums par un ID numérique unique ?

par Sékiltoyai » 25 juin 2009, 23:02

un forum préfait? bof, c' est moche.
Tout est dit…
Tu fais le choix de réimplémenter un forum, il faut être prêt à l'assumer, et à devoir implémenter toutes les fonctionnalités dont tu as besoin et non pas la moitié. :)

par graffx » 25 juin 2009, 18:21

un forum préfait? bof, c' est moche. Je suis en train de refaire un vrai forum comme un préfait complet, je me base sur le tuto du sdz, ca urge car j' ai une communauté qui attend :)

par Hywan » 25 juin 2009, 15:36

Si, il y a des solutions, mais ce n'est que de la bidouille. Pourquoi tu n'installes pas un forum qui comprend le multi-salon tout simplement … ?

par graffx » 25 juin 2009, 15:31

Si j' ai pas de solution je vais pas avoir le choix :(

par Hywan » 25 juin 2009, 14:52

Je pense qu'au lieu de bidouiller une solution comme ça, tu ferais mieux de repenser l'ensemble de ton architecture non ?

par graffx » 25 juin 2009, 13:13

lol c' est justement a cause de ces joyeuseté que je seche, puisque tous les messages viennent des deux forums, il faudrait que le code aile chercher les deux url, et pas seulement l' une ou l' autre :)


je vous met ce que ca donne http://www.ville-de-bernay.com

vous verrez que tous les messages votn vers forums/general/readmessage.php alors que certains sont dans "presentatiosn" :D

par Hywan » 25 juin 2009, 11:38

Bah sur tous les messages que tu récupères, tu fais un bête str_replace() de ton second chemin par ton premier chemin. Après, tu peux avoir des effets de bord, du genre : on remplace alors qu'il ne faut pas, ou ce genre de joyeuseté.

par Invité » 25 juin 2009, 11:23

lol aucun de ceux la, je me suis pris un petit forum "light forum" que j' ia modifié a ma guise, mai sil est tres imple d' ou son nom, je coompte l' améliorer, mais il ne crée qu' un forum par script. J' ai donc du mettre plusieurs dossiers /forums/1 et /forums/2 Alors c' est le bazar, je vais refaire le code pour ne faire qu' un forum uniquae a catégorie, mais aen attendant il me faudrait une solution sur cette enigme. :cry: