Requetre sql avec explode?

ladj59 Messages postés 322 Statut Membre -  
Christounet Messages postés 1272 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

si j'ai un champs et que dedans il y a plusieurs auteurs(tous séparés par un espace), je voudrais avec ma requête faire que en tapant un ou plusieurs auteurs cela me renvoie le résultat.

actuellement avec le code ci-dessous ca marche que si je tape un auteur(voir code ci-dessous), en revanche si dans un même champs il y a plusieurs auteurs cela ne marcher pas ( Requête invalide : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND auteur LIKE '%lala%'' at line 1 Requête complète : SELECT * FROM base_physique WHERE sujet LIKE '%' AND auteur LIKE '%lolo%' OR AND auteur LIKE '%lala%')

Comment faire svp?
merci d'avance

$sql=mysql_query("SELECT DISTINCT sujet FROM base_physique ORDER BY sujet") or die(mysql_error());

while ($ajout = mysql_fetch_array($sql))
{

$laRequete = "SELECT * FROM base_physique WHERE sujet LIKE '%'";

$mots3 = explode(" ", $_POST['auteur']);

if( isset( $_POST['auteur'] ) && $_POST['auteur'] != "" )
for($rangAuteur = 0 ; $rangAuteur< sizeof($mots3) ; $rangAuteur++)
{
if($rangAuteur > 0)
$laRequete .= " OR ";
$laRequete .= " AND auteur LIKE '%" . $mots3[ $rangAuteur ] . "%'";
}

$reponse = mysql_query( $laRequete );
if( !$reponse )
{
$message = 'Requête invalide : ' . mysql_error() . "\n";
$message .= 'Requête complète : ' . $laRequete;
die($message);
}
Configuration: Windows XP
Internet Explorer 7.0

20 réponses

  1. croy Messages postés 457 Statut Membre 114
     
    WHERE auteur LIKE '%' AND auteur LIKE '%lille%' OR AND auteur LIKE '%paris%' 
    


    1. que veut dire auteur LIKE '%' ?
    2. en supposant que la réponse à la question précédente soit "ça ne sert à rien", ton instruction deviendrait :
    WHERE auteur LIKE '%lille%' OR AND auteur LIKE '%paris%' 
    

    3. en supposant que nous remplacions OR AND par OR tout seul, que veut dire :
    WHERE auteur LIKE '%lille%' OR auteur LIKE '%paris%' 
    


    Ne te précipite pas sur ton poste de travail mais commence par répondre à ces qqes questions.
    1
    1. ladj59 Messages postés 322 Statut Membre 3
       
      ben la ce serait si le sujet est lille ou si c'est paris..
      mais le probléme c'est que quand je tape lille paris dans ma recherche ca ne marche pas.. avec le code de départ, cela marchait si je tapais lille ou si je tapais paris
      j'avais essayé avec des OR mais le probléme c'est que cela ne marche pas quand il y a plus d'un mot dans ma recherche j'ai l'impression...
      Donc je ne vois pas quoi mettre
      0
  2. Christounet Messages postés 1272 Date d'inscription   Statut Membre Dernière intervention   1 393
     
    Bonjour,

    Je pense que le code devrait être le suivant
    $laRequete = "SELECT * FROM base_physique WHERE sujet LIKE '%'";
    
    $mots3 = explode(" ", $_POST['auteur']);
    
    if( isset( $_POST['auteur'] ) && $_POST['auteur'] != "" )
    for($rangAuteur = 0 ; $rangAuteur< sizeof($mots3) ; $rangAuteur++)
    {
    if($rangAuteur = 0)
    $laRequete .= " AND (auteur LIKE '%" . $mots3[ $rangAuteur ] . "%'";
    if($rangAuteur > 0)
    $laRequete .= "  OR auteur LIKE '%" . $mots3[ $rangAuteur ] . "%'";
    }
    $laRequete.= ")";
    

    A plus
    0
    1. ladj59 Messages postés 322 Statut Membre 3
       
      Il me met l'erreur suivante :

      Requête invalide : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND auteur LIKE '%paris%'' at line 1 Requête complète : SELECT * FROM base_physique WHERE auteur LIKE '%' AND auteur LIKE '%lille%' OR AND auteur LIKE '%paris%'


      tu vois autre chose?

      merci
      0
  3. Christounet Messages postés 1272 Date d'inscription   Statut Membre Dernière intervention   1 393
     
    Bonjour,

    Oui, deux choses:
    1°) Remplace
    $laRequete = "SELECT * FROM base_physique WHERE sujet LIKE '%'";
    par
    $laRequete = "SELECT * FROM base_physique WHERE sujet ='" .$ajout ."'";

    2°) Remplace
    if($rangAuteur = 0)
    par
    if($rangAuteur == 0)

    A plus
    0
    1. ladj59 Messages postés 322 Statut Membre 3
       
      il me met encore ca :

      Requête invalide : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND auteur LIKE '%paris%'' at line 1 Requête complète : SELECT * FROM base_physique WHERE auteur LIKE '%' AND auteur LIKE '%lille%' OR AND auteur LIKE '%paris%'

      snif
      quand je tape ma recherche je met juste un espace entre les 2 auteurs que je recherche c'est bien cela?

      Tu as une autre idée?
      c'est super important pour moi et je galére la dessus depuis pas mal de temps..

      merci d'avance
      0
  4. ladj59 Messages postés 322 Statut Membre 3
     
    quelqu'un aurait une idée?
    merci
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. croy Messages postés 457 Statut Membre 114
     
    Regarde avec attention cette partie de ta requête mysql :
    WHERE auteur LIKE '%' AND auteur LIKE '%lille%' OR AND auteur LIKE '%paris%' 
    


    Qu'est-ce-qui cloche à ton avis ?
    0
  7. ladj59 Messages postés 322 Statut Membre 3
     
    ben le OR AND cote cote ca ne va pas mais j'ai essayé plei de trucs et je n'aboutis jamais a rien..
    je commence a desespéré

    aurais tu une idée?
    0
  8. croy Messages postés 457 Statut Membre 114
     
    Deux remarques sur ton interprétation :

    1. ce n'est pas le sujet mais l'auteur (si l'on se réfère aux noms des colonnes mysql)
    2. ce n'est pas est lille mais contient lille

    Est-ce-que ces précisions te sont utiles ? Est-ce-que la requête s'exécute maintenant ?
    0
    1. ladj59 Messages postés 322 Statut Membre 3
       
      porur sujet je voulais dire auteur
      par contre pour dire est auteur j'utilise = ou LIKE
      mais pour dire contient c'est quelle syntaxe?
      0
      1. ladj59 Messages postés 322 Statut Membre 3 > ladj59 Messages postés 322 Statut Membre
         
        je ne comprends pas trop comment je dois faire la requete pour que cela fonctionne correctement...
        peux tu me mettre sur la piste stp car je tourne en rond ..
        merci d'avance
        0
  9. croy Messages postés 457 Statut Membre 114
     
    auteur like '%lille%' 
    


    veut dire que la variable auteur est égale à 0 ou n caractères quelconques quivis de lille suivi de 0 ou n caractères quelconques.

    Ainsi, un enregistrement de la table dont la variable auteur est égale à 'lille', 'azertylille', 'lilleuiop' ou 'azrtyillleuiop' sera sélectionné

    Je ne sais pas que te dire de plus !
    0
  10. ladj59 Messages postés 322 Statut Membre 3
     
    oui je suis d'acord avec toi mais est-ce que les caractéres espaces sont également pris en compte??
    en effet si je tape lille lens cela ne marche pas est-ce normal?
    0
  11. croy Messages postés 457 Statut Membre 114
     
    Les blancs sont-ils pris en compte ? Oui : WHERE auteur LIKE '%avec deux blancs%' sélectionnera azertyavec deux blancs et ne sélectionnera pas azertyavecdeuxblancs.

    Mais je pense que ton pb n'est pas là : dans un message précédent il t'était proposé d'utiliser explode pour séparer les mots avant de générer la requête.

    Voici un code qui devrait marcher :
    if( isset( $_POST['auteur'] ) && $_POST['auteur'] != "" )
    	{
    	$laRequete = "SELECT * FROM base_physique";
    
    	$mots3 = explode(" ", $_POST['auteur']);
    
    	for( $rangAuteur = 0 ; $rangAuteur< sizeof($mots3) ; $rangAuteur++ )
    	{
    	if( $rangAuteur > 0 )
    		$laRequete .= " OR";
    	$laRequete .= "  auteur LIKE '%" . $mots3[ $rangAuteur ] . "%'";
    	}
    


    J'ai supprimé auteur like '%' qui ne sert à rien.

    REFLECHIS !!!!!!!!!!
    0
    1. ladj59 Messages postés 322 Statut Membre 3
       
      merci croy ca marche très bien!
      0
  12. ladj59 Messages postés 322 Statut Membre 3
     
    je viens de voir un petit probléme
    en effet quand je fais une recherche par critéres multiples j'ai une erreur dans le code suivant :

    <?php

    $laRequete = "SELECT * FROM base_physique WHERE ";

    $mots2 = explode(" ", $_POST['motstitre']);

    $mots3 = explode(" ", $_POST['auteur']);

    if( isset( $_POST['auteur'] ) && $_POST['auteur'] != "" )
    {

    for( $rangAuteur = 0 ; $rangAuteur< sizeof($mots3) ; $rangAuteur++ )
    {
    if( $rangAuteur > 0 )
    $laRequete .= " OR";
    $laRequete .= " auteur LIKE '%" . $mots3[ $rangAuteur ] . "%'";
    }
    }

    if( isset( $_POST['motstitre'] ) && $_POST['motstitre'] != "" && $_POST['auteur'] == "")
    {

    for( $rangMotstitre = 0 ; $rangMotstitre< sizeof($mots2) ; $rangMotstitre++ )
    {
    if( $rangMotstitre > 0 )
    $laRequete .= " OR";
    $laRequete .= " motstitre LIKE '%" . $mots2[ $rangMotstitre ] . "%'";
    }
    }

    else
    {
    if( isset( $_POST['motstitre'] ) && $_POST['motstitre'] != "" && $_POST['auteur'] != "")
    {

    for( $rangMotstitre = 0 ; $rangMotstitre< sizeof($mots2) ; $rangMotstitre++ )
    {
    if( $rangMotstitre > 0 )
    $laRequete .= " OR";
    $laRequete .= " AND motstitre LIKE '%" . $mots2[ $rangMotstitre ] . "%'";
    }
    }
    }

    le seul cas qui ne marche pas et quand je tape plusieurs motstitre
    cela me met :

    Requête invalide : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND motstitre LIKE '%atomic%'' at line 1 Requête complète : SELECT * FROM base_physique WHERE auteur LIKE '%blasco%' AND motstitre LIKE '%performance%' OR AND motstitre LIKE '%atomic%'

    merci d'avance
    0
    1. ladj59 Messages postés 322 Statut Membre 3
       
      quelqu'un a une idée??

      merci
      0
  13. Christounet Messages postés 1272 Date d'inscription   Statut Membre Dernière intervention   1 393
     
    Bonjour,

    Dans ton code
    if( isset( $_POST['motstitre'] ) && $_POST['motstitre'] != "" && $_POST['auteur'] != "")
    {
    
    for( $rangMotstitre = 0 ; $rangMotstitre< sizeof($mots2) ; $rangMotstitre++ )
    {
    if( $rangMotstitre > 0 )
    $laRequete .= " OR";
    $laRequete .= " AND motstitre LIKE '%" . $mots2[ $rangMotstitre ] . "%'";
    }
    }
    
    remplace " AND motstitre LIKE '%" par " motstitre LIKE '%"

    A plus
    0
    1. ladj59 Messages postés 322 Statut Membre 3
       
      non car si je fais une recherche par auteur et par motstitre cela ne marchera pas
      0
  14. Christounet Messages postés 1272 Date d'inscription   Statut Membre Dernière intervention   1 393
     
    Bonjour,

    Remplace ton code par le suivant alors
    else
    {
    if( isset( $_POST['motstitre'] ) && $_POST['motstitre'] != "" && $_POST['auteur'] != "")
    {
    
    for( $rangMotstitre = 0 ; $rangMotstitre< sizeof($mots2) ; $rangMotstitre++ )
    {
    if ( $rangMotstitre > 0)
    {
    $laRequete .= " OR";
    }
    else
    {
    $laRequete .= " AND (";
    }
    $laRequete .= " motstitre LIKE '%" . $mots2[ $rangMotstitre ] . "%'";
    }
    $laRequest .= ")";
    }
    }
    


    A plus
    0
    1. ladj59 Messages postés 322 Statut Membre 3
       
      ca marche pour tous les cas sauf quand je coche juste motstitre
      il me met :

      Requête invalide : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 Requête complète : SELECT * FROM base_physique WHERE


      code correspondant (avabt le else) :

      if( isset( $_POST['motstitre'] ) && $_POST['motstitre'] != "" && $_POST['auteur'] == "")
      {

      for( $rangMotstitre = 0 ; $rangMotstitre< sizeof($mots2) ; $rangMotstitre++ )
      {
      if( $rangMotstitre > 0 )
      $laRequete .= " OR";
      $laRequete .= " motstitre LIKE '%" . $mots2[ $rangMotstitre ] . "%'";
      }
      }
      0
  15. Christounet Messages postés 1272 Date d'inscription   Statut Membre Dernière intervention   1 393
     
    Bonjour,

    Rajoute la ligne suivante au début de ton code
    $aut = False;
    ensuite rajoute la ligne suivante
    $aut = True;
    juste après if( isset( $_POST['auteur'] ) && $_POST['auteur'] != "" )

    ensuite change le code suivant
    if( isset( $_POST['motstitre'] ) && $_POST['motstitre'] != "" && $_POST['auteur'] == "") 
    par
    if( isset( $_POST['motstitre'] ) && $_POST['motstitre'] != "" && !$aut) 
    et le code suivant
    if( isset( $_POST['motstitre'] ) && $_POST['motstitre'] != "" && $_POST['auteur'] != "") 
    par
    if( isset( $_POST['motstitre'] ) && $_POST['motstitre'] != "" && $aut) 


    Cela devrait résoudre ton problème.

    A plus
    0
    1. ladj59 Messages postés 322 Statut Membre 3
       
      toujours le même probléme cela marche bien pour tout sauf pour quand je recherche juste par motstitre

      Requête invalide : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 Requête complète : SELECT * FROM base_physique WHERE

      une autre idée?


      merci
      0
  16. ladj59 Messages postés 322 Statut Membre 3
     
    quelqu'un peut m'aider svp?
    merci
    0
    1. Christounet Messages postés 1272 Date d'inscription   Statut Membre Dernière intervention   1 393
       
      Bonjour,

      Peux-tu copier/coller tout ton code stp ?

      Merci
      0
  17. ladj59 Messages postés 322 Statut Membre 3
     
    ok le probléme ancien est résolu
    en revanche j'essaye d'incorporer annee et cela marche pour tous les cas sauf quand je fais une recherche juste par année et il me met :

    Requête invalide : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 Requête complète : SELECT * FROM base_physique WHERE

    $laRequete = "SELECT * FROM base_physique WHERE ";

    $mots2 = explode(" ", $_POST['motstitre']);

    $mots3 = explode(" ", $_POST['auteur']);

    if( isset( $_POST['auteur'] ) && $_POST['auteur'] != "" )
    {

    for( $rangAuteur = 0 ; $rangAuteur< sizeof($mots3) ; $rangAuteur++ )
    {
    if( $rangAuteur > 0 )
    $laRequete .= " OR";
    $laRequete .= " auteur LIKE '%" . $mots3[ $rangAuteur ] . "%'";
    }

    $reponse = mysql_query( $laRequete );

    if( !$reponse )

    {

    $message = 'Requête invalide : ' . mysql_error() . "\n";

    $message .= 'Requête complète : ' . $laRequete;

    die($message);

    }
    }

    if( isset( $_POST['motstitre'] ) && $_POST['motstitre'] != "" && $_POST['auteur'] == "")
    {

    for( $rangMotstitre = 0 ; $rangMotstitre< sizeof($mots2) ; $rangMotstitre++ )
    {
    if( $rangMotstitre > 0 )
    $laRequete .= " OR";
    $laRequete .= " motstitre LIKE '%" . $mots2[ $rangMotstitre ] . "%'";
    }
    }
    else
    {
    if( isset( $_POST['motstitre'] ) && $_POST['motstitre'] != "" && $_POST['auteur'] != "")
    {

    for( $rangMotstitre = 0 ; $rangMotstitre< sizeof($mots2) ; $rangMotstitre++ )
    {
    if ( $rangMotstitre > 0)
    {
    $laRequete .= " OR";
    }
    else
    {
    $laRequete .= " AND";
    }
    $laRequete .= " motstitre LIKE '%" . $mots2[ $rangMotstitre ] . "%'";
    }
    }

    $reponse = mysql_query( $laRequete );

    if( !$reponse )

    {

    $message = 'Requête invalide : ' . mysql_error() . "\n";

    $message .= 'Requête complète : ' . $laRequete;

    die($message);

    }
    }

    if( isset($_POST['annee']) && $_POST['annee'] != "" && $_POST['auteur'] == "" && $_POST['motstitre'] == "" )
    {

    $laRequete .= " annee='" . $_POST['annee'] . "'";

    }
    else
    {
    if(isset($_POST['annee']) && $_POST['annee'] != "" && ($_POST['auteur'] != "" || $_POST['motstitre'] != "" ))
    {
    $laRequete .= " AND annee='" . $_POST['annee'] . "'";
    }

    $reponse = mysql_query( $laRequete );

    if( !$reponse )

    {

    $message = 'Requête invalide : ' . mysql_error() . "\n";

    $message .= 'Requête complète : ' . $laRequete;

    die($message);

    }
    }
    0
  18. Christounet Messages postés 1272 Date d'inscription   Statut Membre Dernière intervention   1 393
     
    Bonjour,
    J'ai utilisé une indentation pour ton code et il me semble qu'il manque un }après$laRequete .= " AND annee='" . $_POST['annee'] . "'";
    }
    ce qui fait que l'instruction suivante n'est faite que dans le cas else
    $laRequete = "SELECT * FROM base_physique WHERE ";
    $mots2 = explode(" ", $_POST['motstitre']);
    $mots3 = explode(" ", $_POST['auteur']);
    
    if( isset( $_POST['auteur'] ) && $_POST['auteur'] != "" )
    {
       for( $rangAuteur = 0 ; $rangAuteur< sizeof($mots3) ; $rangAuteur++ )
       {
       if( $rangAuteur > 0 )
          $laRequete .= " OR";
       $laRequete .= " auteur LIKE '%" . $mots3[ $rangAuteur ] . "%'";
       }
       $reponse = mysql_query( $laRequete );
       if( !$reponse )
       {
           $message = 'Requête invalide : ' . mysql_error() . "\n";
          $message .= 'Requête complète : ' . $laRequete;
          die($message);
       }
    }
    
    if( isset( $_POST['motstitre'] ) && $_POST['motstitre'] != "" && $_POST['auteur'] == "")
    {
       for( $rangMotstitre = 0 ; $rangMotstitre< sizeof($mots2) ; $rangMotstitre++ )
       {
          if( $rangMotstitre > 0 )
             $laRequete .= " OR";
          $laRequete .= " motstitre LIKE '%" . $mots2[ $rangMotstitre ] . "%'";
       }
    }
    else
    {
       if( isset( $_POST['motstitre'] ) && $_POST['motstitre'] != "" && $_POST['auteur'] != "")
       {
          for( $rangMotstitre = 0 ; $rangMotstitre< sizeof($mots2) ; $rangMotstitre++ )
          {
             if ( $rangMotstitre > 0)
            {
               $laRequete .= " OR";
            }
            else
            {
               $laRequete .= " AND";
            }
            $laRequete .= " motstitre LIKE '%" . $mots2[ $rangMotstitre ] . "%'";
          }
       }
       $reponse = mysql_query( $laRequete );
       if( !$reponse )
       {
          $message = 'Requête invalide : ' . mysql_error() . "\n"; 
          $message .= 'Requête complète : ' . $laRequete;
          die($message);
       }
    }
    
    if( isset($_POST['annee']) && $_POST['annee'] != "" && $_POST['auteur'] == "" && $_POST['motstitre'] == "" )
    {
       $laRequete .= " annee='" . $_POST['annee'] . "'";
    }
    else
    {
       if(isset($_POST['annee']) && $_POST['annee'] != "" && ($_POST['auteur'] != "" || $_POST['motstitre'] != "" ))
       {
          $laRequete .= " AND annee='" . $_POST['annee'] . "'";
       }
       $reponse = mysql_query( $laRequete );
       if( !$reponse )
       {
          $message = 'Requête invalide : ' . mysql_error() . "\n";
          $message .= 'Requête complète : ' . $laRequete;
          die($message);
       }
    }

    Peux-tu vérifier cela, si ce n'est pas le cas fait le moi savoir
    A plus
    0
    1. ladj59 Messages postés 322 Statut Membre 3
       
      il met encore
      Requête invalide : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 Requête complète : SELECT * FROM base_physique WHERE

      snif
      0
  19. Christounet Messages postés 1272 Date d'inscription   Statut Membre Dernière intervention   1 393
     
    Bonjour,

    Peux-tu essayé le code suivant
    if( isset($_POST['annee']) && $_POST['annee'] != "")
    {
       if (($_POST['auteur'] != "") || ($_POST['motstitre'] != ""))
       {
          $laRequete .= " AND annee='" . $_POST['annee'] . "'";
       }
       else
       {
          $laRequete .= " annee='" . $_POST['annee'] . "'";
       }
       $reponse = mysql_query( $laRequete );
       if( !$reponse )
       {
          $message = 'Requête invalide : ' . mysql_error() . "\n";
          $message .= 'Requête complète : ' . $laRequete;
          die($message);
       }
    }

    A plus
    0
    1. ladj59 Messages postés 322 Statut Membre 3
       
      ca y est cela marche
      merci
      0
  20. ladj59 Messages postés 322 Statut Membre 3
     
    j'ai un nouveau probléme avec le code ci-dessous
    maintenant je peux préselectionner un sujet avant de faire la recherche et aprés faire la recherche par critére mais je ne peux pas taper plus d'un auteur comem tout à l'heure et je tourne en rond

    quelqu'un a une idée?
    merci

    $sql=mysql_query("SELECT DISTINCT sujet FROM base_physique ORDER BY sujet") or die(mysql_error());

    while ($ajout = mysql_fetch_array($sql))
    {

    $laRequete = "SELECT * FROM base_physique WHERE sujet LIKE '".$_SESSION['subject']."'";

    $mots = explode(",", $_POST['motscle']);
    $mots2 = explode(" ", $_POST['motstitre']);
    $mots3 = explode(" ", $_POST['auteur']);
    $mots4 = explode(",", $_SESSION['subject']);

    if( isset( $_POST['auteur'] ) && $_POST['auteur'] != "" )
    {

    for( $rangAuteur = 0 ; $rangAuteur< sizeof($mots3) ; $rangAuteur++ )
    {
    if( $rangAuteur > 0 )
    $laRequete .= " OR";
    $laRequete .= " AND auteur LIKE '%" . $mots3[ $rangAuteur ] . "%'";
    }

    $reponse = mysql_query( $laRequete );

    if( !$reponse )

    {

    $message = 'Requête invalide : ' . mysql_error() . "\n";

    $message .= 'Requête complète : ' . $laRequete;

    die($message);

    }
    }

    $message = 'Requête invalide : ' . mysql_error() . "\n";
    $message .= 'Requête complète : ' . $laRequete;
    die($message);
    }

    if( isset($_POST['annee']) && $_POST['annee'] != "" )
    $laRequete .= " AND annee='" . $_POST['annee'] . "'";

    if( isset( $_SESSION['subject'] ) && $_SESSION['subject'] != "" )
    for($rangSujet = 0 ; $rangSujet < sizeof($mots4) ; $rangSujet++)
    {
    if($rangSujet > 0)
    $laRequete .= " OR ";
    $laRequete .= " AND sujet LIKE '%" . $mots4[ $rangSujet ] . "%'";
    }

    $reponse = mysql_query( $laRequete );
    if( !$reponse )
    {
    $message = 'Requête invalide : ' . mysql_error() . "\n";
    $message .= 'Requête complète : ' . $laRequete;
    die($message);
    }

    }
    0
    1. Christounet Messages postés 1272 Date d'inscription   Statut Membre Dernière intervention   1 393
       
      Bonjour,

      Peux-tu copier/coller le message d'erreur stp ?

      Merci
      0
  21. croy Messages postés 457 Statut Membre 114
     
    De toutes manières tu vas dans une mauvaise direction : il est très mauvais de faire deux niveaux de requêtes imbriquées sur la même table. A la place faire une unique requête.

    Ce qui serait bien ce serait que tu nous décrives ce que tu veux faire.

    Ensuite, nous construirons la requête mysql nécessaire et unique que tu mettras au point directement avec ton client mysql (duquel dispose-tu ?)

    Et enfin tu pourras construire ton script qui génère la requête mysql et exploite les résultats.

    Pour ma part, j'attends la description de ce que tu veux faire.
    0
    1. Christounet Messages postés 1272 Date d'inscription   Statut Membre Dernière intervention   1 393
       
      Bonsoir Croy,

      Je penses que tu as raison, ce serait plus simple de comprendre ce que Lady59 veut obtenir afin de lui proposer une solution finie plutôt que d'avancer pas à pas.

      A plus
      0