ag3c
Messages postés19Date d'inscriptionvendredi 23 mars 2007StatutMembreDernière intervention19 juin 2010
-
23 mars 2007 à 17:59
ag3c
Messages postés19Date d'inscriptionvendredi 23 mars 2007StatutMembreDernière intervention19 juin 2010
-
27 mars 2007 à 15:34
bonjour,
avec dream 8 j'ai crée une page principale/détail qui me génère un tableau en région répétée dans ma page principale avec un lien (j'ai choisi la photo de mon produit) vers la page détail.
Je veux afficher 2 produits par page principale, mais de manière aléatoire, est-ce possible ?
Je précise que je ne parviens pas à régler le pb avec order by rand
$query_annonces = "SELECT * FROM produits ORDER BY RAND LIMIT 2";
me donne comme résultat :
Erreur de syntaxe près de 'LIMIT 0, 2' à la ligne 1
Merci de votre aide.
ag3c
Messages postés19Date d'inscriptionvendredi 23 mars 2007StatutMembreDernière intervention19 juin 2010 24 mars 2007 à 16:18
Bonjour,
j'ai éxécuté cette requette :
$query_annonces = "SELECT * FROM produits ORDER BY RAND() LIMIT 2";
dans phpmyadmin, voici la réponse :
#1064 - Erreur de syntaxe près de '$query_annonces = "SELECT * FROM produits ORDER BY RAND() LIMIT' à la ligne 1
En revanche lorsque que je tape
SELECT * FROM produits ORDER BY RAND() LIMIT 2;
ça fonctionne très bien et de manière aléatoire comme il se doit, puis je reporte cette ligne dans le code de ma page ainsi :
$query_annonces = SELECT * FROM produits ORDER BY RAND() LIMIT 2 ;
et voilà la réponse du navigateur :
Parse error: parse error, unexpected T_STRING in c:\program files\easy php\easyphp1-7\www\ag3c\tmpfp4evfey12.php on line 13.
La fonction page principale/détail est gérée par dream en auto,
peut-être faudrait-il faire le lien en manuel, cependant je veux pouvoir afficher 2 affaires par page et autant de pages que j'ai d'affaires or cette requête serait peut-être perdue dès la 2ème page, ou alors est-ce parce que je suis en région répétée... Ou alors il faut modifier le code de ma page mais je suis incapable de savoir comment...
encore merci pour ton aide
Vous n’avez pas trouvé la réponse que vous recherchez ?
Neo020585
Messages postés178Date d'inscriptionlundi 10 mars 2003StatutMembreDernière intervention 6 juillet 20094 24 mars 2007 à 16:45
Bonjour,
Juste une petite précision, il manque les guillemets (") autour de ta requete dans le code de ta page (je pense que c'est de là que viens ta Parse error.
Tu arrive à afficher aléatoirement dans phpmyadmin, c déjà bien (ça prouve que maintenant tu as la bonne requete).
Je n'ai jamais utiliser Dreamwiever (je suis un codeur pur avec bloc note^^) donc je ne connais pas son fonctionnement.
Par contre, je ne comprend pas bien ton architecture : tu as une seule page (principal/detail) qui te fait l'affichage des 2 produit aléatoirement ou alors il s'agit de la page principale ?
ag3c
Messages postés19Date d'inscriptionvendredi 23 mars 2007StatutMembreDernière intervention19 juin 2010 24 mars 2007 à 19:00
Merci pour ton implication.
Quand je mets les guillemets voici la réponse du navigateur :
Erreur de syntaxe près de 'LIMIT 0, 2' à la ligne 1
Je t'explique la fonction de dream :
Dream me crée 2 pages : une page "principale" avec un jeu d'enregistrement qui contient toutes les variables de ma table, cependant je ne sélectionne que quelques variables pour cette page (type, commune, nbre pièces, nbre chbres, surface, prix et une photo)
je suis automatiquement en région répétée et j'ai demandé seulement deux affichages par page, et un lien sur la variable photo.
Dream m'a crée automatiquement et en même temps une page "détail" (qui dépend du jeu d'enregistrement de la "principale") dans laquelle je conserve cette fois-ci toutes les variables (normal puisqu'il s'agit des détails).
Résultat quand un visiteur affiche la page "principale", il a deux produits par page avec quelques infos et autant de pages qu'il y a de produits, et si il est intéressé par un produit, il clique sur la photo du produit ce qui a pour effet d'afficher la page "détail" avec toutes les infos et des photos supplémentaires.
Ce comportement fonctionne très bien cependant je voudrais que la page "principale" affiche aléatoirement les produits (toujours par 2)... cela me ferait une vitrine toujours changeante
d'avance merci
ag3c
Messages postés19Date d'inscriptionvendredi 23 mars 2007StatutMembreDernière intervention19 juin 2010 24 mars 2007 à 19:11
Resalut Neo
j'ai en partie résolu le pb je tape
$query_annonces = "SELECT * FROM produits ORDER BY RAND()";
cela a pour effet de me créer de l'aléatoire avec toujours 2 affichages, je pense en effet que
$maxRows_annonces = 2;
au début de ma page s'occupe déjà du nombre d'affichage, cependant j'ai plusieurs fois le même produit qui revient...
ag3c
Messages postés19Date d'inscriptionvendredi 23 mars 2007StatutMembreDernière intervention19 juin 2010 24 mars 2007 à 19:16
Encore moi,
j'ai un pb de boucle je peux faire défiler des pages à l'infini avec des affaires qui reviennent sans cesse je n'ai même plus de notion de 1ère et dernière page...
ag3c
Messages postés19Date d'inscriptionvendredi 23 mars 2007StatutMembreDernière intervention19 juin 2010 26 mars 2007 à 15:03
Bonjour,
Actuellement ma base de donnée est composée d'une table "produits" dans laquelle il y a 5 enregistrements.
Ma page "principale" affiche ces 5 enregistrements dans l'ordre de ID, à raison de 2 enregistrements par page, soit 3 pages (la 1ère avec 2 produits, la 2ème avec 2 produits et la 3ème avec un seul)
donc l'internaute voit s'afficher 2 produits en 1 ère page avec en-dessous 2 boutons : "page suivante" et "dernière page", il fait défiler les pages.
Depuis que j'ai spécifié ORDER BY RAND() j'ai une 1ère page avec toujours 2 produits mais avec 4 boutons : "1ère page" "page précédente" "page suivante" "dernière page", lorsqu'on fait défiler, certains produits restent de page en page ou n'apparaissent pas. De même, je peux faire défiler autant de pages que je veux avec des combinaisons de produits différentes, les 4 boutons sont toujours là m'autorisant à tourner autant de pages que je veux, j'ai toujours des pages différentes. Mais alors que je n'ai que 5 produits enregistrés, je peux afficher 15 pages différentes.
Voilà comment ça se passe, une première page s'affiche avec 2 produits mais déjà 4 boutons, laissant supposer qu'il y a déjà des pages avant cette première page.
Je clique sur "page suivante" (donc la 2ème) elle s'affiche avec 2 produits avec pourquoi pas un produit déjà affiché lors de la première page, je clique sur "page suivante" cette fois il n'y a plus qu'un produit (normal avec 5 produits), donc cette page serait sensée être la dernière et bien pas du tout j'ai toujours tous mes boutons et si je clique sur page suivante elle m'affiche une nouvelle page avec un seul produit (comme si elle gardait les attribut de la dernière page)
J'espère que je suis clair, en voulant être précis je le suis peut être encore moins.
Merci en tous cas
Neo020585
Messages postés178Date d'inscriptionlundi 10 mars 2003StatutMembreDernière intervention 6 juillet 20094 26 mars 2007 à 16:18
Bonjour,
Non ça va, je comprends à peu près le fonctionnement.
Par contre, je ne comprends pas du tout l'interêt d'utiliser de l'aléatoire. En fait, je pensais que tu voulais simplement afficher 1 seule et unique pages avec 2 exemple pris au hasard....
A priori, ton problème viendrait du fait que tu utilise la fonction rand() : à chaque fois que tu ouvre une page, il ré-exécute la requete avec le rand(), donc il affiche 2 produits au hasard. Sans la fonction rand(), il t'afficherai seulement les 3 pages, mais étant donné que tu ne lui indique pas exactement quoi afficher (hasard), il affichera (en théorie) autant de page qu'il y a de combinaison possible.
Je ne sais pas si tu suis mon raisonnement, mais afin de corriger ton problème, il faudrai savoir quels sont les produits déjà afficher afin qu'il ne les ré-affiche pas. Par contre, je ne sais pas comment le faire en php (puisque quand moi je décide d'afficher sur plusieurs page, je préfère afficher par nom pour que l'utilisateur ne soit pas perturbé).
Mais pose-toi cette question : Pourquoi je veux afficher plusieurs pages de produits aléatoirement ? Quel est le but final ?
(surtout, mets-toi à la place de l'utilisateur)
ag3c
Messages postés19Date d'inscriptionvendredi 23 mars 2007StatutMembreDernière intervention19 juin 2010 26 mars 2007 à 17:16
Merci encore pour ton implication.
Je comprends parfaitement ce que tu expliques en effet il m'affiche autant de pages qu'il y a de combinaisons.
Pourquoi je veux de l'aléatoire ? Tout simplement parce que j'ai des utilisateurs qui vont sur mon site plusieurs fois par semaine, et je voudrais leur donner l'impression que la vitrine est changeante (je suis une agence immobilière), cependant, c'est vrai que l'illusion serait de courte durée, car nous tournons avec peu d'affaires et l'utilisateur se rendrait vite compte qu'il y a toujours les mêmes affaires avec peut-être un changement, voire deux...
Je viens de régler le problème, j'ai supprimé la fonction RAND() et à la place j'ai demandé un tri de mes variables par ordre décroissant, ainsi la nouvelle affaire (ou le nouveau produit) se retrouve toujours en première page.
Encore merci pour tes précieux conseils et pertinentes réflexions.
Autre chose, ma page "détail" évoquée plus haut reprend l'intégralité des variables de ma table "produits", cette page (affichée quand l'utilisateur a cliqué sur la photo du produit en page "principale") je voudrais que l'utilisateur puisse l'imprimer (ça c'est réglé) mais aussi qu'il puisse l'envoyer par mail à un ami.
J'ai donc crée un bouton "envoyer cette page" qui ouvre une petite fenêtre dans laquelle se trouve un formulaire avec différents champs et un bouton "envoyer". En test local je reçois le mail avec objet et message mais pas la page en question. Comment faire pour récupérer les variables de ma page "détail" et faire en sorte qu'elles soient envoyées.
De même il faut aussi que je vérifie si les champ du formulaire sont correctement remplis.
D'avance merci.
Neo020585
Messages postés178Date d'inscriptionlundi 10 mars 2003StatutMembreDernière intervention 6 juillet 20094 26 mars 2007 à 18:19
Bonjour,
J'allais te proposer d'afficher tes infos dans l'ordre inverse, mais tu l'as déjà fait, c'est ok.
Ensuite, pour ton problème de mail, j'aimerai savoir quelles sont les valeurs que tu souhaite envoyer. Est-ce le message que tu ne récupère pas ?
Lorsque je regarde ta fonction mail, elle envoie un mail avec un destinataire, un objet et un message. Rien d'autre. Que veux tu envoyer exactement ?
ag3c
Messages postés19Date d'inscriptionvendredi 23 mars 2007StatutMembreDernière intervention19 juin 2010 26 mars 2007 à 19:25
Bonjour,
en fait je souhaite envoyer le contenu de ma page "détail",
quand un utilisateur fait défiler la page "principale" avec les boutons "page suivante"... et qu'il est intéressé par un produit, il clique sur la photo de celui-ci, cela ouvre la page "détail" avec toutes les infos sur ce produit, en bas de cette page, il y a un bouton "envoyer cette page" pour que l'utilisateur puisse l'envoyer à un ami par exemple avec le contenu : tous les détails, les photos... mais comme la page "détail" est une page dynamique je ne pense pas qu'elle ait une adresse fixe et on ne peut pas fonctionner comme on le ferait avec un fichier joint qu'on irait chercher par le browser...
Neo020585
Messages postés178Date d'inscriptionlundi 10 mars 2003StatutMembreDernière intervention 6 juillet 20094 26 mars 2007 à 20:27
Bonsoir,
Il faudrait alors qu'il puisse envoyer un lien qui lui permettrait d'acceder directement au produit choisit (un lien du genre : www.xyz.com/detail?p=52 pour accéder aux détail du produit n°52).
En fait tu aurait donc une page détail qui récupèrerait le numéro dans la barre d'adresse (en utilisant des forumulaire en get et pas en post), et qui ferait la requete pour avoir toutes les infos en fonction de ce numéro.
Le seul problème, c'est qu'étant donné que je ne connais aps Dreamwiever, je ne peux pas savoir si il est capable d'implémenter ça.
ag3c
Messages postés19Date d'inscriptionvendredi 23 mars 2007StatutMembreDernière intervention19 juin 2010 27 mars 2007 à 15:34
bonjour,
Peu importe dreamwaver, en manuel ça me va.
J'ai une page "details.php" avec un bouton "envoyer cette page" qui pointe vers un formulaire "form.php" qui éxécute un code contenu dans un fichier "mail_res.php" ma requête ressemblerait à quoi exactement et elle serait à mettre où ? (dans le fichier "form.php" peut-être qui serait du coup en mode GET)
D'avance merci.