PHP|Débutant :: Forums

Advertisement

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

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

#1 11-08-2010 09:33:44

allhambra
Membre
Lieu : Pau (64)
Inscription : 10-09-2009
Messages : 75
Site Web

soucis foraech

bonjour à tous smile.

J'ai un petit soucis avec cette boucle

 <td>
        <?php
    $id_mot = str_replace(",", " ", $id_mot);                   // on remplace les , par des espaces
    $tab=explode(" " , $id_mot);                                // on place les differents mots dans un tableau
    $nb=count($tab);                                            // on compte le nbr d'élément du tableau.
    $requete = 'SELECT COUNT(nom_mot, alias) AS total FROM motscle where nom_mot like \'%'.$tab[0].'%\' ';
   
    for($i=1 ; $i<$nb; $i++)
        {
        $sql.="$operateur nom_mot like \"%$tab[$i]%\" ";       // on boucle pour integrer tous les mots dans la requête
        }
   
    foreach($tab as $tab[i]){
      echo $tab[i]."<br>";
   }
   
    ?>
     
       
        <p><a href="webtv-thematique.php?id_mot=<?php echo $id_mot ; ?>"><?php echo $id_mot ; ?></a></p>
       
        <?php } ?></td>

1 - Je récupère bien mes mots clé, mais les mots clé composé de plusieurs mot ( ex :  développement durable) mes occurrences sont séparées.
2 - je ne sais pas comment syntaxer mon lien. J'ai tenté

<a href="webtv-thematique.php?id_mot=<?php echo $tab[i] ; ?>"><?php echo $id_mot ; ?></a>

mais il ne m'affiche qu'un seul mot clé(le dernier)

<p><a href="webtv-thematique.php?id_mot=<?php echo $tab[0] ; ?>"><?php echo $tab[0] ; ?></a></p>

me retourne uniquement le premier

la question est, comment recuperer la valeur de chaque tab pour rédiger mon lien ??

J'avoue qu'un petit coup de pouce serait bienvenu big_smile  merci

Dernière modification par allhambra (11-08-2010 09:40:15)

Hors ligne

#2 11-08-2010 09:57:40

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 629
Site Web

Re : soucis foraech

Bonjour,

Ton problème est tout à fait normal. Je m'explique. La raison principale est ton

$tab=explode(" ",$id_mot);

. En effet en faisant cela, tu vas placer les entrées comportant un espace dans deux indexs différents de ton tableau.
Pour corriger le problème, il faut supprimer les deux premières lignes de ton code et les remplacer comme suit :


<?php
$tab=explode(",",$id_mot);
$nb=count($tab);
// ...
 

Et voilà wink

Ps: Concernant ton problème de lien, suffit de faire une boucle pour chaque $id_mot avec $tab[x] pour le lien et le nom du lien

Dernière modification par Jc (11-08-2010 10:02:03)


POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

#3 11-08-2010 11:05:35

allhambra
Membre
Lieu : Pau (64)
Inscription : 10-09-2009
Messages : 75
Site Web

Re : soucis foraech

coucou, JC, merci de ta réponse,

grâce à toi, les mots clé sont récupérés en entier, par contre pour la boucle je n'ai pas du tout comprendre, lol.

  foreach($tab as $tab[i]){
    echo '<a href="webtv-thematique.php?id_mot=$tab[x]">$tab[x]</a>';
   }

m'affiche $tab[x]$tab[x]$tab[x]$tab[x]
bon, il y en à quatre, ce qui correspond bien au nombre de mots clé, mais je ne récupère pas leurs valeurs sad

Hors ligne

#4 11-08-2010 11:59:38

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 629
Site Web

Re : soucis foraech

Bonjour,

Je t'avais juste donné le principe faut transposer dans ton cas.
Donc voici :


foreach($tab as $value){echo "<a href='webtv-thematique.php?id_mot=$value'>$value</a>";}
 

Bonne journée wink

Dernière modification par Jc (11-08-2010 12:03:14)


POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

#5 11-08-2010 12:11:33

allhambra
Membre
Lieu : Pau (64)
Inscription : 10-09-2009
Messages : 75
Site Web

Re : soucis foraech

Merci beaucoup JC, maintenant je comprends mieux comment faire une boucle efficace wink

Hors ligne

Pied de page des forums