Probleme PHP basique : lister un tableau !
19 messages • Page 1 sur 2 • 1, 2
Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics
Probleme PHP basique : lister un tableau !
$res_cat = send_sql($sql_cat,"trouver les catégories principales" );
while ($une_categorie = mysql_fetch_array($res_cat,MYSQL_ASSOC))
{
echo $une_categorie["cat_name"];
}
voila , ce code permet de lister sans probleme par ordre alphabetique les nom des catégories...
Ce que je voudrais, c'est qu'il liste par exemple 10 catégorie prises au hasard dans la liste total, cela vous semble t'il possible ?
merci beaucoup
- DomicilePC
- WRInaute occasionnel

- Messages: 210
- Inscription: Lun Jan 17, 2005 15:50
La fonction rand(min,max) génère un nbre aléatoir compris entre le min et le max. Il faut d'abord initialiser le nbre avec srand((float) microtime()*1000000);//par exemple
$randval = rand();
Une fois généré, mysql_data_seek($requete,$randval) te place sur l'enregistrement $randval.
Tu le fais 10 fois, ou tu utilise LIMIT
$randval = rand();
Une fois généré, mysql_data_seek($requete,$randval) te place sur l'enregistrement $randval.
Tu le fais 10 fois, ou tu utilise LIMIT
Merci j'aprecie votre aide.
Mais pouriez vous me montrer un exemple precisement ?
car je vous avoue que quand ça touche a SQL je suis un peu perdue...
et utilisé le LIMIT me semble plus propre que 10X la meme chose, ca consome les meme ressource SQL ces 2 méthodes ?
merci
Mais pouriez vous me montrer un exemple precisement ?
car je vous avoue que quand ça touche a SQL je suis un peu perdue...
et utilisé le LIMIT me semble plus propre que 10X la meme chose, ca consome les meme ressource SQL ces 2 méthodes ?
merci
- DomicilePC
- WRInaute occasionnel

- Messages: 210
- Inscription: Lun Jan 17, 2005 15:50
<?php
srand((float) microtime()*1000000);
$min = 0;
$res = mysql_query("select * from nom_de_table");
$max = mysql_num_rows($res) - 11;
$randval = rand($min, $max);
$res = mysql_query("select * from nom_de_table order by nom_de_categorie asc LIMIT $randval, 10");
while($r = mysql_fetch_array($res)){
echo $r[nom ou numéro de colonne];
}
?>
Si j'ai pas fait d'erreur
Edit j'en avais fait...
srand((float) microtime()*1000000);
$min = 0;
$res = mysql_query("select * from nom_de_table");
$max = mysql_num_rows($res) - 11;
$randval = rand($min, $max);
$res = mysql_query("select * from nom_de_table order by nom_de_categorie asc LIMIT $randval, 10");
while($r = mysql_fetch_array($res)){
echo $r[nom ou numéro de colonne];
}
?>
Si j'ai pas fait d'erreur
Edit j'en avais fait...
donc voila precisement ce que j'ai fait, avec des modification :
et ça marche... enfin presque..
Ca selection les 10 données suivante apres le chiffre aleatoire... ce qui fait qu'on a un groupe de mots de meme ordre alphabetique..
j'aurais aimé que ça sois 10 données completement diférentes, et pas un block de 10...
Donc il vas faloire faire 10X la requete sql vous pensez ? qu'elle petit modif faudrais t'il faire a ce code qui est une très bonne base déja (merci DomicilePC, tu roule ta bosse en PHP)
merci
<?php
srand((float) microtime()*1000000);
$randval = rand(0, 200);
$res = mysql_query("SELECT id,cat_name FROM $T_categories WHERE id_cat_mere = '0' AND activation = '1' ORDER BY cat_name ASC LIMIT $randval, 10");
while($r = mysql_fetch_array($res)){
echo $r["cat_name"];
echo "<br>";
}
?>
et ça marche... enfin presque..
Ca selection les 10 données suivante apres le chiffre aleatoire... ce qui fait qu'on a un groupe de mots de meme ordre alphabetique..
j'aurais aimé que ça sois 10 données completement diférentes, et pas un block de 10...
Donc il vas faloire faire 10X la requete sql vous pensez ? qu'elle petit modif faudrais t'il faire a ce code qui est une très bonne base déja (merci DomicilePC, tu roule ta bosse en PHP)
merci
Bon, voila, j'ai rajouter une boucle for :
cela est t'il propre techniquement ?
finalement il m'a falut une rampe de lancement et je fait des prouesse en php, je suis contente
srand((float) microtime()*1000000);
for ( $i=0; $i<10; $i++ ) {
$randval = rand(0, 250);
$res = mysql_query("SELECT id,cat_name FROM $T_categories WHERE id_cat_mere = '0' AND activation = '1' ORDER BY cat_name ASC LIMIT $randval, 1");
while($r = mysql_fetch_array($res)){
echo $r["cat_name"];
echo "<br>";
}
}
cela est t'il propre techniquement ?
finalement il m'a falut une rampe de lancement et je fait des prouesse en php, je suis contente
- DomicilePC
- WRInaute occasionnel

- Messages: 210
- Inscription: Lun Jan 17, 2005 15:50
Tu n'as pas besoin du while puisque tu n'as qu'un enregistrement.
Tu peux faire directement $r = mysql_fetch_array($res)
Tu peux faire directement $r = mysql_fetch_array($res)
- DomicilePC
- WRInaute occasionnel

- Messages: 210
- Inscription: Lun Jan 17, 2005 15:50
Je comprends pas bien:
Si tu as 2 fois le même nom qui te sort dans ta requête, c'est qu'il y a un doublon dans ta table.
Si tu as 2 fois le même nom qui te sort dans ta requête, c'est qu'il y a un doublon dans ta table.
DomicilePC non, tous simplement que c'est tomber 2X dessuite sur le meme nombre aléatoire... donc forcement 2X la meme catégorie qui s'affiche.
Comprend tu ?
peu etre en mettant de coté les chiffres deja sortie et les comparant au nouveaux...
Tu es formidable
Comprend tu ?
peu etre en mettant de coté les chiffres deja sortie et les comparant au nouveaux...
Tu es formidable
- DomicilePC
- WRInaute occasionnel

- Messages: 210
- Inscription: Lun Jan 17, 2005 15:50
Je pense pas qu'un chiffre aléatoire ne te ressorte comme ça.
Si ça t'arrive, va vite faire un loto, t'as des chances de gagner.
Si non, tu peux placer ton chiffre dans un tableau, et ensuite parser le tableau pour voir si le nouveau nombre est présent.
Mais franchement, t'as plus de chance au loto...
Si ça t'arrive, va vite faire un loto, t'as des chances de gagner.
Si non, tu peux placer ton chiffre dans un tableau, et ensuite parser le tableau pour voir si le nouveau nombre est présent.
Mais franchement, t'as plus de chance au loto...
19 messages • Page 1 sur 2 • 1, 2
Formation recommandée sur ce thème :
Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- La commande link: sur Google
- Opérateurs de recherche avancée sur MSN
- Microsoft désactive les opérateurs link: et linkdomain:
- Ask dévoile sa technologie RhymeRank
- Google Toolbar 2.0 (version beta)
- Google Pack s'enrichit de 2 nouveaux logiciels gratuits
- Sortie de GoogleStats v2.01
- Historique des "Google Update"
- Google News : trucs et astuces
- Référencement local gratuit dans l'annuaire WebRankInfo
- Lister les sous-domaines
Cet outil vous permet de trouver la liste des sous-domaines (indexés) d'un site.
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités




le forum