begin process at 2012 05 31 16:40:12
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

Bases de données

 > 

Recherche et affichage plusieur page


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Recherche et affichage plusieur page

dimanche 7 août 2005 à 15:47:31 | Recherche et affichage plusieur page

PETITDAVID

Bonjour a tous

Voila je viens chercher un peu d'aide, car je suis debutant et apres avoir fouille le site et le forum j'arrive toujours pas a me depatouiller de mon probleme.

Donc ca vas etre un peu long mais je vais essayer de tout expliquer et d'etre le plus claire possible.

J'ai une base de donnee avec plusieur champs que j'affiche dans un tableau....jusque la aucun probleme....Pour un meilleur affichage je decide donc de decouper tout cela page par page avec 4 lignes par page et un petit "suivant" "precedent" pour changer de page....impecable tout fonctionne.
Du coup j'y ajoute une fonction recherche....la aucun probleme ca marche impecable aussi temps que j'affiche tout les resultats sur une seule page....
du coup a ce stade je decide de faire le meme affichage (page par page avec 4resultats par page) comme j'avais fait au dessu....
Mais la le probleme c'est que la recherche marche bien, il m'indique le bon nombre de resultat, affiche bien les 4premier, mais quand je clic sur "suivant" il me donne bien le nombre de resultat mais les affiches pas dans le tableau et si je fais un retour la aussi y a erreur je reviens pas sur ma page de resultat.....

Donc je pense pas que mon code soit totalement faux, mais simplement qu'il y a un truc que j'ai zappe ou qui me depasse.....
Donc si quelqu'un a la solution ou une idée de la chose....en sachant que je suis vraiment Debutant....
MERCI a Tous.....

Mon code a l'heure actuel:
<?php require_once('Connections/infos.php'); ?>
<?php
$currentPage = $_SERVER["PHP_SELF"];

$maxRows_INFOSresultat = 4;
$pageNum_INFOSresultat = 0;
if (isset($_GET['pageNum_INFOSresultat'])) {
  $pageNum_INFOSresultat = $_GET['pageNum_INFOSresultat'];
}
$startRow_INFOSresultat = $pageNum_INFOSresultat * $maxRows_INFOSresultat;

$colname_INFOSresultat = "0";
if (isset($_POST['recherche'])) {
  $colname_INFOSresultat = (get_magic_quotes_gpc()) ? $_POST['recherche'] : addslashes($_POST['recherche']);
}
mysql_select_db($database_infos, $infos);
$query_INFOSresultat = sprintf("SELECT DEPARTEMENT, LIEUX, style, description, acces, details FROM infos WHERE DEPARTEMENT LIKE '%%%s%%' OR LIEUX LIKE '%%%s%%' OR style LIKE '%%%s%%' OR description LIKE '%%%s%%' OR details LIKE '%%%s%%'", $colname_INFOSresultat,$colname_INFOSresultat,$colname_INFOSresultat,$colname_INFOSresultat,$colname_INFOSresultat);
$query_limit_INFOSresultat = sprintf("%s LIMIT %d, %d", $query_INFOSresultat, $startRow_INFOSresultat, $maxRows_INFOSresultat);
$INFOSresultat = mysql_query($query_limit_INFOSresultat, $infos) or die(mysql_error());
$row_INFOSresultat = mysql_fetch_assoc($INFOSresultat);

if (isset($_GET['totalRows_INFOSresultat'])) {
  $totalRows_INFOSresultat = $_GET['totalRows_INFOSresultat'];
} else {
  $all_INFOSresultat = mysql_query($query_INFOSresultat);
  $totalRows_INFOSresultat = mysql_num_rows($all_INFOSresultat);
}
$totalPages_INFOSresultat = ceil($totalRows_INFOSresultat/$maxRows_INFOSresultat)-1;

