Récupérer des info d'une page sur une autre page - [php]

bonjour bonjour!!
MiWi a un nouveau soucis!!! (pour changer)!!
alors jvoilà, j’aurais voulu savoir comment faire passer des info d’une page à l’autre!!!
je m’explique parce c’est pas si simple que ça!!

j’ai un formulaire!!!
sur cette même page je récupere le résultat :
$search = $_POST[‘search’];

je fais des traitement dessus au bout de quelque ligne j’ai :
$espace = $tab_search[$i]
ou
$plus = $tab_search[$i]
ou
$expression = $tab_search[$i]

j’ai 3pages
espace.php, plus.php et expression.php, dedans j’ai mes variable $espace, $plus, $expression!! j’aimerais récupéré mes données de ma pages principale dans mes variables des pages adjacentes selon $espace => $espace, $plus=> $plus, $expression => $expression.

dans les 3pages, il y aussi des traitements pour chaque variable, des traitements différents!!! les résultats de ces traitements, j’aimerais les récupérer dans ma page principale!!!!
et euh, je ne vois pas trop comment faire!!!!
c’est en gros du va et vient d’information!!!

n’hésitez pas à me demander plus de precision!!!

plus d’informations…

Sinon pour passer des valeurs d’une page à une autre tu peux utiliser la méthode GET.
Par exemple :
-je suis sur la page “1.php


<?php
$valeur=1;
echo "<a href='2.php?valeur=$valeur'>Envoyer $valeur à la page 2.php</a>";
?>

-je suis sur la page"2.php"


<?php
$valeur = $_GET['valeur'];
?>

Ou encore les sessions mais bon…

<?php
session_start();
$valeur = 1;
$_SESSION['valeur'] = $valeur;
?>

si dans une autre page tu fais : session_start(); et echo $_SESSION[‘valeur’]; tu afficheras 1.

PS :[quote=""]
j’aimerais récupéré mes données de ma pages principale dans mes variables des pages adjacentes selon $espace => $espace, $plus=> $plus, $expression => $expression.
[/quote]
Lapin compris :pt1cable:

Ba justement, je n’ai pas de lien, ou alors, il m’en faut un, invisible!!! en gros, j’vais vous mettre mon début de code pour mieux comprendre :
j’ai ma page : recherche_test.php


Veuillez rentrer votre recherche:<br><br>
<form method="post" action="recherche_test.php">

<input type="text" name="search" SIZE="50">  
<input type="submit" value="Rechercher">
<input type="hidden" name="envoie" value="1">

</form>

</table>

