Membres


Pas encore membre ?
inscrivez-vous ici

Connexion :
Login
Code
Mot de passe perdu ?
Liste des membres

probleme pour passer un resultat de requ

Probleme pour passer un resultat de requ


Probleme pour passer un resultat de requ     Posté le 24/02/2004 à 00:00
Micro1
Membre
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
sky
Administrateur
Avatar
Site perso
4158 posts
Inscrit le : 13/08/2003
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
Image
=> à quoi sert internet explorer ?
=> à télécharger firefox
 
Réponse à : Probleme pour passer un resultat de requ     Posté le 26/02/2004 à 13:14
micro1
Membre
Avatar
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
sky
Administrateur
Avatar
Site perso
4158 posts
Inscrit le : 13/08/2003
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
Image
=> à quoi sert internet explorer ?
=> à télécharger firefox
 
Réponse à : Probleme pour passer un resultat de requ     Posté le 26/02/2004 à 18:56
micro1
Membre
Avatar
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
micro1
Membre
Avatar
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
sky
Administrateur
Avatar
Site perso
4158 posts
Inscrit le : 13/08/2003
Hum... Tu te sert d'une base de donner?

_______________________
Graphiks : Cours PHP
Image
=> à quoi sert internet explorer ?
=> à télécharger firefox
 
Réponse à : Probleme pour passer un resultat de requ     Posté le 27/02/2004 à 12:39
micro1
Membre
Avatar
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
sky
Administrateur
Avatar
Site perso
4158 posts
Inscrit le : 13/08/2003
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 smiley

Excuse, mais je sais pas la en faite smiley

Si jamais tu change de base de donnée, je pourrai smiley

_______________________
Graphiks : Cours PHP
Image
=> à quoi sert internet explorer ?
=> à télécharger firefox
 
Réponse à : Probleme pour passer un resultat de requ     Posté le 27/02/2004 à 12:52
micro1
Membre
Avatar
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>&nbsp;</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"$currentPagemin($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
sky
Administrateur
Avatar
Site perso
4158 posts
Inscrit le : 13/08/2003
Je regarderai en profondeur ce week end smiley
Ca na pas l'air trop dur smiley

Sky

_______________________
Graphiks : Cours PHP
Image
=> à quoi sert internet explorer ?
=> à télécharger firefox
 
Réponse à : Probleme pour passer un resultat de requ     Posté le 27/02/2004 à 17:31
micro1
Membre
Avatar
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
micro1
Membre
Avatar
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
micro1
Membre
Avatar
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.

Nous  -  Plan du site  -  Informations légale  -  Contact  -  © Graphiks.net