$queryString_INFOSresultat = "";
if (!empty($_SERVER['QUERY_STRING'])) {
  $params = explode("&", $_SERVER['QUERY_STRING']);
  $newParams = array();
  foreach ($params as $param) {
    if (stristr($param, "pageNum_INFOSresultat") == false &&
        stristr($param, "totalRows_INFOSresultat") == false) {
      array_push($newParams, $param);
    }
  }
  if (count($newParams) != 0) {
    $queryString_INFOSresultat = "&" . htmlentities(implode("&", $newParams));
  }
}
$queryString_INFOSresultat = sprintf("&totalRows_INFOSresultat=%d%s", $totalRows_INFOSresultat, $queryString_INFOSresultat);
?>
<link href="style.css" rel="stylesheet" type="text/css">
<style type="text/css">
<!--
.Style2 {
 color: #00FFFF;
 font-weight: bold;
}
.Style3 {color: #FF00FF}
.Style4 {color: #000000}
-->
</style>
<div align="center" class="Style2"><form action="INFOSresultat.php" method="post" name="recherche" id="recherche"><div align="center">
  <table width="450">
         <tr>
           <td class="Style2"><div align="right">RECHERCHE : </div></td>
           <td><input name="recherche" type="text" id="recherche">
           <input type="submit" name="Submit" value="Envoyer"></td>
         </tr>
      </table>
     </div>
  </form>
Il y a <span class="Style3"><?php echo $totalRows_INFOSresultat ?> </span> réponses.

<div align="center">
     <table width="450" border="2" align="center" >
       <tr bgcolor="cc99ff" class="Style2">
         <td><div align="center" class="Style1 Style4">DEP</div></td>
         <td><div align="center" class="Style1 Style4">LIEUX</div></td>
         <td><div align="center" class="Style1 Style4">STYLE</div></td>
         <td><div align="center" class="Style1 Style4">DESCRIPTION</div></td>
         <td><div align="center" class="Style1 Style4">ACCES</div></td>
         <td><div align="center" class="Style1 Style4">DETAILS</div></td>
       </tr>
       <?php do { ?>
       <tr>
         <td class="Style2"><?php echo $row_INFOSresultat['DEPARTEMENT']; ?></td>
         <td><div align="center" class="Style2"><?php echo $row_INFOSresultat['LIEUX']; ?></div></td>
         <td><div align="center" class="Style2"><?php echo $row_INFOSresultat['style']; ?></div></td>
         <td><div align="center" class="Style2"><?php echo $row_INFOSresultat['description']; ?></div></td>
         <td height="80"><div align="center" class="Style2"><?php echo $row_INFOSresultat['acces']; ?></div></td>
         <td><div align="center" class="Style2"><a href="<?php echo $row_INFOSresultat['details']; ?>" target="_blank"><img src="image/i.gif" width="30" height="30" border="0"></a></div></td>
       </tr>
       <?php } while ($row_INFOSresultat = mysql_fetch_assoc($INFOSresultat)); ?>
    </table>
     </div>
<table width="450">
  <tr>
    <td><div align="left"><a href="<?php printf("%s?pageNum_INFOSresultat=%d%s", $currentPage, max(0, $pageNum_INFOSresultat - 1), $queryString_INFOSresultat); ?>">
        <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase=" [ Lien ]" width="30" height="30">
          <param name="movie" value="image/fg.swf">
          <param name="quality" value="high">
          <embed src="image/fg.swf" quality="high" pluginspage=" [ Lien ]" type="application/x-shockwave-flash" width="30" height="30"></embed>
        </object>
        PRECEDENT</a></div></td>
    <td><div align="right"><span class="Style3"><a href="<?php printf("%s?pageNum_INFOSresultat=%d%s", $currentPage, min($totalPages_INFOSresultat, $pageNum_INFOSresultat + 1), $queryString_INFOSresultat); ?>">SUIVANT
                <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase=" [ Lien ]" width="30" height="30">
                  <param name="movie" value="image/fd.swf">
                  <param name="quality" value="high">
                  <embed src="image/fd.swf" quality="high" pluginspage=" [ Lien ]" type="application/x-shockwave-flash" width="30" height="30"></embed>
                </object>
    </a> </span></div></td>
  </tr>
</table>
<?php
mysql_free_result($INFOSresultat);
?>
</div>

mardi 9 août 2005 à 16:03:23 | Re : Recherche et affichage plusieur page

PETITDAVID

Vous bloquez tous sur la question??? ou c que je suis boude......
mardi 9 août 2005 à 16:22:26 | Re : Recherche et affichage plusieur page

arnal69130

Si les résultats sont correts mais qu'ils ne s'affichent pas au bon endroit, c probablement une erreur html : vérifie que toutes les balises ouvertes sont refermées, et dans le bon ordre. Vérifie ça dans le code source de la page résultat en html...
Quel est le problème quand tu "fais un retour" (qu'appelles-tu "faire un retour" ?) ?

Arn;o)
mercredi 10 août 2005 à 14:55:16 | Re : Recherche et affichage plusieur page

PETITDAVID

hello merci de te pencher sur mon cas....

A priori j'ai du mal exprimer le probleme et je pense pas que le HTML soit en cause.

Car avant de vouloir faire un affichage page/page tout fonctionne bien....La recherche pose aucun probleme....l'affichage des resultats sur une page unic aussi.....
Mais qd je veux faire un affichage des resultats (4 reponses par page) sur la premiere page il affiche bien mes 4 premiers resultats et indique bien qu'il en rest X..... a afficher mais desque je click sir mon bouton "suivant" il affiche le tableau vide.
donc je pense que c plus un probleme de PHP que de HTML.....mais vu mon niveau j'arrive pas a trouver le hic....

Pour ce qui est du "retour' ou "suivant" c'est juste la fonction qui permet afficher les resultats suivant ou de revenir au resultat precedant.

Pour ce qui est du retour il se passe pas grand chose, il affiche le tableau vide....comme qd je fais suivant....



 

mercredi 10 août 2005 à 15:24:07 | Re : Recherche et affichage plusieur page

arnal69130

Essaie de faire un petit echo $requete avant d'exécuter $requete, ainsi tu pouras voir si le pb vient des liens (suivant/précédent) ou de la reuqête proprement dit...
Qu'est-ce que ça donne ?
mercredi 10 août 2005 à 15:42:18 | Re : Recherche et affichage plusieur page

PETITDAVID

heuuuuuuuuuuuuuuu

je viens de regarder ca mais je vois pas ou il y a "$requete" ?????
mercredi 10 août 2005 à 15:55:08 | Re : Recherche et affichage plusieur page

arnal69130

y'a pas $requete, j'ai mis ça pour dire « la variable contenant la chaine de ta requête sql », comme ton code n'est pas très marrant à lire (avec tout les %%, et autre print(%s)...), je pensais que tu serais capable de trouver toi-même le nom de ta variable
mercredi 10 août 2005 à 16:01:40 | Re : Recherche et affichage plusieur page

PETITDAVID

Arfffff

desole que mon code soit pas tres lisible.....debutant oblige....qd on comprend pas tout dure d'etre claire et propre...

Je vais essaye de refaire la page entierement avec le minimum fonctionel ca sera peut etre plus claire pour vous...

merci qd meme de l'aide....
mercredi 10 août 2005 à 16:21:08 | Re : Recherche et affichage plusieur page

arnal69130

Désolé, fallait pas mal le prendre, c'est peut-être bien comme ça qu'il faut coder ce que tu veux faire. C'est juste qu'à lire c'est pas forcément facile, mais si ça se trouve c'est ce qu'il y a de mieux ;o)

Bon, ce que je te suggérais de faire pour débugger, c'est d'insérer une ligne avant les ordres d'exécution des requètes :

...
echo '<br />query_limit_INFOSresultat : '.$query_limit_INFOSresultat;
$INFOSresultat = mysql_query($query_limit_INFOSresultat, $infos) or die(mysql_error());
$row_INFOSresultat = mysql_fetch_assoc($INFOSresultat);

if (isset($_GET['totalRows_INFOSresultat'])) {
  $totalRows_INFOSresultat = $_GET['totalRows_INFOSresultat'];
} else {
echo '<br />query_INFOSresultat : '.$query_INFOSresultat;
  $all_INFOSresultat = mysql_query($query_INFOSresultat);


et de nous dire ce qui est affiché...

Arn;o)

mercredi 10 août 2005 à 16:42:06 | Re : Recherche et affichage plusieur page

PETITDAVID

Non je n'ai rien mal pris du tout....
Mais c vrai que ce code est bordelique....donc je me met a ta place et ca doit etre galere a lire....

En effet peut etre de tout refaire serait la solution, meme si ca f 3 fois que je recommence....
En fait je me base sur un tuto que j'essai d'adapter a mon projet....

Sinon je viens d'ajouter les deux lignes au code....ca change rien du tout

1 2 3 4 5 6

Cette discussion est classée dans : page, recherche, query, totalrows, infosresultat


Répondre à ce message

Sujets en rapport avec ce message

REcherche dans base [ par masseur ] Salut.J'essaye de recherche un nom spécial dans une base afin de le récupérer et de l'afficherVoici la page de mon formulaire<input type="text" name=" un menu de recherche rapide qui redirige vers une page en fonction du résultat!!! [ par larcan57 ] salut à tous,je voudrais crée un menu de recherche rapide qui contient deux champs et lors de l'envoi la page suivante est déterminé en fonction du ré A quoi sert cette variable? [ par bonobos ] Bonjour c'est encore moi Voilà c'est un script d'affichage page par page qui date de 2001 que j'ai trouvé ici:http://evolt.org/ Paramètres via adresse [ par Galmiza ] Salut,Quand on tape un mot dans google exemple "recherche", on est envoyé à une page nommée comme ci-dessous:http://www.google.fr/search?q=recherche&s recherche multicritère dans une annuaire [ par mfresk ] Bonjour à tous! Je fais appel à vous car ça va me rendre fou, je suis coincé sur ça depuis une semaine et je trouve pas la faille, En général, je veux probleme de submit ... plusieur submit sur la meme page ... [ par twixster ] Bonjour, Voila c'est une page de recherche et je voudrai qu'on puisse faire une recherche sur le nom ou sur la description, sur le numero d'interventi recherche une âme généreuse pour me pour la création d'un script [ par jjoe112 ] Tout d?abord je veux remercier les personnes qui me viendront en aide dans ma recherchePour tout vous dire je n?ai vraiment pas le temps de mi mettre Script affichage page par page/ avec recherche multi-criteres [ par LaTatadu91 ] Bonjour,Voila je cherche un exemple de script qui aurait pour but a l'aide d'un simple formulairede laisser libre choix a l'utilisateur d'effectuer un recherche d'enregistrement [ par duodiscus ] bonsoir,alors voilà, j'ai une base de donnée qui contient des produitset j'ai une page de modification de produiten entête de cette page, j'ai une sor Aide XML et recherche [ par jipe32 ] Bonjour à tous,Voila mon probleme:Je tiens à faire un petit dictionnaire en ligne sur le jargon informatique.Comment faire pour que l'url de la page n


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,966 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales