Affichage page par page avec variables

Signaler
Messages postés
26
Date d'inscription
vendredi 18 avril 2003
Statut
Membre
Dernière intervention
4 mai 2005
-
Messages postés
1123
Date d'inscription
lundi 7 janvier 2002
Statut
Membre
Dernière intervention
26 juin 2008
-
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

Messages postés
1123
Date d'inscription
lundi 7 janvier 2002
Statut
Membre
Dernière intervention
26 juin 2008
1
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
Messages postés
26
Date d'inscription
vendredi 18 avril 2003
Statut
Membre
Dernière intervention
4 mai 2005

Je te remercie, mais je mais ca ou dans ma page??
Messages postés
1123
Date d'inscription
lundi 7 janvier 2002
Statut
Membre
Dernière intervention
26 juin 2008
1
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