IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Pagination des résultats d'une double boucle While


Sujet :

PHP & Base de données

  1. #1
    Candidat au Club
    Homme Profil pro
    Boulogne
    Inscrit en
    Mars 2015
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Boulogne
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2015
    Messages : 22
    Points : 3
    Points
    3
    Par défaut Pagination des résultats d'une double boucle While
    Bonjour,

    Je souhaite paginer un moteur de recherche d'article avec les mots clés enregistrés dans une base de données. Le code est ci-dessous.
    J'obtiens ma liste dans mon tableau mais je ne vois pas comment sortir des boucles pour mettre une limite d'affichage de 5 articles.
    Si je fais un echo de $req à la ligne 53, j'ai la requete:

    SELECT Id, article, Resume FROM boutique WHERE article LIKE "%vélo%" OR Resume LIKE "%vélo%" SELECT Id, article, Resume FROM boutique WHERE article LIKE "%chaussure de foot%" OR Resume LIKE "%chaussure de foot%" ..........

    Une partie du code ci-dessous

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    <?php //requete pour la liste des articles sauvegardée
    $reponse = $session->query("SELECT article FROM list WHERE id_session = '$mon_id' ");
     
    while ($donnees = $reponse->fetch())
    {
     
    	$rec = htmlspecialchars($donnees['article']);
    	//On dertermine les identifiants, les noms et les informations des articles et on recherche 
     
    	$req = 'SELECT Id, article, Resume,  FROM boutique WHERE ';
     
    	if($type==1)
    	{//ayant un des mots dans leurs informations
            $mots = explode(' ',$rec);//On separe lexpression en mots cles
    		$result = 0;
            foreach($mots as $mot)
            {
                    $req .= ' article LIKE "%'.$mot.'%" OR Resume LIKE "%'.$mot.'%"  OR ';
    		//$req .= 'ORDER by article ASC ';
    		$nb = $bdd->prepare('SELECT COUNT(*) FROM boutique WHERE article LIKE :mot OR Resume LIKE :mot ');
    		$nb->execute(array( ':mot' => "%$mot%" ));
     
            }		
            $req .= ' 1=0';
    		$convert = $convert + (int)$nb ->fetchColumn();
    	}
     
    	elseif($type==2)
    	{//ayant tous les mots dans leurs informations
            $mots = explode(' ',$rec);//En separe lexpression en mots cles
            foreach($mots as $mot)
            {
                    $req .= ' article LIKE "%'.$mot.'%" OR Resume LIKE "%'.$mot.'%"  AND ';
    				$nb = $bdd->prepare('SELECT COUNT(*) FROM boutique WHERE article LIKE :mot OR Resume LIKE :mot ');
    				$nb->execute(array( ':mot' => "%$mot%" ));
     
            }
            $req .= ' 1=1';
    		$convert = $convert + (int)$nb ->fetchColumn();	
    	}
    	else
    	{//ayant l'expression exacte dans leurs informations
     
            $req .= ' article LIKE "%'.$rec.'%" OR Resume LIKE "%'.$rec.'%"';
    		$nb = $bdd->prepare('SELECT COUNT(*) FROM boutique WHERE article LIKE :rec OR Resume LIKE :rec ');
    		$nb->execute(array( ':rec' => "%$rec%" ));
     
    	}
    	$convert = $convert + (int)$nb ->fetchColumn();
     
    $requete = $bdd->query($req);		
     
     
    //On affiche les resultats
     
    	while($dnn = $requete->fetch())	
    	{		
    		?>
    		<tr>	 
    		<td style="background-color:#DCDCDC;border:1px #C0C0C0 solid;text-align:left;vertical-align:top;height:12px"><span style="color:#000000;font-family:Arial;font-size:11px;"><div onClick="window.open('../description.php?Id=<?php echo $dnn['Id'] ?>','','width=600,height=200')"><?php if($surligner)//Si il faut surligner les mots, on les surligne
    					{
    						if($type==3)
    						{
    							echo substr((preg_replace('#('.preg_quote($rec).')#i', '<strong>$1</strong>', $dnn['article'])),0,70);//On surligne l'expression exacte
    						}
    						else
    						{
    							echo substr((preg_replace('#('.str_replace(' ','|',preg_quote($rec)).')#i', '<strong>$1</strong>', $dnn['Emission'])),0,70);//On surligne les mots cles de la recherche
    						}
    					}
    					else
    					{
    						echo substr(($dnn['Emission']),0,70);//On ne surligne pas
    					} ?></span>
    </td></tr>
    </table>
     
    <?php
    	}
     
    }
    ?>
    Merci pour votre aide et vos conseils.

    Willm_007

  2. #2
    Candidat au Club
    Homme Profil pro
    Boulogne
    Inscrit en
    Mars 2015
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Boulogne
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2015
    Messages : 22
    Points : 3
    Points
    3
    Par défaut Help !
    Aucune réponse à mon post ?
    Soit le sujet est trop facile, donc ne nécessite pas d'intérêt. Soit il a déjà été traité. Je n'ai rien trouvé sur google qui m'apporte une solution et cela fait un moment que je cherche...

    Merci

    Willm_007

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    tu n'as pas dû chercher au bon endroit...



    N.B. Il faudrait peut-être aussi revoir la logique des requêtes pour éviter les boucles inutiles (ne faire qu'une seule requête avec JOINTURE, par exemple).

  4. #4
    Candidat au Club
    Homme Profil pro
    Boulogne
    Inscrit en
    Mars 2015
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Boulogne
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2015
    Messages : 22
    Points : 3
    Points
    3
    Par défaut
    Bonjour jreaux62,

    Merci pour ta réponse et le lien dans le message. J'ai parcouru l'explication sur les jointures entre tables. Cela nécessite une relation entre les tables ce qui n'est pas le cas dans mon projet. Lorsque la recherche est lancé sur un objet, la requête doit parcourir tous les mots enregistrer dans une première table. Si elle trouve une valeur correspondant dans une autre base de données elle doit afficher le résultat dans un tableau.
    Une solution serait de récupérer la requête finale pour y insérer la limite mais le remplissage du tableau est dépendant de la boucle, donc comment sortir de la boucle ?
    Si tu as un idée sur les jointures je suis preneur car je n'arrive plus à avancer sur mon projet. php/sql c'est très nouveau.

    Merci

  5. #5
    Candidat au Club
    Homme Profil pro
    Boulogne
    Inscrit en
    Mars 2015
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Boulogne
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2015
    Messages : 22
    Points : 3
    Points
    3
    Par défaut LIMIT sur double boucle
    Hello,

    Je viens de parcourir le cours sur les jointures et je ne vois pas comment il serait possible d'écrire un script SQL qui me permettrait d'obtenir le résultat escompté. Soit le problème est trop simple et dans ce cas je laisse tomber parce que je suis dépassé, soit il est plus complexe qu'il en a l'air. Il faut s'y plonger pour comprendre la difficulté qui s'y cache.
    Merci à ceux qui m'ont laissé quelques conseils.

    Willm007

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    En dehors du sujet des jointures qui est annexe, qu'est ce qui te gene pour mettre en place une pagination telle que décrit dans l'article ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Candidat au Club
    Homme Profil pro
    Boulogne
    Inscrit en
    Mars 2015
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Boulogne
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2015
    Messages : 22
    Points : 3
    Points
    3
    Par défaut Insérer la commande LIKE dans le code PHP
    Sabotage,

    La où ça coince : la requête qui affiche les résultats est dépendante d'une première requête qui recherche les mots clés enregistrés dans une table. Tant que la commande LIKE n'entre pas en compte tout est OK mais je ne vois pas comment l'intégrer sans La même requête est lancée avec le while et si la commande LIKE n'est pas inséré au bon endroit, elle peut être répétée plusieurs fois et ne pas donner le résultat escompté.
    Je ne sais pas si mon explication est compréhensible.
    Merci.

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu pourrais revoir ta construction de requête comme ça, de façon a avoir une seule requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    <?php
    $reponse = $session->query("SELECT article FROM list WHERE id_session = '$mon_id'");
    while ($donnees = $reponse->fetch()) {
    	$recherche[] = $donnees['article']; // j'ai retiré htmlspecialchars car je ne pense pas que les mots soient écrit en entités dans la table boutique mais pas dans la table article
    }
     
    $expressions = array();
     
    $operateur = ($type == 1) ? ' OR ' : ' AND ';
     
    if ($type == 1 || $type == 2) { // pour les type 1 et 2 on découpe chaque mot 
    	foreach($recherche as $mots) {
    		$expressions = array_merge($expressions, explode(' ', $mots));
    	}
    }
    else {  // pour le type 3 on cherche le texte entier
    	$expressions = $recherche;
    }
     
    foreach($expressions as $expression) {
    	$where[] = '(article LIKE ? OR Resume LIKE ?)';
    	$param[] = $expression;
    	$param[] = $expression;
    }
     
    $req =  $req = 'SELECT Id, article, Resume,  FROM boutique WHERE ' . implode($operateur, $where);
    $sth = $session->prepare($req);
    $sth->execute($param);
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #9
    Candidat au Club
    Homme Profil pro
    Boulogne
    Inscrit en
    Mars 2015
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Boulogne
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2015
    Messages : 22
    Points : 3
    Points
    3
    Par défaut Modification construction requête
    Salut,

    Après quelques frayeurs (portable qui ne démarre pas), j'ai réussi à tester cette construction de la requête.
    Elle affiche le message d'erreur : Warning: Invalid argument supplied for foreach() in D:\Applis\wamp\www\pandora\sessionRecherche2.php on line 102 qui correspond à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    foreach($expressions as $expression)
    .
    Merci pour ton aide sabotage !

  10. #10
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    En utilisant quel type de recherche ?

    Tu peux faire un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var_dump($expressions);
    avant l'erreur ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  11. #11
    Candidat au Club
    Homme Profil pro
    Boulogne
    Inscrit en
    Mars 2015
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Boulogne
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2015
    Messages : 22
    Points : 3
    Points
    3
    Par défaut Résultat
    J'ai le résultat
    string 'cravate' (length=7)

    Dans la requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $recherche[] = $donnees['article']; 
    echo $recherche ;
    J'ai le résultat :pantalon grischemise bleucravate

  12. #12
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Un string-cravate ??

    Original ! C'est un Jean-Paul Gaultier ?

  13. #13
    Candidat au Club
    Homme Profil pro
    Boulogne
    Inscrit en
    Mars 2015
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Boulogne
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2015
    Messages : 22
    Points : 3
    Points
    3
    Par défaut Modification construction requête
    Salut,

    On y trouvera certainement des articles de sa collection.

  14. #14
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu n'as pas répondu : avec quel type de requête ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  15. #15
    Candidat au Club
    Homme Profil pro
    Boulogne
    Inscrit en
    Mars 2015
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Boulogne
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2015
    Messages : 22
    Points : 3
    Points
    3
    Par défaut
    En fin de compte l'erreur est normale vu que je n'ai pas les bons paramètres :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    foreach($expressions as $expression) 
    	{
    		$where[] = 'article LIKE "%'.$mot.'%" OR Resume LIKE "%'.$mot.'%"';
    		$param[] = $expressions;
    		$param[] = $expressions;
    	}
     
    $req = 'SELECT Id, article, Resume,  FROM boutique WHERE ' . implode($operateur, $where);
    Je n'ai pas encore ajouté de paramètres dans $param.

    A vrai dire, je ne comprends pas la logique de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $param[] = $expressions;
    $param[] = $expressions;
    Je ne vois pas ce que l'on doit y mettre.
    A quoi doit correspondre $expression dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    foreach($expressions as $expression)

  16. #16
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Il n'y a rien à mettre, $expressions sont les expressions à rechercher provenant de la table.

    Peux-tu me dire avec quel type de recherche tu as le problème (ou si tu as la même erreur quelque soit le type) ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  17. #17
    Candidat au Club
    Homme Profil pro
    Boulogne
    Inscrit en
    Mars 2015
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Boulogne
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2015
    Messages : 22
    Points : 3
    Points
    3
    Par défaut
    voici le code avec les modifications que tu m'as conseillé :

    Dans la base de données la valeurde type est 3 donc une recherche sur le texte entier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    if($reponse -> rowCount() > 1)
    	{
    		echo '<table style="width:451px">
           <tr>
                    <td style="background-color:#000000;border:1px #000000 solid;text-align:center;vertical-align:top;width:150px;height:13px"><span style="color:#FFFFFF;font-family:Arial;font-size:12px;">Article</span></td>
                    <td style="background-color:#000000;border:1px #000000 solid;text-align:center;vertical-align:top;width:214px;height:13px"><span style="color:#FFFFFF;font-family:Arial;font-size:12px;">Résumé</span></td>
            </tr>';
    	}
    	else
    	{
    		echo 'pas de données';
    	}
     
    $reponse = $session->query("SELECT article FROM list WHERE id_session = '$mon_id'");
     
    while ($donnees = $reponse->fetch())
    	{	
    		$recherche = $donnees['motcle'];
    		echo $recherche;
    	}
    $expressions = array();
     
     
    //On determine le type de recherche
     
    	if(isset($_GET['type']))
    	{
            if($_GET['type']=='un')//Un des mots
            {
                    $type = 1;
            }
            elseif($_GET['type']=='tout')//Tout les mots
            {
                    $type = 2;
            }
            else//L'expression exacte
            {
                    $type = 3;
            }
    	}
    	else
    	{
    		//type récupéré dans la base de données
    		$req_type = $session->query("SELECT type FROM membres WHERE id = $mon_id ");
    		$result_type = $req_type -> fetch();
    		$type = $result_type['type'];
    	} 
     
    $operateur = ($type == 1) ? ' OR ' : ' AND '; 
    if ($type == 1 || $type == 2) { // pour les type 1 et 2 on découpe chaque mot 
    	foreach($recherche as $mots) 
    	{
    		$expressions = array_merge($expressions, explode(' ', $mots));
    	}
    }
    else 
    	{  // pour le type 3 on cherche le texte entier
    		$expressions = $recherche;
    	}
     var_dump($expressions);
    foreach($expressions as $expression) 
    	{
    		$where[] = 'article LIKE "%'.$mot.'%" OR Resume LIKE "%'.$mot.'%"';
    		$param[] = $expression;
    		$param[] = $expression;
    	}
     
    $req = 'SELECT Id, article, Resume,  FROM boutique WHERE ' . implode($operateur, $where);
    $sth = $session->prepare($req);
    $sth->execute($param);
    J'espère avoir bien répondu à ta question.

    En modifiant le type 1 ou 2, j'ai comme résultat à la commande var_dump($expressions);

    array (size=0)
    empty

  18. #18
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Je ne t'ai pas indiqué de modification à faire donc je ne vois pas de quoi tu parles

    Par contre dans mon code c'était
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $recherche[] = $donnees['article'];
    et tu as mis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $recherche = $donnees['motclef'];
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  19. #19
    Candidat au Club
    Homme Profil pro
    Boulogne
    Inscrit en
    Mars 2015
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Boulogne
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2015
    Messages : 22
    Points : 3
    Points
    3
    Par défaut
    Je voulais plutôt dire que tu m'as conseillé "construction de requête comme ça, de façon a avoir une seule requête".

    J'ai corrigé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $recherche[] = $donnees['article'];
    Le dump renvoi :
    array (size=3)
    0 => string 'pantalon gris' (length=13)
    1 => string 'chemise bleu' (length=12)
    2 => string 'cravate' (length=7)

    Je n'ai plus d'erreur quelque soit le type mais les données ne sont pas affichées.

    L'affichage est appelé par :
    :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    while($dnn = $sth->fetch())	
    {	
    ?>
    		<tr><td style="background-color:#DCDCDC;border:1px #C0C0C0 solid;text-align:left;vertical-align:top;height:12px"><span style="color:#000000;font-family:Arial;font-size:11px;"><div onClick="window.open('../description.php?Id=<?php echo $dnn['Id'] ?>','','width=600,height=200')"><?php if($surligner)//Si il faut surligner les mots, on les surligne
    					{
    						if($type==3)
    						{
    							echo substr((preg_replace('#('.preg_quote($rec).')#i', '<strong>$1</strong>', $dnn['article'])),0,70);//On surligne l'expression exacte
    						}
    						else
    						{
    							echo substr((preg_replace('#('.str_replace(' ','|',preg_quote($rec)).')#i', '<strong>$1</strong>', $dnn['article'])),0,70);//On surligne les mots cles de la recherche
    						}
    					}
    					else
    					{
    						echo substr(($dnn['Emission']),0,70);//On ne surligne pas
    					} ?></div></span></td>
            <td rowspan=2 style="background-color:#DCDCDC;border:1px #C0C0C0 solid;text-align:left;vertical-align:top;height:12px"><span style="color:#000000;font-family:Arial;font-size:11px;"><?php if($surligner)//Si il faut surligner les mots, on les surligne
    					{
    						if($type==3)
    						{
    							echo substr((preg_replace('#('.preg_quote($rec).')#i', '<strong>$1</strong>', $dnn['Resume'])),0,70),'...';//On surligne l'expression exacte
    						}
    						else
    						{
    							echo substr((preg_replace('#('.str_replace(' ','|',preg_quote($rec)).')#i', '<strong>$1</strong>', $dnn['Resume'])),0,70),'...' ;//On surligne les mots cles de la recherche
    						}
    					}
    					else
    					{
    							echo substr(($dnn['Resume']),0,67),'...';//On ne surligne pas
    					}
    		?></span></td>

  20. #20
    Candidat au Club
    Homme Profil pro
    Boulogne
    Inscrit en
    Mars 2015
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Boulogne
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2015
    Messages : 22
    Points : 3
    Points
    3
    Par défaut
    Je n'ai plus d'erreur à condition de modifier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $where[] = 'article LIKE "%'.$mot.'%" OR Resume LIKE "%'.$mot.'%"';
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $where[] = '(article LIKE ? OR Resume LIKE ?)';

Discussions similaires

  1. Quitter une double boucle while
    Par sirop-de-menthe dans le forum MATLAB
    Réponses: 3
    Dernier message: 13/05/2011, 23h05
  2. [PHP 5.3] Soucis avec le résultat d'une requête (double boucles while)
    Par beegees dans le forum Langage
    Réponses: 7
    Dernier message: 31/05/2010, 22h26
  3. Réponses: 2
    Dernier message: 02/12/2005, 21h21
  4. Pagination des résultats d'une requête
    Par dl_jarod dans le forum ASP
    Réponses: 2
    Dernier message: 17/10/2005, 14h30
  5. Calcul à partir des résultats d'une requète
    Par Sendo dans le forum Access
    Réponses: 1
    Dernier message: 29/09/2005, 17h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo