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 :

[SQL] Je souhaite limiter le nombre de résultat par page [Fait]


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé

    Profil pro
    Inscrit en
    Août 2007
    Messages
    496
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 496
    Points : 467
    Points
    467
    Par défaut [SQL] Je souhaite limiter le nombre de résultat par page
    Bonjour,

    j'ai besoin de votre aide car je souhaite limiter le nombre de résultat obtenu a 5 par page sur la partie du code suivant

    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
    // on execute la requête SQL  pour l'affichage des résultats de la requete
    $Res = mysql_db_query($Database, $sql);
     
    //boucle de recherche et affichage des résultats de la requete
    $Result = 1;
    while($data = mysql_fetch_array($Res)){
    ?>
    <p>&nbsp;</p>
         <table width="70%" border="0" cellpadding="0" cellspacing="0">
    	      <tr>
    <?php
     
    //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    //											AFFICHAGE DES RESULTATS
    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     
    // Ci dessous on attribu en premiere ligne l'image de MPI 
    // en deuxième ligne c'est le nombre que retourne la boucle des résultats
    // en troisième c'est le titre de la page trouvé incluant le lien URL
    echo '<td width="70%"><img src="mpi\images\mpi.jpg" width="30" height="30" border="0">
    <font face="Bodoni MT Condensed" size="6" color="#FFFFFF"><b>    '.$Result.'.    </font>
    <a href="'.htmlentities($data["$Entree3"]).'" target="_blank"><font face="Bodoni MT Condensed" size="5" color="#00CC66">'.htmlentities($data["$Entree1"]).'</b></font></a></td>';
    ?>
              </tr>
              <tr>
    <?php
    // Ci dessous correspond a l'affichage de la description de la réponse	    
    echo '<td><font face="garamond" color="#666666" size="5">'.htmlentities($data["$Entree2"]).'</font></td>';
    ?>		  
    		  </tr> 
    	 </table>
     
    <?php
    $Result++;
    }
    }
    // on ferme la connexion
    mysql_close($Connexion);
    Voila si quelqu'un peu m'aider ?

  2. #2
    Membre du Club Avatar de Atikae
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    56
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 56
    Points : 56
    Points
    56
    Par défaut
    C'est quoi ta requête SQL ?
    Ajoute LIMIT 0, 5 à la toute fin de celle-ci.

  3. #3
    Membre régulier Avatar de mickado
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 154
    Points : 85
    Points
    85
    Par défaut
    Citation Envoyé par Atikae
    C'est quoi ta requête SQL ?
    Ajoute LIMIT 0, 5 à la toute fin de celle-ci.

    Non je ne pense pas que c'est ce qu'il veut faire.

    Ce qu'il souhaiterai faire c'est un nombre d'affichage de résultat limité sur un nombre de pages bien précis.

    kilian67 si d'ici demain tu n'a pas réponse a ton probléme je te donnerais un de mes code que j'ai rapidement coder car actuellement je ne suis pas cher moi.

  4. #4
    Membre confirmé

    Profil pro
    Inscrit en
    Août 2007
    Messages
    496
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 496
    Points : 467
    Points
    467
    Par défaut
    Merci pour vos réponses

    J'ai déjà essayer de rajouter limit a la fin de la requete mais ça marche pas

    Voici ma requete :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    //on prépare la requête SQL 
    $sql = "SELECT $Champs FROM $Table WHERE $Cles LIKE '%$tab[0]%'"or die(mysql_error()) ;
     
    // on boucle pour integrer tous les mots dans la requête
    for($i = 1; $i < $nb; $i++){
    $sql .= "$EtOu $Cles LIKE '%$tab[$i]%'";
    }
     
    // on donne l'ordre d'affichage (modif dans les parametres)
    $sql .= "ORDER BY $Ordre ASC";
    En fait si je mets limit a la fin je n'ai plus de resultat du tout.

    Ce que je veut faire c'est que si j'ai 15 réponses de la base de donnée que les résultats s'affiche sur 3 pages avec un lien "suivant" et "retour" suivant le cas.

  5. #5
    Membre émérite
    Avatar de yiannis
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 494
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 494
    Points : 2 791
    Points
    2 791
    Par défaut
    Bonjour,

    C'est donc de la pagination que tu veux faire. Je te conseille de t'inspirer de ce code: http://php.developpez.com/sources/?p...ysqlpagination

  6. #6
    Membre confirmé

    Profil pro
    Inscrit en
    Août 2007
    Messages
    496
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 496
    Points : 467
    Points
    467
    Par défaut
    Désoler yiannis je n'y arrive pas je suis perdu.

    En fait je ne sais pas ou integré le code qu'il y a sur le lien que tu m'a donner.

    Je suis dessus depuis ce matin et je n'y arrive pas.

    Voici mon code :

    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
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    <?
    $Q = $_POST['recherche'];
    $_POST['recherche'] = $Q ;
     
    // on donne le lien de la page necessaire  pour les paramètres de connexion
    require("parametres.php");
     
    // on se connecte au serveur (modif dans les parametres)
    $Connexion = mysql_connect($Host, $Login, $Pass) or  die ("<br><br><p><center><table width=\"70%\" bgcolor=\"#990000\" border=\"0\" cellspacing=\"0\" cellpadding=\"1\"><tr><td><center><h1>Connexion au serveur <big><u>\"$Host\"</u></big> impossible<br>Veuillez contactez le webmaster pour lui signaler le problème</h1>
    											</td></tr></table><p></p><p>&nbsp;</p></center></td></tr>");
    mysql_select_db("$Database",$Connexion);
     
    // on verifie si le champs de recherche contient un ou plusieurs mots (sauf les mots de moins de 3 lettres)
    if(!empty($_POST['recherche'])){
     
    // si le champs est bien rempli on execute le reste du script
    // on passe les mots recherchés en minuscules
    $Q = strtolower($Q);
     
    // on supprime le superflux, et tout ce qui n'est pas un "mot" de plus de trois lettres
    $tab = preg_split('~[\s[:punct:]]~', preg_replace('~\b\S{1,3}\b~', ' ', $Q), -1, PREG_SPLIT_NO_EMPTY);
     
    // on compte le nbr d'élément du tableau.
    $nb = count($tab);
     
    //Onverifie si les mots tapez sont valide si ce n'est pas le cas on donne un message d'erreur
    if (!$nb) {
        echo "<br><br><br><br><br><br><br><span style=\"font-size:18pt;\"><font color=\"#FF0000\">Les mots clés utilisés ne sont pas adaptés.<br><br><br>
    Il faut renouveler votre recherche en changeant les mots clés.<br><br><br>
    </u></b></font></span><br><p>";
    // formulaire pour une seconde recherche
    echo
    "<center>
        <p>&nbsp;</p>
      <form method=\"post\" action='$PageResultats'>
      <input type=\"text\" maxLength=\"50\" size=\"40\" name=\"recherche\" value=\"Essayez avec d'autres mots clés\">
    <input type=\"submit\" name=\"value\" value=\"go !\">
    </form>
    </center>";
    } else {
     
     
    //on prépare la requête SQL (modif dans les parametres)
    $sql = "SELECT $Champs FROM $Table WHERE $Cles LIKE '%$tab[0]%'"or die(mysql_error()) ;
     
    // on boucle pour integrer tous les mots dans la requête (modif dans les parametres)
    for($i = 1; $i < $nb; $i++){
    $sql .= "$EtOu $Cles LIKE '%$tab[$i]%'";
    }
     
    // on donne l'ordre d'affichage (modif dans les parametres)
    $sql .= "ORDER BY $Ordre ASC";
     
    // Si un seul enregistrement est trouvé, on affiche un message au singulier
    if ($nb == "1") {
    echo "<br><br><br><span style=\"font-size:16pt;\"><font color=\"#009999\">Résultat de votre requète concernant le mot <b><u>\"$Q\"</u></b></font></span><br><p>";
    }
     
    // Dans le cas contraire le message est au pluriel...	
    else {
    echo "<br><br><br><span style=\"font-size:16pt;\"><font color=\"#009999\">Résultat de votre requète concernant les mots <b><u>\"$Q\"</u></b></font></span><br><p>";
    }
    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    // on execute la requête SQL en fait c'est un premier tour pour afficher le nombre de résultats obtenu en haut
    $Res = mysql_db_query($Database, $sql);
    $Result = 1;
    while($data = mysql_fetch_array($Res)){
    $Result++;
    }
    // On creer une variable en elevant 1 pour avoir un résultat corect
    $Resultat = $Result - 1 ;
     
     
    // Si un seul enregistrement est trouvé, on affiche un message au singulier
    if ($Resultat == 0) {
    echo "<p><br><br><br><span style=\"font-size:16pt;\"><font color=\"#FF0000\">Aucun résultats pour <b>\"".$_POST['recherche']."\"</font></span></p>";
    }else
    // Si un seul enregistrement est trouvé, on affiche un message au singulier
    if ($Resultat == 1) {
    echo "<br><br><span style=\"font-size:16pt;\"><font color=\"#009999\">Résultat: Une réponse</u></b></font></span><p>";
    }
    else {
    // Dans le cas contraire le message est au pluriel...	
    echo "<br><br><span style=\"font-size:16pt;\"><font color=\"#009999\">Résultats: $Resultat réponses</u></b></font></span><p>";
    mysql_free_result($Res);
    }
    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     
    // formulaire pour une seconde recherche
    echo
    "<center>
        <p>&nbsp;</p>
      <form method=\"post\" action='$PageResultats'>
      <input type=\"text\" maxLength=\"50\" size=\"40\" name=\"recherche\" value=\"Essayez avec d'autres mots clés\">
    <input type=\"submit\" name=\"value\" value=\"go !\">
    </form>
    </center>";
     
    // on execute la requête SQL cette fois c'est pour l'affichage des résultats de la requete
    $Res = mysql_db_query($Database, $sql);
     
    //boucle de recherche et affichage des résultats de la requete
    $Result = 1;
    while($data = mysql_fetch_array($Res)){
    ?>
    <p>&nbsp;</p>
         <table width="70%" border="0" cellpadding="0" cellspacing="0">
    	      <tr>
    <?php
     
    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    //											AFFICHAGE DES RESULTATS
    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     
    // Ci dessous on attribu en premiere ligne l'image de MPI 
    // en deuxième ligne c'esst le nombre que retourne la première boucle pour le nombre total de résultat
    // en troisième c'est le titre de la page trouvé incluant le lien URL
    echo '<td width="70%"><img src="mpi\images\mpi.jpg" width="30" height="30" border="0">
    <font face="Bodoni MT Condensed" size="6" color="#FFFFFF"><b>    '.$Result.'.    </font>
    <a href="'.htmlentities($data["$Entree3"]).'" target="_blank"><font face="Bodoni MT Condensed" size="5" color="#00CC66">'.htmlentities($data["$Entree1"]).'</b></font></a></td>';
    ?>
              </tr>
              <tr>
    <?php
    // Ci dessous correspond a l'affichage de la description de la réponse	    
    echo '<td><font face="garamond" color="#666666" size="5">'.htmlentities($data["$Entree2"]).'</font></td>';
    ?>		  
    		  </tr> 
    	 </table>
     
    <?php
    $Result++;
    }
    }
    // on ferme la connexion
    mysql_close($Connexion);
     
    // s'il n'y a pas de mot on donne un message d'erreur avec demande de renouvelement avec d'autre mots clés
    }else{
        echo "<br><br><br><br><br><br><br><span style=\"font-size:18pt;\"><font color=\"#FF0000\">Les mots clés utilisés ne sont pas adaptés.<br><br><br>
    Il faut renouveler votre recherche en changeant les mots clés.<br><br><br>
    </u></b></font></span><br><p>";
    // formulaire pour une seconde recherche
    echo
    "<center>
        <p>&nbsp;</p>
      <form method=\"post\" action='$PageResultats'>
      <input type=\"text\" maxLength=\"50\" size=\"40\" name=\"recherche\" value=\"Essayez avec d'autres mots clés\">
    <input type=\"submit\" name=\"value\" value=\"go !\">
    </form>
    </center>";
    }
    ?>

  7. #7
    Membre confirmé

    Profil pro
    Inscrit en
    Août 2007
    Messages
    496
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 496
    Points : 467
    Points
    467
    Par défaut
    Re bonjour,

    Je suis toujours penché sur ma question de pagination j'ai essayer plein de chose mais ça n'y fait pas.

    En fait je connai déja le nombre de réponses avec "$nb" que je reçois mais je voudrai qu'il s'affiche sur plusieurs pages.

    Hors c'est la que je ne comprend pas.

    Quelqu'un peut il m'aider. s'il vous plait.

  8. #8
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    Voilà comment je l'aurait écrit :
    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
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    <?php
    define('NB_PAR_PAGE', 5);
     
    session_start();
     
    error_reporting(E_ALL); // Pour test
     
    $page = isset($_GET['page']) ? intval($_GET['page']) : 1;
    $debut = NB_PAR_PAGE * ($page - 1);
     
    require('parametres.php');
     
    mysql_connect($Host, $Login, $Pass) or  die("<br><br><p><center><table width=\"70%\" bgcolor=\"#990000\" border=\"0\" cellspacing=\"0\" cellpadding=\"1\"><tr><td><center><h1>Connexion au serveur <big><u>\"$Host\"</u></big> impossible<br>Veuillez contactez le webmaster pour lui signaler le problème</h1>
    											</td></tr></table><p></p><p>&nbsp;</p></center></td></tr>");
    mysql_select_db($Database);
     
    if (isset($_POST['recherche'])) {
        $Q = strtolower($_POST['recherche']);
        $tab = preg_split('~[\s[:punct:]]~', preg_replace('~\b\S{1,3}\b~', ' ', $Q), -1, PREG_SPLIT_NO_EMPTY);
        $nb = count($tab);
        if (!$nb) {
            echo "<br><br><br><br><br><br><br><span style=\"font-size:18pt;\"><font color=\"#FF0000\">Les mots clés utilisés ne sont pas adaptés.<br><br><br>
            Il faut renouveler votre recherche en changeant les mots clés.<br><br><br>
            </u></b></font></span><br><p>";
            echo
            "<center>
                <p>&nbsp;</p>
              <form method=\"post\" action='$PageResultats'>
              <input type=\"text\" maxLength=\"50\" size=\"40\" name=\"recherche\" value=\"Essayez avec d'autres mots clés\">
            <input type=\"submit\" name=\"value\" value=\"go !\">
            </form>
            </center>";
        } else {
            $sql = "SELECT SQL_CALC_FOUND_ROWS $Champs FROM $Table WHERE " . (!strcasecmp($EtOu, 'AND') ? '1=1' : '1<>1');
            foreach ($tab as $v) {
                $sql .= " $EtOu $Cles LIKE '%%" . mysql_real_escape_string($v) . "%%' ";
            }
            $sql .= "ORDER BY $Ordre ASC LIMIT %d,%d";
            $_SESSION['sql'] = $sql;
            $_SESSION['nb'] = $nb;
            $_SESSION['Q'] = $Q;
        }
    } elseif (isset($_SESSION['sql']) && isset($_SESSION['nb']) && isset($_SESSION['Q'])) {
        $sql = $_SESSION['sql'];
        $nb = $_SESSION['nb'];
        $Q = $_SESSION['Q'];
    }
     
    if (!empty($sql)) {
        if ($nb == 1) {
            echo "<br><br><br><span style=\"font-size:16pt;\"><font color=\"#009999\">Résultat de votre requète concernant le mot <b><u>\"$Q\"</u></b></font></span><br><p>";
        } else {
            echo "<br><br><br><span style=\"font-size:16pt;\"><font color=\"#009999\">Résultat de votre requète concernant les mots <b><u>\"$Q\"</u></b></font></span><br><p>";
        }
     
        $Res = mysql_query(sprintf($sql, $debut, NB_PAR_PAGE)) or die(mysql_error());
        $NbRes = mysql_query('SELECT FOUND_ROWS()');
        $Resultat = mysql_result($NbRes, 0, 0);
     
        if ($Resultat == 0) {
            echo "<p><br><br><br><span style=\"font-size:16pt;\"><font color=\"#FF0000\">Aucun résultats pour <b>\"".$_POST['recherche']."\"</font></span></p>";
        } else {
            if ($Resultat == 1) {
                echo "<br><br><span style=\"font-size:16pt;\"><font color=\"#009999\">Résultat: Une réponse</u></b></font></span><p>";
            } else {
                echo "<br><br><span style=\"font-size:16pt;\"><font color=\"#009999\">Résultats: $Resultat réponses</u></b></font></span><p>";
            }
        }
     
        echo
        "<center>
          <p>&nbsp;</p>
          <form method=\"post\" action='$PageResultats'>
            <input type=\"text\" maxLength=\"50\" size=\"40\" name=\"recherche\" value=\"Essayez avec d'autres mots clés\">
            <input type=\"submit\" name=\"value\" value=\"go !\">
          </form>
        </center>";
     
        $Result = 1;
        while($data = mysql_fetch_array($Res)) {
    ?>
     
        <p>&nbsp;</p>
        <table width="70%" border="0" cellpadding="0" cellspacing="0">
        <tr>
     
    <?php
                echo '<td width="70%"><img src="mpi\images\mpi.jpg" width="30" height="30" border="0">
                <font face="Bodoni MT Condensed" size="6" color="#FFFFFF"><b>    '.$Result.'.    </font>
                <a href="'.htmlentities($data["$Entree3"]).'" target="_blank"><font face="Bodoni MT Condensed" size="5" color="#00CC66">'.htmlentities($data["$Entree1"]).'</b></font></a></td>';
    ?>
            </tr>
            <tr>
     
    <?php
            echo '<td><font face="garamond" color="#666666" size="5">'.htmlentities($data["$Entree2"]).'</font></td>';
    ?>
     
            </tr> 
        </table>
     
    <?php
            $Result++;
        }
     
        mysql_close();
     
        $derniere_page = ceil($Resultat / NB_PAR_PAGE);
        if ($page > 1) {
            echo '<a href="' . basename(__FILE__) . '?page=' . ($page - 1) . '">Page précédente</a>';
        }
        for ($i = 1; $i <= $derniere_page; $i++) {
            if ($i == $page) {
                echo '<b>' . $i . '</b>';
            } else {
                echo '<a href="' . basename(__FILE__) . '?page=' . $i . '">' . $i . '</a>';
            }
        }
        if ($page < $derniere_page) {
            echo '<a href="' . basename(__FILE__) . '?page=' . ($page + 1) . '">Page suivante</a>';
        }
    } elseif (!isset($nb)) {
        echo "<br><br><br><br><br><br><br><span style=\"font-size:18pt;\"><font color=\"#FF0000\">Les mots clés utilisés ne sont pas adaptés.<br><br><br>
        Il faut renouveler votre recherche en changeant les mots clés.<br><br><br>
        </u></b></font></span><br><p>";
        echo
        "<center>
            <p>&nbsp;</p>
          <form method=\"post\" action='$PageResultats'>
          <input type=\"text\" maxLength=\"50\" size=\"40\" name=\"recherche\" value=\"Essayez avec d'autres mots clés\">
        <input type=\"submit\" name=\"value\" value=\"go !\">
        </form>
        </center>";
    }
    ?>
    Mais votre code étant au départ peu lisible et sans pouvoir effectuer de tests, je vous laisse le soin de tester/déboguer !

  9. #9
    Membre confirmé

    Profil pro
    Inscrit en
    Août 2007
    Messages
    496
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 496
    Points : 467
    Points
    467
    Par défaut
    Merci Julp j'ai testé le code que vous avez eu la sympathie de me corriger
    Il y a une erreur

    Parse error: parse error, unexpected ';' in /homepages/6/d147085096/htdocs/mpi/reponses.php on line 53
    Ce qui correspond a la ligne suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $Res = mysql_db_query($Database, sprintf($sql, $debut, NB_PAR_PAGE)) or die(mysql_error();

  10. #10
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    Ben, il manque une parenthèse fermante à la fin de la ligne

  11. #11
    Membre confirmé

    Profil pro
    Inscrit en
    Août 2007
    Messages
    496
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 496
    Points : 467
    Points
    467
    Par défaut
    Ok c'est bon j'ai trouvé l'erreur il manquai la parenthèse à la fin avant le point virgule
    Par contre je n’obtiens aucun résultat les mots que je tape dans le formulaire de recherche ne retourne rien de ma base de donnée.

  12. #12
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    Citation Envoyé par kilian67
    Par contre je n’obtiens aucun résultat les mots que je tape dans le formulaire de recherche ne retourne rien de ma base de donnée.
    Et ? Y a-t-il une ou des erreurs ? Quelles sont-elles ?

    J'ai rajouté une bricole plus haut (error_reporting(E_ALL)) car vous ne semblez pas utiliser cette valeur actuellement

  13. #13
    Membre confirmé

    Profil pro
    Inscrit en
    Août 2007
    Messages
    496
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 496
    Points : 467
    Points
    467
    Par défaut
    Avant votre rajout il n'y avait pas d'erreur, mais maintenant il y a 5 erreurs

    Notice: Undefined variable: Fichier in /homepages/6/d147085096/htdocs/mpi/parametres.php on line 10
    Pareil pour les lines 11, 12, 13, 14 et si je les enleves c'est d'autres erreurs du meme genre

    pour info la page parametres que je fait appel est :


    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
    <?php
    $Host = "localhost";
    $Login = "root";
    $Pass = "";
    $Database = "search";
    $Champs = "*";
    $Table = "moteur";
    $Cles = "cles";
    $EtOu = "or";
    $Extensions=(eregi(".php",$Fichier)or
    eregi(".htm",$Fichier)or
    eregi(".html",$Fichier)or
    eregi(".cgi",$Fichier)or
    eregi(".asp",$Fichier));
    $Entree1 = "titre";
    $Entree2 = "description";
    $Entree3 = "liens";
    $Entree4 = "cles";
    $Ordre = "titre";
    $NbMax = "5";
    $PageResultats = "resultats.php";
    $UrlRacine = "";
    $Exclu=array(
    ".",
    "..",
    ".htaccess",
    "parametres.php","admin.php","aide_memoire_site.php","contact.php",
    "copyright.php","parametres.php","pub.php","votesite.php",
    "index.php","reponses.php","resultats.php",
     
     
     
     
    "admin","images","mpi-support","mpi","scripts","style","telechargement","logs","traffic.html",
    );
    ?>

  14. #14
    Membre confirmé

    Profil pro
    Inscrit en
    Août 2007
    Messages
    496
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 496
    Points : 467
    Points
    467
    Par défaut Bonjour
    J'ai vu que vous aviez a nouveau modifier le code et je l'ai tester mais cette fois ci la requete se fait mais n'affiche rien voir image ci dessous.

    C'est l'integrité de ma base de donnée qui est affiché et non en fonction des mots cles que j'ai taper dans le champs recherche


  15. #15
    Membre confirmé

    Profil pro
    Inscrit en
    Août 2007
    Messages
    496
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 496
    Points : 467
    Points
    467
    Par défaut Bonjour
    J'ai vu que vous aviez a nouveau modifier le code et je l'ai tester mais cette fois ci la requete se fait mais n'affiche rien a part les chiffres.

    C'est l'integrité de ma base de donnée qui est affiché et non en fonction des mots cles que j'ai taper dans le champs recherche.

    (Désoler si ce message arrive plusieurs fois je sais pâs si les autres sont poster un probleme avec ma connection)

  16. #16
    Membre confirmé

    Profil pro
    Inscrit en
    Août 2007
    Messages
    496
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 496
    Points : 467
    Points
    467
    Par défaut
    Votre dernière modification est fonctionnel a part que lorsque je clic sur suivant ou la page 2 j'ai l'erreur

    Error 404 - Not found

  17. #17
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    Ah ? Et en remplaçant basename(__FILE__) par $PageResultats ?

  18. #18
    Membre confirmé

    Profil pro
    Inscrit en
    Août 2007
    Messages
    496
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 496
    Points : 467
    Points
    467
    Par défaut
    J'ai remplacer basename(__FILE__) par $PageResultats et cette fois ci la recherche se lance mais ne donne aucun résultats j'obtient ceci


  19. #19
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    Dans quel(s) cas ? Est-ce que votre formulaire est inclus par un autre script ou est-ce qu'il est appelé directement ? Avez-vous register_globals à On ? Quelle version de PHP ? Avez-vous laissé error_reporting(E_ALL) ? Indique-t-il des erreurs (autres que celles que vous avez déjà indiqué) ?

  20. #20
    Membre confirmé

    Profil pro
    Inscrit en
    Août 2007
    Messages
    496
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 496
    Points : 467
    Points
    467
    Par défaut
    Dans quel(s) cas ?
    En fait j'ai taper des mots cles dont je sais qu'ils doivent retourner 6 réponses la limit est bien a 5 le script inscrit bien les réponses de 1 à 5 jusqu'ici aucun probleme mais lorsque je clic sur suivant au lieu d'affiché les résultats de 6 à 10 j'ai le message que j'indique plus haut sur l'image

    Est-ce que votre formulaire est inclus par un autre script ou est-ce qu'il est appelé directement ?
    Pour le formulaire j'utilise les code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <form method="post"  action='<?php echo "$PageResultats" ?>'>
     <center> <input type="text" maxLength="50" size="12" name="recherche">
      <input type="submit" name="value" value="Go !">
    </form>
    Avez-vous register_globals à On ?
    Mon hebergeur est 1and1 et d'après eux il est bien a "ON"


    Quelle version de PHP ?
    Ce doit être PHP5 mais j'ai vu sur mon compte MySQL4.0

    Avez-vous laissé error_reporting(E_ALL) ? Indique-t-il des erreurs (autres que celles que vous avez déjà indiqué) ?
    Je l'ai laisser pour les tests et je n'ai aucun autre message d'erreur que ceux déjà indiqué.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. nombre de résultats par pages
    Par nal dans le forum Langage
    Réponses: 14
    Dernier message: 03/05/2012, 17h38
  2. Comment limiter le nombre de lignes par page ?
    Par COOL_DEV dans le forum iReport
    Réponses: 0
    Dernier message: 30/09/2011, 18h16
  3. [FPDF] Limiter le nombre de réponses par pages
    Par tyjez dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 18/06/2009, 17h08
  4. [SQLK][T-SQL]Limitation du nombre de résultats
    Par elsuket dans le forum MS SQL Server
    Réponses: 0
    Dernier message: 10/08/2007, 08h02
  5. [sql]Limiter le nombre de résultats
    Par Mimo dans le forum Oracle
    Réponses: 3
    Dernier message: 31/01/2006, 15h53

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