PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 04-07-2009 16:57:25

david7
Membre
Inscription : 05-06-2009
Messages : 87

fonction rand

bonjour a tous

je comprend pas trop la fonction rand car j'ai cherché sur google mais je trouve pas d'explication ou d'article "simple" comme je suis debutant.. j'ai simplement besoin de rand pour l'affichage aleatoire dans la limit de 2 dans ma portion de code :

<?php

$r = mysql_query("select * from poker order by date desc limit 2");
while($ligne = mysql_fetch_array($r))
{
  $idpoker = $ligne["idpoker"];
  $titre = $ligne["titre"];
  $titre_rewriting = filter($ligne["titre"]);
  $date = dateFrench($ligne["date"]);

  $arr=explode(' ',$ligne["description"]);
  while(count($arr) > 50){array_pop($arr);}
  $texte=implode(' ',$arr);

  echo("<br /><table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
  <tr>
    <td width=\"124\" height=\"95\"><img src=\"../images/poker_14554217_XS.gif\" width=\"114\" height=\"95\" alt=\"$titre\" /></td>
    <td><h2><a href=\"../poker-$idpoker-$titre_rewriting.html\">$titre</a></h2>$texte... - $date</td>
  </tr>
</table><br />");
}

?>

merci

Hors ligne

#2 04-07-2009 18:11:43

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : fonction rand

Saluton,
Il y a beaucoup à redire sur ton post et sur ton code.
Tout d'abord de quelle fonction rand parles-tu puisqu'elle n'apparaît pas dans le code, de la fonction rand() PHP ou MySQL ?
Ensuite,ce qu'il faut penser de SELECT *
et dela mise en page par tableaux
Et finalement, quel est, explicitement, le problème que tu rencontres, je veux dire qu'est-ce que tu essayes de faire et qu'est-ce qui t'en empêche ou quel résultat attends-tu par rapport au résultat obtenu.
Le fait d'être débutant ne constitue pas un laisser-passer pour ne pas s'exprimer clairement..
Bien poser le problème, c'est souvent le résoudre.
Ce qui se conçoit bien, s'énonce clairement.
Celui qui ne connait pas son objectif a peu de chances de l'atteindre

Je continue ?


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#3 04-07-2009 19:02:46

david7
Membre
Inscription : 05-06-2009
Messages : 87

Re : fonction rand

oui en effet dsl pour ma mauvaise explication smile

bon alors voila : dans mon code la il y a pas du tout de rand, pour le moment j'ai simplement un affichage des deux derniers enregistrements. mais je veux un affichage de deux enregistrement aleatoire de ma table "poker" c'est bien rand ? par contre pour le rand mysql ou le rand php je comprend pas c'est quoi la difference ?

sinon, j'ai pas bien conpris :

Ensuite,ce qu'il faut penser de SELECT *
et dela mise en page par tableaux

c'est à dire ? je remplace * par les titres des champs ?

pour la mise en page par tableaux c'est pas le top mais tu as une solution ou bien un conseil j'ai lu la page de ton lien biensur mais je suis dans le flou..

merci de ton aide Maljuna Kris.

Hors ligne

#4 05-07-2009 07:37:35

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : fonction rand

david7 a écrit :

bon alors voila : dans mon code la il y a pas du tout de rand, pour le moment j'ai simplement un affichage des deux derniers enregistrements. mais je veux un affichage de deux enregistrement aleatoire de ma table "poker" c'est bien rand ? par contre pour le rand mysql ou le rand php je comprend pas c'est quoi la difference ?

Si tu ne connais pas la différence entre PHP et MYSQL, tu as du souci à te faire.:rolleyes:
Dans le cas qui nous occupe, il te faut utiliser la fonction RAND() de MySQL dans la clause ORDER BY de la requête SQL.
A ce sujet, date est un mot réservé de SQL, il est donc assez ballot de l'utiliser comme nom de colonne dans une table.

david7 a écrit :

sinon, j'ai pas bien conpris :

Ensuite,ce qu'il faut penser de SELECT *
et dela mise en page par tableaux

c'est à dire ? je remplace * par les titres des champs ?

Si tu n'as pas compris le billet de Fred afférent à la Guerre des étoiles, ça devient carrément affligeant. Oui, bien sur, tu utilises dans la clause  du SELECT (projection) les noms des colonnes de la table (ou des tables quand il y a jointures), séparés par des virgules et encapsulés par des ALT GR + 7, quand tu as été assez boulet pour utiliser un mot réservé comme nom de colonne ou de table (`date`), tu peux même surnommer (aliasser) tes colonnes voire tes tables (AS).
J'irais plus loin, utilise plutôt mysql_fetch_assoc() au mysql_fetch_array(), voire, si tu es sous PHP5, passe à PDO.

david7 a écrit :

pour la mise en page par tableaux c'est pas le top mais tu as une solution ou bien un conseil j'ai lu la page de ton lien biensur mais je suis dans le flou..

Regarde ce qu'on en dit chez Alsacréations, par exemple...


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

Pied de page des forums