Affichage page par page avec variables

piervs Messages postés 26 Date d'inscription vendredi 18 avril 2003 Statut Membre Dernière intervention 4 mai 2005 - 25 juin 2003 à 15:43
cs_Tortuegeniale Messages postés 1123 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 26 juin 2008 - 25 juin 2003 à 20:14
J'ai un petit (en fait plutot gros) problème et je me permet donc de solliciter
votre aide:

J'essaye d'afficher à l'aide de PHP les résultats d'une requete "page par
page", pour être plus clair ma requete donne en reponse plusieurs images et je
veux les afficher une par une. Or dans ma requete, certains paramètres sont des
variables :
[ $select = ("SELECT nomimage, commentaire, grade FROM $table where
type='".$type."' and famille='".$famille."' and
sousfamille='".$selssfamille."' "); ]

Ceci pose un probleme, en effet l'affichage de la premiere page se fait sans
probleme, mais dès que j'utilise le bouton "suivant" pour aller à la page
d'après mes variables sont initialisées à Null et donc je n'ai plus les autres
résultats. Je voudrais donc savoir comment faire pour conserver le contenu de
mes variables malgré le bouton suivant ( de type 'submit').

PLEASE, Aidez moi!!!!!!!

voici mon code:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<title>Tumarch: Consultation de la base</title>
</head>

<?php

function affichePages($nb,$page,$total) {
$nbpages=ceil($total/$nb);
$numeroPages = 1;
$compteurPages = 1;
$limite = 0;
echo ''.\"\n\";
while($numeroPages <= $nbpages) {
echo ''.$numeroPages.', '.\"\n\";
$limite = $limite + $nb;
$numeroPages = $numeroPages + 1;
$compteurPages = $compteurPages + 1;
if($compteurPages == 10) {
$compteurPages = 1;
echo '
'.\"\n\";
}
}
echo '
'."\n";
}

function displayNextPreviousButtons($limite,$total,$nb,$page) {
$limiteSuivante = $limite + $nb;
$limitePrecedente = $limite - $nb;
echo ''.\"\n\";
if($limite != 0) {
echo ''."\n";
echo '<form action="'.$page.'" method="post">'."\n";
echo ''."\n";
echo ''."\n";
echo '</form>'."\n";
echo ', '.\"\n\";
}
if($limiteSuivante < $total) {
echo ''."\n";
echo '<form action="'.$page.'" method="post">'."\n";
echo ''."\n";
echo ''."\n";
echo '</form>'."\n";
echo ', '.\"\n\";

}
echo '
'."\n";
}

function verifLimite($limite,$total,$nombre) {
// je verifie si limite est un nombre.
if(is_numeric($limite)) {

// si $limite est entre 0 et $total, $limite est ok
// sinon $limite n'est pas valide.
if(($limite >=0) && ($limite <= $total) && (($limite%$nombre)==0)) {
// j'assigne 1 à $valide si $limite est entre 0 et $max
$valide = 1;
}
else {
// sinon j'assigne 0 à $valide
$valide = 0;
}
}
else {
// si $limite n'est pas numérique j'assigne 0 à $valide
$valide = 0;
}
// je renvois $valide
return $valide;
}

$user='root';

$pass='';

$host="localhost";

$db = 'tumarch';

echo (" <center>TUMARCH
Consultation des données

</CENTER>");

echo ("Vous avez choisi les tumeurs de type $seltype de la famille des $selfa $sousfamille

");
// on va afficher 1 résultats par page.
$nombre = 1;
// si limite n'existe pas on l'initialise à Zéro
if (!$limite) $limite = 0;
// on cherche le nom de la page.
$path_parts = pathinfo($PHP_SELF);
$page = $path_parts["basename"];

$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());

$select = ("SELECT count(nomimage) FROM $seltable where type='".$seltype."' and famille='".$selfa."' and sousfamille='".$sousfamille."' ");

$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$row = mysql_fetch_row($result);
$total = $row[0];

$verifLimite= verifLimite($limite,$total,$nombre);
// si la limite passée n'est pas valide on la remet à Zéro
if(!$verifLimite) {
$limite = 0;
}
$select = ("SELECT nomimage, commentaire, grade FROM $seltable where type='".$seltype."' and famille='".$selfa."' and sousfamille='".$sousfamille."' order by nomimage ASC limit ".$limite.','.$nombre );
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );

if($total) {
echo ' Voici les images correspondant à votre choix:

';
// debut du tableau
echo ''.\"\n\";

echo '----
';
echo 'Commentaire, ';
echo 'Grade, ';
echo ''.\"\n\";

// lecture et affichage des résultats sur 2 colonnes
while($row = mysql_fetch_array($result)) {
$nomimage=$row['nomimage'];
echo \"

\";
echo '----
';

echo ''.$row['commentaire'].', ';
echo ''.$row['grade'].', ';
echo ''.\"\n\";
}
echo '
'."\n";
}
else echo 'Pas d\'images pour la requete choisie ';
mysql_free_result($result);

if($total > $nombre) {
// affichage des liens vers les pages
affichePages($nombre,$page,$total);
// affichage des boutons
displayNextPreviousButtons($limite,$total,$nombre,$page);
}

?>

</html>

3 réponses

cs_Tortuegeniale Messages postés 1123 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 26 juin 2008
25 juin 2003 à 16:17
Salut

si t'as une variable a l'affichage de la page qui s'appele $var suffit que tu la mette dans l'url de la page suivante.

exemple : page.php?var= $var

++

--> http://www.kame-house.org <--
La plus grosse base de données sur les dessins animés des années 80
Site gratuit et sans pub
0
piervs Messages postés 26 Date d'inscription vendredi 18 avril 2003 Statut Membre Dernière intervention 4 mai 2005
25 juin 2003 à 16:35
Je te remercie, mais je mais ca ou dans ma page??
0
cs_Tortuegeniale Messages postés 1123 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 26 juin 2008
25 juin 2003 à 20:14
bah sur le lien pour faire par exemple page suivante

--> http://www.kame-house.org <--
La plus grosse base de données sur les dessins animés des années 80
Site gratuit et sans pub
0
Rejoignez-nous