begin process at 2012 05 28 08:18:02
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

affichage aléatoire


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

affichage aléatoire

vendredi 23 mars 2007 à 17:59:28 | affichage aléatoire

ag3c

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.

voici le code php de ma page principale.

<?php require_once('Connections/ag3cconnec.php'); ?>
<?php
$currentPage = $_SERVER["PHP_SELF"];

$maxRows_annonces = 2;
$pageNum_annonces = 0;
if (isset($_GET['pageNum_annonces'])) {
  $pageNum_annonces = $_GET['pageNum_annonces'];
}
$startRow_annonces = $pageNum_annonces * $maxRows_annonces;

mysql_select_db($database_ag3cconnec, $ag3cconnec);
$query_annonces = "SELECT * FROM produits";
$query_limit_annonces = sprintf("%s LIMIT %d, %d", $query_annonces, $startRow_annonces, $maxRows_annonces);
$annonces = mysql_query($query_limit_annonces, $ag3cconnec) or die(mysql_error());
$row_annonces = mysql_fetch_assoc($annonces);

if (isset($_GET['totalRows_annonces'])) {
  $totalRows_annonces = $_GET['totalRows_annonces'];
} else {
  $all_annonces = mysql_query($query_annonces);
  $totalRows_annonces = mysql_num_rows($all_annonces);
}
$totalPages_annonces = ceil($totalRows_annonces/$maxRows_annonces)-1;

$queryString_annonces = "";
if (!empty($_SERVER['QUERY_STRING'])) {
  $params = explode("&", $_SERVER['QUERY_STRING']);
  $newParams = array();
  foreach ($params as $param) {
    if (stristr($param, "pageNum_annonces") == false &&
        stristr($param, "totalRows_annonces") == false) {
      array_push($newParams, $param);
    }
  }
  if (count($newParams) != 0) {
    $queryString_annonces = "&" . htmlentities(implode("&", $newParams));
  }
}
$queryString_annonces = sprintf("&totalRows_annonces=%d%s", $totalRows_annonces, $queryString_annonces);
?>

vendredi 23 mars 2007 à 21:19:24 | Re : affichage aléatoire

Neo020585

Membre Club
Bonsoir,

Effectivement, ta requête est fausse,
as-tu essayer avec :

$query_annonces = "SELECT * FROM produits ORDER BY RAND() LIMIT 2";


( La différence, c'est les parenthèses ouvrante et fermante après RAND )

J'espère que ton problème sera réglé avec ça^^

Néo020585

La programmation, c'est l'art de découvrir

samedi 24 mars 2007 à 09:25:29 | Re : affichage aléatoire

ag3c

merci pour ton aide j'ai modifié ma requête selon tes conseil voici la réponse

Erreur de syntaxe près de 'LIMIT 0, 2' à la ligne 1
samedi 24 mars 2007 à 10:13:13 | Re : affichage aléatoire

Neo020585

Membre Club
Bonjour,

As-tu la possibilité d'exécuter cette requette directement dans ton gestionnaire de base de données ?

Si le résultat est bon, c'est que ton code est faux (je sais ça parait logique)^^

Néo020585

La programmation, c'est l'art de découvrir

samedi 24 mars 2007 à 16:18:50 | Re : affichage aléatoire

ag3c

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


samedi 24 mars 2007 à 16:45:54 | Re : affichage aléatoire

Neo020585

Membre Club
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 ?

Néo020585

La programmation, c'est l'art de découvrir

samedi 24 mars 2007 à 19:00:11 | Re : affichage aléatoire

ag3c

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
samedi 24 mars 2007 à 19:11:53 | Re : affichage aléatoire

ag3c

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...
samedi 24 mars 2007 à 19:16:11 | Re : affichage aléatoire

ag3c

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...
lundi 26 mars 2007 à 13:47:01 | Re : affichage aléatoire

Neo020585

Membre Club
Bonjour,

Là par contre, je ne comprends pas trop quel est le problème !
Tu dis que tu peux faire défiler des pages à l'infini, ça veut dire quoi exactement ?

Effectivement, si tu as déjà une variable qui s'occupe de définir le nombre de lignes à afficher... par besoin de la clause limit.

Néo020585

La programmation, c'est l'art de découvrir


1 2

Cette discussion est classée dans : mysql, query, annonces, pagenum, totalrows


Répondre à ce message

Sujets en rapport avec ce message

probleme d'actualisation [ par bassemhp ] Bonjour,a partir d'un formulaire je supprime des enregistrement d'une table. le probleme c'est que apres suppression le formulaire ne s'actualise pas Afficher une colonne MySql sur plusieur colonnes [ par Heny ] Salut J'ai utiliser l'assistance de dreamwaver pour créer ce code qui me permet principalement d'afficher des image contenu dans une base de données ( php problème d'affichage données Mysql [ par fredo35m ] Bonjour,j'ai un problème avec mon affichage des données de ma table mysql. Il m'affiche bien le nom de la colonne mais en revanche il ne m'affiche pas problème avec doublon dans ma classe de base de donnée [ par Dyr3e ] bonjour, j'ai un problème de Doublon avec la classe pour les base de donnée que j'utilise. Je n'arrive pas a trouver d'ou cela viens mais j'obtiens su php/mysql requete plusieurs tables et bases [ par fredo35m ] Bonjour,j'aimerais savoir comment faire pour requeter sur plusieurs tables et bases, je m'explique :BASE 1:Requête 1 : Sélection des CODES COMMUNES se Problème de comparaison de date ! [ par punkybreizh ] Bonjour à tous, Depuis quelques jours je bloque sur une de mes pages de mon site qui permet en fait de comparer une date se trouvant dans une base de listebox [ par refkaben ] Salut!J'ai deux listes à remplir à partir de la bd. La 2eme liste(soussecteur)  sera remplie en fonction de la valeur de la 1ère(secteur).Le problème besoisn d'une petite aide sur erreur [ par speedylol ] bonjour, j ai une petite erreur dans mon code mais je de voix pas la quelle. j 'airais besoins de vos lumière.$query = "SELECT * FROM chatuser WHERE p Bizzard... [ par kyript ] bonjour a tousvoila le pb  qui tres explicite par lui memeselectionne les champs :mysql_select_db($database_roots, $roots);$query_sup_image = "SELECT Avis de bench ! [ par FhX ] Voila, à force de faire tout et n'importe quoi (en ce moment j'ai de l'imagination), je voulais savoir si les pros du bench pouvaient m'aider un tit p


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,574 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales