Affichage.php
Fermé
blackmonkey
Messages postés
3
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
14 mai 2005
-
14 mai 2005 à 16:33
shi - 11 juil. 2005 à 14:25
shi - 11 juil. 2005 à 14:25
4 réponses
Hello blackmonkey,
alors je sais pas si ma solution est la meilleure mais je vois rien d'autre...
Donc, pour faire plusieurs pages contenant les resultats, tu pe utiliser des fonctions php de manipulation de fichiers(fopen, fput...), ainsi tu pe creer des pages html ou php a partir de ton code.
Bon j'espere ke tu vois ce ke je ve dire, sinon j'essairai de te filer plus d'explications.
++
alors je sais pas si ma solution est la meilleure mais je vois rien d'autre...
Donc, pour faire plusieurs pages contenant les resultats, tu pe utiliser des fonctions php de manipulation de fichiers(fopen, fput...), ainsi tu pe creer des pages html ou php a partir de ton code.
Bon j'espere ke tu vois ce ke je ve dire, sinon j'essairai de te filer plus d'explications.
++
salam
pour afficher les resultats sur +s pages je te propose tt d'abord d'utiliser la requette SQL suivante : "select * from photos limit $j,n"
ou n est le nombre de resultat que tu veux afficher par page.
et puis dans la page qui contient le formulaire (ou autre chose) qui lance la requette faire passer la variable $j ($j=0) a la page qui affiche les resultats .
(si c'est un formulaire qui est utilisé <form method=POST action="afficher.php?j=0">)
Et dans la page qui affiche utilise au debut de ton code php le code suivant ( $j=$_GET['j']; ) et puis creer 2 pages suiv.php et pred.php.
et dans le liens suivant utiliser ce code ( <a href="afficher.php?j=$j">lol</a> )
Enfin ds la page suiv.php utiliser le code suivant :
<?php
session_start();
$j=$_['j'];
$j=$j+n;
header("Location: afficher.php?j=$j");
?>
( afficher.php est la page qui affiche le resultat et n le nombre a afficher par page)
et de mm pr la page pred.php sauf qu'on utilise les $j=$j-n
pour afficher les resultats sur +s pages je te propose tt d'abord d'utiliser la requette SQL suivante : "select * from photos limit $j,n"
ou n est le nombre de resultat que tu veux afficher par page.
et puis dans la page qui contient le formulaire (ou autre chose) qui lance la requette faire passer la variable $j ($j=0) a la page qui affiche les resultats .
(si c'est un formulaire qui est utilisé <form method=POST action="afficher.php?j=0">)
Et dans la page qui affiche utilise au debut de ton code php le code suivant ( $j=$_GET['j']; ) et puis creer 2 pages suiv.php et pred.php.
et dans le liens suivant utiliser ce code ( <a href="afficher.php?j=$j">lol</a> )
Enfin ds la page suiv.php utiliser le code suivant :
<?php
session_start();
$j=$_['j'];
$j=$j+n;
header("Location: afficher.php?j=$j");
?>
( afficher.php est la page qui affiche le resultat et n le nombre a afficher par page)
et de mm pr la page pred.php sauf qu'on utilise les $j=$j-n
desolé le code a employer dans la page suiv est :
<?
$j=$_GET['j'];
$j=$j+n;
header("Location: afficher.php?j=$j");
?>
<?
$j=$_GET['j'];
$j=$j+n;
header("Location: afficher.php?j=$j");
?>
Bonjour,
je souhaite créer un dico en ligne et souhaiterai avoir les résultats de la requête sur plusieurs pages. J'ai le code suivant mais voilà les problèmes :
- la page index.php (avec entete.php) se load = aucun bouton ou resultat = OK !
- on entre une recherche = affiche le résultat avec le bouton suivant = OK !
- clique sur suivant = bouton suivant et précédent sans les résultats = PAS OK !
Si quelqu'un pouvait m'aiguiller sur l'erreur !! Merci !
code du formulaire dans la pseudo-frame : (entete.php)
code de la page qui execute la requete en reponse au mot recherche dans le formulaire de entete.php (result.inc.php)
le code de la fonction NextPreviousButtons($limite,$total,$nombre,$page);
je souhaite créer un dico en ligne et souhaiterai avoir les résultats de la requête sur plusieurs pages. J'ai le code suivant mais voilà les problèmes :
- la page index.php (avec entete.php) se load = aucun bouton ou resultat = OK !
- on entre une recherche = affiche le résultat avec le bouton suivant = OK !
- clique sur suivant = bouton suivant et précédent sans les résultats = PAS OK !
Si quelqu'un pouvait m'aiguiller sur l'erreur !! Merci !
code du formulaire dans la pseudo-frame : (entete.php)
<?php require( "result.inc.php" ); ?> <form name="annuaire" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> <input type="text" name="critere" value="Votre recherche ici. <?php if(!$critere) echo stripslashes( $critere ); ?>" size="17" onFocus='document.forms["annuaire"].elements["critere"].value =""'/> <input type="submit" name="envoyer" value="Traduire"/><input type="hidden" name="recherche" value="1"/></form>
code de la page qui execute la requete en reponse au mot recherche dans le formulaire de entete.php (result.inc.php)
<?Php include( "mysql.inc.php" ); require( "fonctions.inc.php" ); $path_parts = pathinfo($_SERVER['PHP_SELF']); $page = $path_parts["basename"]; // compte le nombre de données totales $select = 'SELECT count(id) FROM japfr'; $execution = mysql_query($select,$connection) or die ('Erreur : '.mysql_error() ); $row = mysql_fetch_row($execution); $total = $row[0]; // fixe le nombre de résultat par page et donne son état à la base $nombre = 5; if(isset($_GET['limite'])) $limite=$_GET['limite']; else $limite=0; // vérifie qu'un mot a bien été entré if( isset( $_POST["recherche"] ) ) $recherche = $_POST["recherche"]; else $recherche = 0; if( isset( $_POST["critere"] ) ) $critere = $_POST["critere"]; //si mot entré, execute 2 requetes if( $recherche==1 && !empty( $critere) ) { $requete = "SELECT * FROM japfr WHERE fr LIKE '%" . stripslashes( $critere ) . "%' limit ".$limite.",".$nombre; $requete2 = "SELECT * FROM japfr WHERE fr LIKE '%" . stripslashes( $critere ) . "%'"; $result = mysql_query( $requete, $connection ) OR die( "Impossible d'executer la Requete !" ); $result2 = mysql_query( $requete2, $connection ) OR die( "Impossible d'executer la Requete !" ); $nbr_tuples = @mysql_num_rows( $result2 ) ; if ($nbr_tuples > 0) { ?> <p class="s11">Résultat : <span class="b"><?php echo $nbr_tuples; ?></span><br /> Mot recherché :<span class="b""color:#FF0000"> <?php echo colorise_query( $critere,$critere,$critere); ?></span></p> <?php while( $un_mot = mysql_fetch_array( $result )) { ?><ul><li><p class="style2"><strong><?php echo colorise_query( $un_mot["fr"], $critere,"stabylo" ); ?></strong></li></ul></p> <p class="style8"><?php echo $un_mot["jap"] . " " . $un_mot["pro"]; ?><br /></p> <p class="style5"><?php echo $un_mot["com"]; ?><br /> </p> <?php } mysql_free_result( $result ); mysql_free_result( $result2 ); } // si première requete vide, execute 2eme requete else { $requete = "SELECT * FROM japfr WHERE jap LIKE '%" . stripslashes( $critere ) . "%' OR pro LIKE '%". stripslashes( $critere ) . "%' limit ".$limite.",".$nombre; $result = mysql_query( $requete, $connection ) OR die( "Impossible d'executer la Requete !" ); $requete2 = "SELECT * FROM japfr WHERE jap LIKE '%" . stripslashes( $critere ) . "%' OR pro LIKE '%". stripslashes( $critere ). "%'" ; $result2 = mysql_query( $requete2, $connection ) OR die( "Impossible d'executer la Requete !" ); $nbr_tuples = @mysql_num_rows( $result2 ); if ($nbr_tuples > 0) { ?> <p class="s11">Résultat : <span class="b"><?php echo $nbr_tuples; ?></span><br /> Mot recherché :<span class="b""color:#FF0000"> <?php echo colorise_query( $critere,$critere,$critere ); ?></span></p> <?php while( $un_mot = mysql_fetch_array( $result ) ) { ?><ul><li><p class="style4"><strong><?php echo colorise_query( $un_mot["jap"],$critere,"stabylo" );?></strong></li></p></ul> <p class="style8"><?php echo $un_mot["fr"]; ?><br /></p> <p class="style5"><?php echo $un_mot["com"]; ?><br /> </p> <?php } mysql_free_result( $result ); } // si deuxième requete vide, affiche aucun resultat else echo "<div style='position: absolute; left: 16px; top:230px; width: 753px;background-color: #FFFFFF; layer-background-color: #FFFFFF; border: 1px none #000000;'><br />Aucune traduction disponible pour le moment.\n"; } // s'il y a plus de donnees que la limite, affiche les boutons de liens if($total > $nombre) { displayNextPreviousButtons($limite,$total,$nombre,$page); } } ?> <?Php mysql_close(); ?>
le code de la fonction NextPreviousButtons($limite,$total,$nombre,$page);
function displayNextPreviousButtons($limite,$total,$nombre,$page) { $limiteSuivante = $limite + $nombre; $limitePrecedente = $limite - $nombre; echo '<table><tr>'."\n"; if($limite != 0) { echo '<td valign="top">'."\n"; echo '<form action="'.$page.'" method="post">'."\n"; echo '<input type="submit" value="précédents">'."\n"; echo '<input type="hidden" value="'.$limitePrecedente.'" name="limite">'."\n"; echo '</form>'."\n"; echo '</td>'."\n"; } if($limiteSuivante < $total) { echo '<td valign="top">'."\n"; echo '<form action="'.$page.'" method="post">'."\n"; echo '<input type="submit" value="suivants">'."\n"; echo '<input type="hidden" value="'.$limiteSuivante.'" name="limite">'."\n"; echo '</form>'."\n"; echo '</td>'."\n"; } echo '</tr></table>'."\n"; }