<?
include ("secret/connect.php");
include ("fonction.php");
if((isset($_POST['envoie']))&&($_POST['envoie']=='1'))
{
	if($CONNEXION)
	{
  //récupere la recherche demandée par l'utilisateur
  $search = $_POST['search'];
  $search = strtolower($search);//mise en minuscule
  $search = noaccents($search); // on ôte les accents
  echo $search;
  $expression = strpos("\"",$search);
  $espace = strpos(" ",$search);
  if ($expression === false)
  {
  	$plus = strpos("+",$search);
  	if ($plus === false)
  	{
    //on ne traite que les espaces
    $espace = $search;
    include("espace.php");
    $tab_final = $_GET[$tab_espace];
  	}
  	else
  	{
    if ($espace === false)
    {
    	//on ne traite que les "+"
    	$plus = $search;
    	include("plus.php");
    	$tab_final = $_GET[$tab_plus];
    	
    }
    else 
    {
    	//o n traite les "+" et les " "
    	$tab_search = explode(" ",$search);
    	$i=0;
    	$intermespace = "";
    	$intermplus = "";
    	while ($i<count ($tab_search))
    	{
      $posplus = strpos("+",$tab_search[$i]);
      if ($posplus===false)
      {
      	$espace = $tab_search[$i];
      	include("espace.php");
      	$intermespace .= $tab_espace;
      }
      else
      {
      	$plus = $tab_search[$i];
      	include("plus.php");
      	$intermplus .= $tab_plus;
      }
      $i++;
    	}
    	$tab_final = array_merge($intermespace,$intermplus);
    }
  	}
  }
  else
  { ...

ma page espace.php


$espace = $_GET[$espace];
  	$mot_search = explode(" ",$espace); //on crée un tableau de chaque mots séparé par un espace
  	$nb_mot = count($mot_search); // on compte le nombre de mot composant cette recherche
  	$i=0;
  	
  	$ChaineVide="";
  	$sql="SELECT mot_vide FROM mots_vide";
  	$curseur = mysql_query($sql);
  	$motVide = mysql_fetch_array($curseur);
  	while($motVide)
  	{
    $ChaineVide.=" ".$motVide[0]; // récupere dans une variable la liste des mot vide
    $motVide=mysql_fetch_array($curseur);
  	}
  
  	while ($i<$nb_mot)
  	{
    $pos = strpos($ChaineVide, $mot_search[$i]);//vérifie si le mot cherché n'est pas un mot vide
    if(($pos === false) && (strlen($mot_search[$i])>2))//si ce n'est pas un mot vide et qu'il est composé de plus de 2caractère
    {// on cherche s'il appartient à la table mot (où tout les mot de chaque texte sont indexé (hors mot vide et de moins de 2caractère)
    	$req = "SELECT Poids, ID_TEXTE FROM mot WHERE Libelle LIKE \"%$mot_search[$i]%\" ";
    	$sql = mysql_query($req);
    	$searchMot = mysql_fetch_array($sql);
    	echo "<br>".$req;
    	while ($searchMot)//pour chaquemot dans chaque texte retrouvé
    	{
...
...
While ($resultat)
    {
    	//$poids = $resultat["Poids"];
    	$url = $resultat["url"];//on récupere l'url
    	$titre = $resultat["titre"];//et le tittre
    	//echo " <br><a href=\"PageHtml/$url\">$titre</a>";//et on affiche un lien vers l'url en présentant le titre
    	$tab_espace[$url]= $titre;
    	$resultat = mysql_fetch_array($sql);
    }
  	}	

ma page plus.php


$plus = $_GET[$plus];
  	$motcherche=explode("+",$plus);
  	$max_motcherche=count($motcherche);
  	$j=0;
  	
  	$ChaineVide="";
  	$sql="SELECT mot_vide FROM mots_vide";
  	$curseur = mysql_query($sql);
  	$motVide = mysql_fetch_array($curseur);
  	while($motVide)
  	{
    $ChaineVide.=" ".$motVide[0]; // récupere dans une variable la liste des mot vide
    $motVide=mysql_fetch_array($curseur);
  	}
  	
  	while ($j<$max_motcherche)
  	{
    $pos = strpos($ChaineVide, $motcherche[$j]);//vérifie si le mot cherché n'est pas un mot vide
    if(($pos === false) && (strlen($motcherche[$j])>2))//si ce n'est pas un mot vide et qu'il est composé de plus de 2caractère
    {// on cherche s'il appartient à la table mot (où tout les mot de chaque texte sont indexé (hors mot vide et de moins de 2caractère)
    	$req = "SELECT ID_TEXTE FROM mot WHERE Libelle LIKE \"$motcherche[$j]\"";
    	echo "<br>".$req;
    	$sql = mysql_query($req);
    	$result = mysql_fetch_array($sql);
    	$nrows  = mysql_num_rows($sql);
    	while ($result)
    	{
...
...
...
$req="SELECT url, titre FROM texte WHERE ID = $key";
      $sql=mysql_query($req);
      $result=mysql_fetch_array($sql);
      echo "<br><br>".$req;
      while ($result)
      {
      	$url = $result["url"];
      	$titre = $result["titre"];
      	//echo " <br><a href=\"PageHtml/$url\">$titre</a>";
      	$tab_plus[$url] = $titre;
      	$result = mysql_fetch_array($sql);
      }
      echo "<br>".$curs." ".$mots_cherches[$curs];
    	}
    }


et pi ma page expression qui est dans la même genre …
recherche_test devrait envoyer $espace à espace.php qui fera le traitement et qui renverra les résultats à recherche_test.
pareil pour $plus ou $expression …

je ne vais pas remettre plus.php, espace.php et expression.php dans ma page principale parce que je devrais recopier mon code à chaque fois, car j’ai souvent besoin des informations que me retourne les autres pages!!! je devrais la réécrire souvent…

C’est pourtant ce que tu fais
Tu fais un include(“plus.php”); a un moment,
un include(); c’est juste un copier coller du contenu d’une page.
Donc ta variable $plus tu l’as deja, pas besoin de faire quoi que ce soit je comprends pas

Enlève les $espace = $_GET[$espace]; et $plus = $_GET[$plus]; c’est éronné

je ne sais pas trop me servir de mes includes!!!! et euh, je ne SAIS PAS DU TOUT coment régler ce truc, et euh, il ne me reste plus que UN jour pour finir mon truc!!!!
chauuuud!

A mon avis si t’as une erreur c’est pas à cause d’un envoi de variable d’une page à une autre.

Je t’explique le include();
En fait si dans ma page "1.php" j’ai :

<html>
<head><title>Explication de la fonction include();</title></head>
<body>
<?php 
 include("2.html");
?>
</body>
</html>

Et dans ma page “2.html” j’ai :

Il n'y a que du texte dans la page 2.html, aucunes balises

Alors si je lance la page 1.php dans le navigateur, il y aura écrit :[quote=""]
“Il n’y a que du texte dans la page 2.html, aucunes balises”
[/quote]

Pour ton code je peux pas vraiment t’aider

bon, alors, euh, le plus simple, je pense, enfin pour expliquer exactement ce que je veux, c’est de balancer TOUT mon code
ma page recherche_test.php (qui marche c’est sur, et sans renvoie de page vers une autre) me donne :


Veuillez rentrer votre recherche:<br><br>
<form method="post" action="recherche_test.php">

<input type="text" name="search" SIZE="50">  
<input type="submit" value="Rechercher">
<input type="hidden" name="envoie" value="1">

</form>

</table>

<?
include ("secret/connect.php");
include ("fonction.php");
if((isset($_POST['envoie']))&&($_POST['envoie']=='1'))
{
	if($CONNEXION)
	{
  //récupere la recherche demandée par l'utilisateur
  $search = $_POST['search'];
  $search = strtolower($search);//mise en minuscule
  $search = noaccents($search); // on ôte les accents
  echo $search;
  
  $expressionpos = strrpos($search,"\"");
  $pluspos = strrpos($search,"+");
  $espacepos = strrpos($search," ");
  
  if ($expressionpos === false)
  {
  	if ($pluspos === false)//traitement des espaces => OK!
  	{
    echo "<br>les espaces";
    $espace = $search;
    $espace = delimiteurs($search);
    $mot_search = explode(" ",$espace); //on crée un tableau de chaque mots séparé par un espace
    $nb_mot = count($mot_search); // on compte le nombre de mot composant cette recherche
    $i=0;
  	
    $ChaineVide="";
    $sql="SELECT mot_vide FROM mots_vide";
    $curseur = mysql_query($sql);
    $motVide = mysql_fetch_array($curseur);
    while($motVide)
    {
    	$ChaineVide.=" ".$motVide[0]; // récupere dans une variable la liste des mot vide
    	$motVide=mysql_fetch_array($curseur);
    }
  
    while ($i<$nb_mot)
    {
    	$pos = strpos($ChaineVide, $mot_search[$i]);//vérifie si le mot cherché n'est pas un mot vide
    	if(($pos === false) && (strlen($mot_search[$i])>2))//si ce n'est pas un mot vide et qu'il est composé de plus de 2caractère	
    	{// on cherche s'il appartient à la table mot (où tout les mot de chaque texte sont indexé (hors mot vide et de moins de 2caractère)
      $req = "SELECT Poids, ID_TEXTE FROM mot WHERE Libelle LIKE \"%$mot_search[$i]%\" ";
      echo "<br>".$req;
      $sql = mysql_query($req);
      $searchMot = mysql_fetch_array($sql);
      while ($searchMot)//pour chaquemot dans chaque texte retrouvé
      {
      	$poids = $searchMot["Poids"]; //on récupere le poids 
      	$idTexte = $searchMot["ID_TEXTE"];//et l'id du texte correspondant
      	if (isset($motcherche[$idTexte]))//si pour chaque mot l'id texte est le même
      	{
        $motcherche[$idTexte]+=$poids;// alors on cumule les poids
      	}
      	else
      	{
        $motcherche[$idTexte]=$poids;//sinon, on garde le poids d'origine
      	}
      	$searchMot = mysql_fetch_array($sql);
      }
    	}
    	$i++;
    }
    arsort($motcherche);//on range le tableau par odre décoissant du poids
    foreach ($motcherche as $clef => $valeur) 
    {
    	$req="SELECT url, titre FROM texte WHERE ID = $clef"; //on selectionne le titre et l'url du texte correspondant à l'id du texte mot	
    	$sql = mysql_query($req);
    	$resultat = mysql_fetch_array($sql);
    	$nrows  = mysql_num_rows($sql);
    	While ($resultat)
    	{
      $url = $resultat["url"];//on récupere l'url
      $titre = $resultat["titre"];//et le tittre
      echo " <br><a href=\"PageHtml/$url\">$titre</a>";//et on affiche un lien vers l'url en présentant le titre
      $tab_espace[$url]= $titre;
      $resultat = mysql_fetch_array($sql);
    	}
    }
    $tab_final=$tab_espace;
  	}
  	else
  	{	
    if ($espacepos === false)//traitement des plus=>OK!
    {
    	echo "<br>traite les plus";
    	$plus = $search;
    	$motcherche=explode("+",$plus);
    	$max_motcherche=count($motcherche);
    	$j=0;
  	
    	$ChaineVide="";
    	$sql="SELECT mot_vide FROM mots_vide";
    	$curseur = mysql_query($sql);
    	$motVide = mysql_fetch_array($curseur);
    	while($motVide)
    	{
      $ChaineVide.=" ".$motVide[0]; // récupere dans une variable la liste des mot vide
      $motVide=mysql_fetch_array($curseur);
    	}
  	
    	while ($j<$max_motcherche)
    	{
      $pos = strpos($ChaineVide, $motcherche[$j]);//vérifie si le mot cherché n'est pas un mot vide
      if(($pos === false) && (strlen($motcherche[$j])>2))//si ce n'est pas un mot vide et qu'il est composé de plus de 2caractère
      {// on cherche s'il appartient à la table mot (où tout les mot de chaque texte sont indexé (hors mot vide et de moins de 2caractère)
      	$req = "SELECT ID_TEXTE FROM mot WHERE Libelle LIKE \"$motcherche[$j]\"";
      	$sql = mysql_query($req);
      	$result = mysql_fetch_array($sql);
      	$nrows  = mysql_num_rows($sql);
      	while ($result)
      	{
        $id = $result["ID_TEXTE"];
        $recherche[]=$id; //tableau qui me permet de garder l'id du texte par rapport aux mots!!!
        $result = mysql_fetch_array($sql);
      	}
      	$j++;
      }
      sort($recherche);
      $m=1;
      $dernier=$recherche[0];
      for($compteur=1;$compteur<count($recherche);$compteur++)
      {	
      	if ($dernier==$recherche[$compteur])
      	{
      	$m++;
      	}
      	else
      	{
        $mots_cherches[$dernier]=$m;
        $m=1;
        $dernier=$recherche[$compteur];
      	}
      }
      $mots_cherches[$dernier]=$m;
      reset($mots_cherches);
  	
      foreach ($mots_cherches as $key => $value)
      {
      	if ($value == $max_motcherche)
      	{
        $req="SELECT url, titre FROM texte WHERE ID = $key";
        $sql=mysql_query($req);
        $result=mysql_fetch_array($sql);
        while ($result)
        {
        	$url = $result["url"];
        	$titre = $result["titre"];
        	//echo " <br><a href=\"PageHtml/$url\">$titre</a>";
        	$tab_plus[$url] = $titre;
        	$result = mysql_fetch_array($sql);
        }
        
      	}
      }
    	}
    	$tab_final=$tab_plus;
    }
    else //traitement des plus et des espaces=>OK!(pas encore)
    {
    	echo "<br>plus et espace";
    	$tab_search = explode(" ",$search);
    	$i=0;
    	$intermespace = "";
    	$intermplus = "";
    	while ($i<count($tab_search))
    	{
      $posplus = strrpos($tab_search[$i],"+");
      if ($posplus===false)
      {
      	$espace = $tab_search[$i];
      	$ChaineVide="";
      	$sql="SELECT mot_vide FROM mots_vide";
      	$curseur = mysql_query($sql);
      	$motVide = mysql_fetch_array($curseur);
      	while($motVide)
      	{
        $ChaineVide.=" ".$motVide[0]; // récupere dans une variable la liste des mot vide
        $motVide=mysql_fetch_array($curseur);
      	}
  
      	$pos = strpos($ChaineVide, $espace);//vérifie si le mot cherché n'est pas un mot vide
      	if(($pos === false) && (strlen($espace)>2))//si ce n'est pas un mot vide et qu'il est composé de plus de 2caractère
      	{// on cherche s'il appartient à la table mot (où tout les mot de chaque texte sont indexé (hors mot vide et de moins de 2caractère)
        $req = "SELECT Poids, ID_TEXTE FROM mot WHERE Libelle LIKE \"%$espace%\" ";
        $sql = mysql_query($req);
        $searchMot = mysql_fetch_array($sql);
        while ($searchMot)//pour chaquemot dans chaque texte retrouvé
        {
        	$poids = $searchMot["Poids"]; //on récupere le poids 
        	$idTexte = $searchMot["ID_TEXTE"];//et l'id du texte correspondant
        	if (isset($motcherche[$idTexte]))//si pour chaque mot l'id texte est le même
        	{
          $motcherche[$idTexte]+=$poids;// alors on cumule les poids
        	}
        	else
        	{
          $motcherche[$idTexte]=$poids;//sinon, on garde le poids d'origine
        	}
        	$searchMot = mysql_fetch_array($sql);
        }
    	
      	}
      	arsort($motcherche);//on range le tableau par odre décoissant du poids
      	foreach ($motcherche as $clef => $valeur) 
      	{
        $req="SELECT url, titre FROM texte WHERE ID = $clef"; //on selectionne le titre et l'url du texte correspondant à l'id du texte mot
        $sql = mysql_query($req);
        $resultat = mysql_fetch_array($sql);
        $nrows  = mysql_num_rows($sql);
        While ($resultat)
        {
        	$url = $resultat["url"];//on récupere l'url
        	$titre = $resultat["titre"];//et le tittre
        	//echo " <br><a href=\"PageHtml/$url\">$titre</a>";//et on affiche un lien vers l'url en présentant le titre
        	$tab_espace[$url]= $titre;
        	$resultat = mysql_fetch_array($sql);
        	//echo "<br>tab_espace".$url." ".$tab_espace[$url];
        }
      	}
      }  
      else
      {
      	$plus = $tab_search[$i];
      	$motcherche=explode("+",$plus);
      	$max_motcherche=count($motcherche);
      	$j=0;
  	
      	$ChaineVide="";
      	$sql="SELECT mot_vide FROM mots_vide";
      	$curseur = mysql_query($sql);
      	$motVide = mysql_fetch_array($curseur);
      	while($motVide)
      	{
        $ChaineVide.=" ".$motVide[0]; // récupere dans une variable la liste des mot vide
        $motVide=mysql_fetch_array($curseur);
      	}
      	while ($j<$max_motcherche)
      	{
        $pos = strpos($ChaineVide, $motcherche[$j]);//vérifie si le mot cherché n'est pas un mot vide
        if(($pos === false) && (strlen($motcherche[$j])>2))//si ce n'est pas un mot vide et qu'il est composé de plus de 2caractère
        {// on cherche s'il appartient à la table mot (où tout les mot de chaque texte sont indexé (hors mot vide et de moins de 2caractère)
        	$req = "SELECT ID_TEXTE FROM mot WHERE Libelle LIKE \"$motcherche[$j]\"";
        	$sql = mysql_query($req);
        	$result = mysql_fetch_array($sql);
        	$nrows  = mysql_num_rows($sql);
        	while ($result)
        	{
          $id = $result["ID_TEXTE"];
          $recherche[]=$id; //tableau qui me permet de garder l'id du texte par rapport aux mots!!!
          $result = mysql_fetch_array($sql);
        	}
        	$j++;
        }
        sort($recherche);
        $m=1;
        $dernier=$recherche[0];
        for($compteur=1;$compteur<count($recherche);$compteur++)
        {	
        	if ($dernier==$recherche[$compteur])
        	{
          $m++;
        	}
        	else
        	{
          $mots_cherches[$dernier]=$m;
          $m=1;
          $dernier=$recherche[$compteur];
        	}
        }
        $mots_cherches[$dernier]=$m;
        reset($mots_cherches);
  	
        foreach ($mots_cherches as $key => $value)
        {
        	if ($value == $max_motcherche)
        	{
          $req="SELECT url, titre FROM texte WHERE ID = $key";
          $sql=mysql_query($req);
          $result=mysql_fetch_array($sql);
          while ($result)
          {
          	$url = $result["url"];
          	$titre = $result["titre"];
          	//echo " <br><a href=\"PageHtml/$url\">$titre</a>";
          	$tab_plus[$url] = $titre;
          	$result = mysql_fetch_array($sql);
          }
        	}
        }
      	}
      }
      $i++;
    	}
    	$tab_final = array_merge($tab_plus,$tab_espace);
    }
  	}
  }
  else
  {
  	if ((substr($search,0,1) == "\"") && (substr($search,-1,1) == "\"")) //traitement des expressions=>OK!
  	{
    echo "je traite l'expression";
    $expression = $search;
    $expression = str_replace("\"", "", $expression); // on remplace ces doubles quotes par rien pour ne garder que l'expression
    $req = "SELECT url, titre FROM texte WHERE contenu LIKE \"%$expression% \" "; //on cherche dans un texte
    $sql = mysql_query($req);
    $ID = mysql_fetch_array($sql);
    while($ID)
    { //on parcours chaque texte pour récupérer l'url et le titre
    	$url = $ID["url"];
    	$titre = $ID["titre"];
    	//echo " <br><a href=\"PageHtml/$url\">$titre</a><br>"; //et on affiche un lien vers l'url en présentant le titre
    	$tab_expression[$url]=$titre; 
    	$ID = mysql_fetch_array($sql);
    }
    $tab_final=$tab_expression;
  	}
  	else
  	{
    if ($pluspos === false)//traitement des espaces et expressions=>presque OK, reste à faire le tri!!!!!
    {
    	echo "<br>je traite espace et expression";
    	$tab_search = explode(" ", $search);
    	$i=0;
    	while ($i<count($tab_search))
    	{
      While ((substr($tab_search[$i],0,1)!= "\"") && ($i<count($tab_search)))
      {
      	$espace =$tab_search[$i];
      	$ChaineVide="";
      	$sql="SELECT mot_vide FROM mots_vide";
      	$curseur = mysql_query($sql);
      	$motVide = mysql_fetch_array($curseur);
      	while($motVide)
      	{
        $ChaineVide.=" ".$motVide[0]; // récupere dans une variable la liste des mot vide
        $motVide=mysql_fetch_array($curseur);
      	}
      	$pos = strpos($ChaineVide, $espace);//vérifie si le mot cherché n'est pas un mot vide
      	if(($pos === false) && (strlen($espace)>2))
      	{
        $req = "SELECT Poids, ID_TEXTE FROM mot WHERE Libelle LIKE \"%$espace%\" ";
        echo "<br>".$req;
        $sql = mysql_query($req);
        $searchMot = mysql_fetch_array($sql);
        while ($searchMot)
        {
        	$poids = $searchMot["Poids"]; 
        	$idTexte = $searchMot["ID_TEXTE"];
        	if (isset($motcherche[$idTexte]))
        	{
          $motcherche[$idTexte]+=$poids;
        	}	
        	else
        	{
          $motcherche[$idTexte]=$poids;
        	}
        	$searchMot = mysql_fetch_array($sql);
        }
      	}
      	arsort($motcherche);
      	foreach ($motcherche as $clef => $valeur) 
      	{
        $req="SELECT url, titre FROM texte WHERE ID = $clef"; 
        echo "<br>".$req;
        $sql = mysql_query($req);
        $resultat = mysql_fetch_array($sql);
        $nrows  = mysql_num_rows($sql);
        While ($resultat)
        {
        	$url = $resultat["url"];//on récupere l'url
        	$titre = $resultat["titre"];//et le tittre
        	//echo " <br><a href=\"PageHtml/$url\">$titre</a>";
        	$tab_espace[$url]= $titre;
        	$resultat = mysql_fetch_array($sql);
        }
      	}
      	$i++;
      }
      if($i<count($tab_search))
      {
      	while (($i<count($tab_search)) && (substr($tab_search[$i],-1,1) != "\""))
      	{
        $expressioninterm .= $tab_search[$i]." ";
        $i++;
      	}
      	$expressioninterm .= $tab_search[$i];
      	$expression = $expressioninterm;
      	$expression = str_replace("\"", "", $expression); // on remplace ces doubles quotes par rien pour ne garder que l'expression
      	$req = "SELECT url, titre FROM texte WHERE contenu LIKE \"%$expression% \" "; 
      	$sql = mysql_query($req);
      	$ID = mysql_fetch_array($sql);
      	while($ID)
      	{ 
        $url = $ID["url"];
        $titre = $ID["titre"];
        $tab_expression[$url]=$titre; 
        $ID = mysql_fetch_array($sql);
      	}
      }
      $i++;
    	}
    	$tab_final = array_merge($tab_espace,$tab_expression);
    }
    else//devrait traiter les espaces, les expressions et les plus
    {
    	echo "<br>on se tente les trois";
    	$tab_search = explode(" ", $search);
    	$i=0;
    	$intermplus = "";
    	while ($i<count($tab_search))
    	{
      While ((substr($tab_search[$i],0,1)!= "\"") && ($i<count($tab_search)))
      {
      	$plusposbis = strrpos($tab_search[$i],"+");
      	if ($plusposbis === false)
      	{
        $espace = $tab_search[$i];
        $espace = delimiteurs($search);
        $ChaineVide="";
        $sql="SELECT mot_vide FROM mots_vide";
        $curseur = mysql_query($sql);
        $motVide = mysql_fetch_array($curseur);
        while($motVide)
        {
        	$ChaineVide.=" ".$motVide[0];
        	$motVide=mysql_fetch_array($curseur);
        }
        $pos = strpos($ChaineVide, $espace);
        if(($pos === false) && (strlen($espace)>2))
        {
        	$req = "SELECT Poids, ID_TEXTE FROM mot WHERE Libelle LIKE \"%$espace%\" ";
        	$sql = mysql_query($req);
        	$searchMot = mysql_fetch_array($sql);
        	while ($searchMot)
        	{
          $poids = $searchMot["Poids"]; 
          $idTexte = $searchMot["ID_TEXTE"];
          if (isset($motcherche[$idTexte]))
          {
          	$motcherche[$idTexte]+=$poids;
          }	
          else
          {
          	$motcherche[$idTexte]=$poids;
          }
          $searchMot = mysql_fetch_array($sql);
        	}
        }
        arsort($motcherche);
        foreach ($motcherche as $clef => $valeur) 
        {
        	$req="SELECT url, titre FROM texte WHERE ID = $clef"; 
        	$sql = mysql_query($req);
        	$resultat = mysql_fetch_array($sql);
        	$nrows  = mysql_num_rows($sql);
        	While ($resultat)
        	{
          $url = $resultat["url"];
          $titre = $resultat["titre"];
          $tab_espace[$url]= $titre;
          $resultat = mysql_fetch_array($sql);
        	}
        }
        
      	}
      	else
      	{
        $plus =$tab_search[$i];
        $motcherche=explode("+",$plus);
        $max_motcherche=count($motcherche);
        $j=0;
        $ChaineVide="";
        $sql="SELECT mot_vide FROM mots_vide";
        $curseur = mysql_query($sql);
        $motVide = mysql_fetch_array($curseur);
        while($motVide)
        {
        	$ChaineVide.=" ".$motVide[0]; // récupere dans une variable la liste des mot vide
        	$motVide=mysql_fetch_array($curseur);
        }
        while ($j<$max_motcherche)
        {
        	$pos = strpos($ChaineVide, $motcherche[$j]);
        	if(($pos === false) && (strlen($motcherche[$j])>2))
        	{
          $req = "SELECT ID_TEXTE FROM mot WHERE Libelle LIKE \"$motcherche[$j]\"";	
          $sql = mysql_query($req);
          $result = mysql_fetch_array($sql);
          $nrows  = mysql_num_rows($sql);
          while ($result)
          {
          	$id = $result["ID_TEXTE"];
          	$recherche[]=$id; 
          	$result = mysql_fetch_array($sql);
          }
          $j++;
        	}
        	sort($recherche);
        	$m=1;
        	$dernier=$recherche[0];
        	for($compteur=1;$compteur<count($recherche);$compteur++)
        	{	
          if ($dernier==$recherche[$compteur])
          {
          	$m++;
          }
          else
          {
          	$mots_cherches[$dernier]=$m;
          	$m=1;
          	$dernier=$recherche[$compteur];
          }	
        	}
        	$mots_cherches[$dernier]=$m;
        	reset($mots_cherches);
  	
        	foreach ($mots_cherches as $key => $value)
        	{
          if ($value == $max_motcherche)
          {
          	$req="SELECT url, titre FROM texte WHERE ID = $key";
          	$sql=mysql_query($req);
          	$result=mysql_fetch_array($sql);
          	while ($result)
          	{
            $url = $result["url"];
            $titre = $result["titre"];
            $tab_plus[$url] = $titre;
            $result = mysql_fetch_array($sql);
          	}
          	
          }
        	}
        }
        $intermplus.= $tab_plus;
      	}
      	$i++;
      }
      $tab_interm = array_merge($tab_espace,$tab_plus);
      if($i<count($tab_search))
      {
      	while (($i<count($tab_search)) && (substr($tab_search[$i],-1,1) != "\""))
      	{
        $expressioninterm .= $tab_search[$i]." ";
        $i++;
      	}
      	$expressioninterm .= $tab_search[$i];
      	$expression = $expressioninterm;
      	$expression = str_replace("\"", "", $expression); 
      	$req = "SELECT url, titre FROM texte WHERE contenu LIKE \"%$expression% \" "; 
      	$sql = mysql_query($req);
      	$ID = mysql_fetch_array($sql);
      	while($ID)
      	{ 
        $url = $ID["url"];
        $titre = $ID["titre"];
        $tab_expression[$url]=$titre; 
        $ID = mysql_fetch_array($sql);
      	}
      }
      $i++;
    	}
    	$tab_final = array_merge($tab_interm,$tab_expression);
    }
  	}
  }
  foreach ($tab_final as $key => $value)
  {
  	echo " <br>tab_final : <a href=\"PageHtml/".$key."\">".$value."</a>";
  }
	}
} 
mysql_close($CONNEXION);
?>

inutile de dire que c’est super long!!!! et que plusieurs bouts de code reviennent selon les cas!!! donc bon, c’est inutile, j’aurais voulu rendre ce code plus simple, plus compréhensible du moins!!!

Oui c’est la meme chose qu’avant en fait la.
C’est pas dur, tu recommences tout depuis le début en adoptant une autre démarche ^^

Loooooooooooooooooooooooooooooooooooooool.ok, ok d’accord!! mais il ne me reste plus que 1h30 et mon stage est fini!! donc bon, je ne pense pas que je prendrais cette solution!!!
c’est pas grave, je vais laisser ça comme ça… :whistle: :confused: :whistle: :confused: :whistle: :confused: :riva: