Probleme pour passer un resultat de requ Posté le 24/02/2004 à 00:00
Micro1Membre![micro1]()
18 posts
Inscrit le : 24/02/2004
je voudrais faire un tableau dynamique qui ne m'affiche que 10 enregistrements a la fois puis un lien "suivant" pour m'afficher les enregistrements 10 par 10.
je travaille sous dreamweaver et php 4.
mon probleme est que lorsque je fais valide mon formulaire, les 10 premiers enregistrements apparaissent, mais si je clique sur suivant, les autres n'apparaissent pas. pourtant, ma requette est bien en mémoire puisque si je revalide mon formulaire, les dix autres apparaissent.
comment faire pour ne pas etre obligé de revalider le formulaire ?
merci pour votre aide
Réponse à : Probleme pour passer un resultat de requ Posté le 24/02/2004 à 14:20
Slt, je crois qu'un code de ce genre devrai faire l'afaire :
<?php
if(!isset($_GET[debut])){
$debut=0;
$fin=10;
}else{
$debut=$_GET[debut];
$fin=$debut+10;
}
$sql= "SELECT count(*) from tatable";
$resultat = mysql_db_query(taBaseDonnee, $sql);
$enr = mysql_fetch_array($resultat);
$total=$enr[0];
$select='select * FROM tatable ORDER BY id limit '.$debut,$fin;
$result = mysql_query($select) or die ('Erreur : '.mysql_error() );
while($row = mysql_fetch_array($result)) {
$uneligne=$row[tonchamps];
echo $uneligne.'<br>';
}
if($debut<$nbr){
$debut=$debut+10;
echo '<a href="tapage.php?debut='.$debut.'">Page suivante</a>';
}
?>
Bonne chance,
Sky
_______________________
Graphiks :
Cours PHP
=> à quoi sert internet explorer ?
=> à télécharger firefox
Réponse à : Probleme pour passer un resultat de requ Posté le 26/02/2004 à 13:14
micro1Membre
18 posts
Inscrit le : 24/02/2004
tout d'abord, merci pour ce code.
mais il y a un truc que je ne comprends pas.
a quel endroit du code j'affiche mes résultats sur la page ?
merci
_______________________
Aucun
Réponse à : Probleme pour passer un resultat de requ Posté le 26/02/2004 à 14:14
En faite, tu doit l'adapter a ta table...
Remplace tatable, tabase et tonChamp par tes propres infos.
Puis, l'endroit qui affiche est :
while($row = mysql_fetch_array($result)) {
$uneligne=$row[tonchamps];
echo $uneligne.'<br>';
Mais comme je disais, il faut que tu change $row[tonchamps] et mette le nom de ton nom, et autant qu'il en faut...
Sinon, si tu pige pas, donne moi le nom de la base de donnée, de la table, et des champs que tu veut extraire.
Bonne journée,
Sky
_______________________
Graphiks :
Cours PHP
=> à quoi sert internet explorer ?
=> à télécharger firefox
Réponse à : Probleme pour passer un resultat de requ Posté le 26/02/2004 à 18:56
micro1Membre
18 posts
Inscrit le : 24/02/2004
en fait, franchemet je ne pige rien, je comprends bien qu'il me faut changer les noms de champs mais je vais t'expliquer autrement.
je travaille sur dreamweaver mx, et il y a un comportement de serveur dedié a ca qui s'appelle "deplacer l'enregistrement a la page suivante".
la ligne de code ressort comme ca.
<a href="<?php printf("%s?pageNum_Recordset1=%d%s", $currentPage, min($totalPages_Recordset1, $pageNum_Recordset1 + 1), $queryString_Recordset1);
?>">Suivant</a>
mon probleme est que la page suivante s'affiche mais les resultats de la requette non, il me faut revalider mon formulaire avec la meme variable de formulaire pour qu'il m'affiche les enregistrements
suivants.
d'ou ma question comment faire pour ne pas avoir a revalider le formulaire a chaque fois ?
je te remercie et j'espere que tu auras la solution car je suis en train de peter un plomb
_______________________
Aucun
Réponse à : Probleme pour passer un resultat de requ Posté le 26/02/2004 à 18:57
micro1Membre
18 posts
Inscrit le : 24/02/2004
en fait, franchemet je ne pige rien, je comprends bien qu'il me faut changer les noms de champs mais je vais t'expliquer autrement.
je travaille sur dreamweaver mx, et il y a un comportement de serveur dedié a ca qui s'appelle "deplacer l'enregistrement a la page suivante".
la ligne de code ressort comme ca.
<a href="<?php printf("%s?pageNum_Recordset1=%d%s", $currentPage, min($totalPages_Recordset1, $pageNum_Recordset1 + 1), $queryString_Recordset1);
?>">Suivant</a>
mon probleme est que la page suivante s'affiche mais les resultats de la requette non, il me faut revalider mon formulaire avec la meme variable de formulaire pour qu'il m'affiche les enregistrements
suivants.
d'ou ma question comment faire pour ne pas avoir a revalider le formulaire a chaque fois ?
je te remercie et j'espere que tu auras la solution car je suis en train de peter un plomb
_______________________
Aucun
Réponse à : Probleme pour passer un resultat de requ Posté le 26/02/2004 à 21:05
Hum... Tu te sert d'une base de donner?
_______________________
Graphiks :
Cours PHP
=> à quoi sert internet explorer ?
=> à télécharger firefox
Réponse à : Probleme pour passer un resultat de requ Posté le 27/02/2004 à 12:39
micro1Membre
18 posts
Inscrit le : 24/02/2004
oui, je me sers d'une base de donnée mysql
_______________________
Aucun
Réponse à : Probleme pour passer un resultat de requ Posté le 27/02/2004 à 12:45
Lol, je comprend pas trop ce code, mais il me semble que dreamweaver ce sert d'une base de donnée
coldfusion ... et je connais ce truc la...
Hum...
Sinon, si tu met tout dans une base de donnée MySql, mon script fonctionnerai tres
Excuse, mais je sais pas la en faite
Si jamais tu change de base de donnée, je pourrai

_______________________
Graphiks :
Cours PHP
=> à quoi sert internet explorer ?
=> à télécharger firefox
Réponse à : Probleme pour passer un resultat de requ Posté le 27/02/2004 à 12:52
micro1Membre
18 posts
Inscrit le : 24/02/2004
ma base de donnée est une base mysql
c'est ca mon probleme justement
voila mon code complet tu comprendras peut etre mieux
<?php require_once('Connections/webannonce.php'); ?>
<?php
$currentPage = $_SERVER["PHP_SELF"];
$maxRows_Recordset1 = 2;
$pageNum_Recordset1 = 0;
if (isset($HTTP_GET_VARS['pageNum_Recordset1'])) {
$pageNum_Recordset1 = $HTTP_GET_VARS['pageNum_Recordset1'];
}
$startRow_Recordset1 = $pageNum_Recordset1 * $maxRows_Recordset1;
$colname_Recordset1 = "1";
if (isset($HTTP_POST_VARS['categorie'])) {
$colname_Recordset1 = (get_magic_quotes_gpc()) ? $HTTP_POST_VARS['categorie'] : addslashes($HTTP_POST_VARS['categorie']);
}
mysql_select_db($database_webannonce, $webannonce);
$query_Recordset1 = sprintf("SELECT * FROM annonce WHERE categorie = '%s'", $colname_Recordset1);
$query_limit_Recordset1 = sprintf("%s LIMIT %d, %d", $query_Recordset1, $startRow_Recordset1, $maxRows_Recordset1);
$Recordset1 = mysql_query($query_limit_Recordset1, $webannonce) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
if (isset($HTTP_GET_VARS['totalRows_Recordset1'])) {
$totalRows_Recordset1 = $HTTP_GET_VARS['totalRows_Recordset1'];
} else {
$all_Recordset1 = mysql_query($query_Recordset1);
$totalRows_Recordset1 = mysql_num_rows($all_Recordset1);
}
$totalPages_Recordset1 = ceil($totalRows_Recordset1/$maxRows_Recordset1)-1;
$queryString_Recordset1 = "";
if (!empty($_SERVER['QUERY_STRING'])) {
$params = explode("&", $_SERVER['QUERY_STRING']);
$newParams = array();
foreach ($params as $param) {
if (stristr($param, "pageNum_Recordset1") == false &&
stristr($param, "totalRows_Recordset1") == false) {
array_push($newParams, $param);
}
}
if (count($newParams) != 0) {
$queryString_Recordset1 = "&" . implode("&", $newParams);
}
}
$queryString_Recordset1 = sprintf("&totalRows_Recordset1=%d%s", $totalRows_Recordset1, $queryString_Recordset1);
?>
<html>
<head>
<title>Document sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<form name="form2" method="post" action="">
<input name="categorie" type="text" id="categorie" value="Automobile">
<input type="submit" name="Submit2" value="Envoyer">
</form>
<p> </p>
<table border="0" cellpadding="2" cellspacing="2">
<tr>
<td>categorie</td>
<td>titre</td>
<td>descriptif</td>
<td>tarif</td>
<td>photo</td>
<td>telephone</td>
<td>email</td>
<td>duree</td>
<td>lieu</td>
<td>date</td>
<td>enregistrement</td>
<td>toutes</td>
</tr>
<?php do { ?>
<tr>
<td><?php echo $row_Recordset1['categorie']; ?></td>
<td><?php echo $row_Recordset1['titre']; ?></td>
<td><?php echo $row_Recordset1['descriptif']; ?></td>
<td><?php echo $row_Recordset1['tarif']; ?></td>
<td><?php echo $row_Recordset1['photo']; ?></td>
<td><?php echo $row_Recordset1['telephone']; ?></td>
<td><?php echo $row_Recordset1['email']; ?></td>
<td><?php echo $row_Recordset1['duree']; ?></td>
<td><?php echo $row_Recordset1['lieu']; ?></td>
<td><?php echo $row_Recordset1['date']; ?></td>
<td><?php echo $row_Recordset1['enregistrement']; ?></td>
<td><?php echo $row_Recordset1['toutes']; ?></td>
</tr>
<?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?>
</table>
<p><a href="<?php printf("%s?pageNum_Recordset1=%d%s", $currentPage, min($totalPages_Recordset1, $pageNum_Recordset1 + 1),$categorie,$all_Recordset1,mysql_fetch_assoc($Recordset1), $queryString_Recordset1); ?>">suivant</a>
<?php echo ($startRow_Recordset1 + 1) ?>, <?php echo min($startRow_Recordset1 + $maxRows_Recordset1, $totalRows_Recordset1) ?>/<?php echo $totalRows_Recordset1 ?> </p>
</table>
</body>
</html>
<?php
mysql_free_result($Recordset1);
?>
_______________________
Aucun
Réponse à : Probleme pour passer un resultat de requ Posté le 27/02/2004 à 14:05
Je regarderai en profondeur ce week end

Ca na pas l'air trop dur
Sky
_______________________
Graphiks :
Cours PHP
=> à quoi sert internet explorer ?
=> à télécharger firefox
Réponse à : Probleme pour passer un resultat de requ Posté le 27/02/2004 à 17:31
micro1Membre
18 posts
Inscrit le : 24/02/2004
je te remercie beaucoup, pour moi c'est tres compliqué, je fais tout ca sans aucune base de programmation.
merci beaucoup
_______________________
Aucun
Réponse à : Probleme pour passer un resultat de requ Posté le 28/02/2004 à 13:46
micro1Membre
18 posts
Inscrit le : 24/02/2004
autre chose, selon ce que je mets comme code j'ai ce message d'erreur
[coForbidden
You don't have permission to access /recherche/<br /><b>Warning</b>: printf(): Too few arguments in <b>c:/program files/easyphp1-7/www/recherche/tmpcxpl7tsoqv.php</b> on
line <b>183</b><br /> on this server.de][/code]
que veut dire ce message ?
_______________________
Aucun
Réponse à : Probleme pour passer un resultat de requ Posté le 28/02/2004 à 13:47
micro1Membre
18 posts
Inscrit le : 24/02/2004
excuses plutot
Forbidden
You don't have permission to access /recherche/<br /><b>Warning</b>: printf(): Too few arguments in <b>c:/program files/easyphp1-7/www/recherche/tmpcxpl7tsoqv.php</b> on
line <b>183</b><br /> on this server.
_______________________
Aucun
Vous n'est pas connecté en temps que membre, parceque j'en ai marre du spam, SEUL les membres peuvent poster des messages sur le forum.