Comment insèrer $variable dans un tableau alléatoire?
9 messages
• Page 1 sur 1
-

tryan - WRInaute passionné

- Messages: 2355
- Inscription: 20 Fév 2005
Comment insèrer $variable dans un tableau alléatoire?
Bonjour,
Je tente de faire passer une variable dans un tableau alléatoire.
Ma variable $mots me renvoit 50 mots.
J'utilise le tableau ci-dessous:
Mon soucis est que je ne parvient pas à dissocier les mots "envoyés" par $mots dans les colonnes du tableau (4). Ceux ci s'affiche dans un seul tableau les un après les autres.
Comment dois je procèder pour que chaque mot s'affiche dans une cellule ?
Merci
Je tente de faire passer une variable dans un tableau alléatoire.
Ma variable $mots me renvoit 50 mots.
J'utilise le tableau ci-dessous:
- Code: Tout sélectionner
<?php
$tablo = array("$mots");
srand((float)microtime()*1000000);
shuffle($tablo);
$nbcol=4;
echo '<table border=\"1\">';
$nb=count($tablo);
for($i=0;$i<$nb;$i++)
{
//les valeurs à afficher
$valeur1=$tablo[$i];
if($i%$nbcol==0)
echo '<tr>';
echo '<td>',$valeur1,'</td>';
if($i%$nbcol==($nbcol-1))
echo '</tr>';
}
echo '</tr></table>';
?>
Mon soucis est que je ne parvient pas à dissocier les mots "envoyés" par $mots dans les colonnes du tableau (4). Ceux ci s'affiche dans un seul tableau les un après les autres.
Comment dois je procèder pour que chaque mot s'affiche dans une cellule ?
Merci
- passion
- WRInaute accro

- Messages: 3124
- Inscription: 6 Jan 2006
C'est normal puisque ta variable $tablo est un tableau comportant qu'une entrée.Et ça:
ça peut pas marcher..
tu dois faire d'abord un explode de $mots puis l'insérer ensuite dans $tablo et là, tu pourras faire
Voilà
- Code: Tout sélectionner
$tablo[$i];
ça peut pas marcher..
tu dois faire d'abord un explode de $mots puis l'insérer ensuite dans $tablo et là, tu pourras faire
- Code: Tout sélectionner
$tablo[$i];
Voilà
-

tryan - WRInaute passionné

- Messages: 2355
- Inscription: 20 Fév 2005
Merci de ta réponse passion.
Bon , je ne suis pas doué en php alors j'ai cherché et testé cette fonction sans succès.
Si je fais:
...sa me sort ma liste de mots.
J'ai donc testé:
Bon je continue de chercher et de comprendre mais je sèche ...
Bon , je ne suis pas doué en php alors j'ai cherché et testé cette fonction sans succès.
Si je fais:
- Code: Tout sélectionner
<?
$teste = "$mots";
$truc = explode("\n", $teste);
echo "$teste";
?>
...sa me sort ma liste de mots.
J'ai donc testé:
- Code: Tout sélectionner
<?php
$teste = "$mots";
$truc = explode("\n", $teste);
$tablo = array("$teste");
srand((float)microtime()*1000000);
shuffle($tablo);
$nbcol=4;
echo '<table border=\"1\">';
$nb=count($tablo);
for($i=0;$i<$nb;$i++)
{
//les valeurs à afficher
$valeur1=$tablo[$i];
if($i%$nbcol==0)
echo '<tr>';
echo '<td>',$valeur1,'</td>';
if($i%$nbcol==($nbcol-1))
echo '</tr>';
}
echo '</tr></table>';
?>
Bon je continue de chercher et de comprendre mais je sèche ...
-

tryan - WRInaute passionné

- Messages: 2355
- Inscription: 20 Fév 2005
xTrade a écrit:Dans $mot, tes mots sont bien séparés par \n?
Excuse mais je suis totalement largué.
Mon dernier teste (code ci dessus) me renvoie mes mots dans un tableau séparé par un trait (-).
On va faire plus simple:
- Code: Tout sélectionner
$lk = connection_BD();
// Création de la requête
$sql = "SELECT id,keyw,nbkw,google FROM $T_keywords ORDER BY RAND() LIMIT 0,50 ";
$res = send_sql($sql,"trouver les mots pour créer la liste");
while ( $keyword = mysql_fetch_array($res,MYSQL_ASSOC) )
{
if ( $n<=$PMA_infos['kw_cliquables'] ) $keywords .= "<a
href="".id_to_url($keyword['id'],$keyword['keyw'],'1','keyw')."" class="">";
$keywords .= stripslashes($keyword['keyw']);
if ( $n<=$PMA_infos['kw_cliquables'] ) $keywords .= "</a>";
$keywords .= "-";
};
mysql_close($lk);
Plus loin mon code:
- Code: Tout sélectionner
<?php
$teste = "$keywords";
$truc = explode("\n", $teste);
$tablo = array("$teste");
srand((float)microtime()*1000000);
shuffle($tablo);
$nbcol=2; // nombre de colonne. Ici 2
echo '<table border="1">';
$nb=count($tablo);
for($i=0;$i<$nb;$i++)
{
//les valeurs à afficher
$valeur1=$tablo[$i];
if($i%$nbcol==0)
echo '<tr>';
echo '<td>',$valeur1,'</td>';
if($i%$nbcol==($nbcol-1))
echo '</tr>';
}
echo '</tr></table>';
?>
A l'origine le code est prévue pour afficher des mots clef tapé par les visiteurs puis afficher par ordre croissant avec un nombre bien définit.
- passion
- WRInaute accro

- Messages: 3124
- Inscription: 6 Jan 2006
Est-ce que $mots est une chaine de caractères genre
ou
Dans le deuxième cas, tu pourras utiliser la fonction explode en lui renseignant | comme séparateur et de cette façon, tu pourras remplir $tablo pour chaque nouvelle entrée et puis t'en servir via $tablo[$i]...
Voilà
Bonjour, je suis content parce qu'il fait beau...
ou
"Bonjour|,|je|suis|content|parce|qu'il|fait|beau..."
Dans le deuxième cas, tu pourras utiliser la fonction explode en lui renseignant | comme séparateur et de cette façon, tu pourras remplir $tablo pour chaque nouvelle entrée et puis t'en servir via $tablo[$i]...
Voilà
9 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- Comment inserer une frame d'un autre site dans un tableau
- Comment mettre une variable texte dans un tableau en php ?
- variable get du type tableau[]=val1&tableau[]=val2
- Tableau associative et variable (class adsense)
- Déclarer une variable tableau en PHP
- variable javascript dans un tableau en PHP
- Fonction qui associe un tableau a une variable
- affichage alléatoire
- Comment insérer une image
- Comment insérer les balises ?
Consultez la description détaillée des produits ou services de Google suivants : Google Website Optimizer
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

