Suivant précédent avec ID
Résolu
Melooo
Messages postés
1405
Date d'inscription
Statut
Membre
Dernière intervention
-
Melooo Messages postés 1405 Date d'inscription Statut Membre Dernière intervention -
Melooo Messages postés 1405 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je veux afficher les constantes d'un patient. Je souhaite en afficher 10 par pages.
Mais lorsque je passe à la page 2 j'ai une erreur sur la requête, car il récupère pas l'ID du patient choisi.
J'appel un fichier fonction :
Et voici ma page de constante :
J'ai enlevé le code superflu, je récupère l'ID du patient situé dans un form avec un hidden provenant d'une autre page.
La première page des constantes fonctionne très bien avec le bon patient, mais lorsque j'veux naviguer entre les constantes grâce au lien, il perd l'id du patient.
Merci de votre aide.
Je veux afficher les constantes d'un patient. Je souhaite en afficher 10 par pages.
Mais lorsque je passe à la page 2 j'ai une erreur sur la requête, car il récupère pas l'ID du patient choisi.
J'appel un fichier fonction :
//récupération de $limite if(isset($_GET['limite'])) $limite=$_GET['limite']; else $limite=0; 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; } function affichePages($nb,$page,$total) { $nbpages=ceil($total/$nb); $numeroPages = 1; $compteurPages = 1; $limite = 0; echo '<form name="essai" action="constante.php" method="post">'; echo '<table border = "1" ><tr>'."\n"; while($numeroPages <= $nbpages) { echo '<td ><a href = "'.$page.'?limite='.$limite.'">'.$numeroPages.'</a></td>'."\n"; $limite = $limite + $nb; $numeroPages = $numeroPages + 1; $compteurPages = $compteurPages + 1; if($compteurPages == 10) { $compteurPages = 1; echo '<br>'."\n"; } } echo '</tr>'; echo '</form>'; echo '</table>'."\n"; }
Et voici ma page de constante :
<?php session_start(); include('connexion_bd.php'); // pour afficher les liens suivants et précédents $_SESSION['id_patient'] = $_POST['idusers']; require ('fonction.php'); function dh($t) { if ($t == "") { return "---"; } else { return $t; } } ?> <html> <head> <?php $pat = "SELECT USER_LASTNAME, USER_FIRSTNAME, USER_BIRDTHDAY,USER_WEIGHT, USER_SIZE,USER_GS, pro_nom, pro_tel, pro_ville, pro_titre FROM professionnels, users WHERE professionnels.pro_id = users.PROF_ID AND USER_ID = '".$_SESSION['id_patient']."'"; $ex = mysql_query($pat); while ($roow = mysql_fetch_array($ex)) { ?> <td align="right">Nom :</td> <td> <?php echo $roow[0]. ' '.$roow[1]; ?></td> <td align="right">Né(e) le :</td> <td> <?php echo $roow[2]; ?></td> </tr> <tr> <td align="right">Taille :</td> <td> <?php echo $roow[4]; ?></td> <td align="right">GS :</td> <td> <?php echo $roow[5]; ?></td> </tr> <tr> <td align="right">Médecin traitant :</td> <td> <?php echo $roow[9]. ' '.$roow[6]; ?></td> <td> <?php echo $roow[7]; ?></td> <td> <?php echo $roow[8]; ?></td> </tr> <?php } ?> </table> <br> <?php // initialisation des variables // on va afficher 5 résultats par page. $nombre = 5; // si limite n'existe pas on l'initialise à zéro if (!$limite) $limite = 0; // on cherche le nom de la page. $path_parts = pathinfo($_SERVER['PHP_SELF']); $page = $path_parts["basename"]; $select = 'SELECT count(constportail_id) FROM constante_portail WHERE constportail_users_id = '.$_SESSION['id_patient'].''; $result = mysql_query($select) or die ('Erreur : '.mysql_error() ); $row = mysql_fetch_row($result); $total = $row[0]; // vérifier la validité de notre variable $limite; $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 constportail_date,constportail_heure,constportail_poids,constportail_pouls,constportail_temp,constportail_tens,constportail_sat,constportail_glyc,constportail_med FROM constante_portail WHERE constportail_users_id = '.$_SESSION['id_patient'].' ORDER BY constportail_date ASC limit '.$limite.','.$nombre; $result = mysql_query($select) or die ('Erreur : '.mysql_error() ); if($total) { // début du tableau ?> <?php // lecture et affichage des résultats sur 2 colonnes while($row = mysql_fetch_array($result)) { echo '<tr class=ligne_tab>'; echo '<td align="center">'.dh($row[0]).'</td>'; echo '<td align="center">'.dh($row[1]).'</td>'; echo '<td align="center">'.dh($row[2]).'</td>'; echo '<td align="center">'.dh($row[3]).'</td>'; echo '<td align="center">'.dh($row[4]).'</td>'; echo '<td align="center">'.dh($row[5]).'</td>'; echo '<td align="center">'.dh($row[6]).'</td>'; echo '<td align="center">'.dh($row[7]).'</td>'; echo '<td align="center">'.dh($row[8]).'</td>'; echo '</tr>'; } echo '</table>'."\n"; } else echo 'Pas d\'enregistrements dans cette table...'; mysql_free_result($result); if($total > $nombre) { // affichage des liens vers les pages affichePages($nombre,$page,$total); } ?> </body> </html>
J'ai enlevé le code superflu, je récupère l'ID du patient situé dans un form avec un hidden provenant d'une autre page.
La première page des constantes fonctionne très bien avec le bon patient, mais lorsque j'veux naviguer entre les constantes grâce au lien, il perd l'id du patient.
Merci de votre aide.
A voir également:
- Suivant précédent avec ID
- Id telephone - Guide
- Gate first id ✓ - Forum Navigateur
- Trouver un utilisateur discord avec son id - Forum Discord
- Id reseau tv - Forum TNT / Satellite / Réception
- Id=108 - Forum MacOS
1 réponse
Bonjour,
Ton problème est « normal » : ta ligne $_SESSION['id_patient'] = $_POST['idusers']; va écraser l'id stockée du patient puisque $_POST['idusers'] n'existe pas lorsque la navigation se fait par les liens.
Je préconise donc de la remplacer par la ligne suivante :
if (isset($_POST['idusers'])) $_SESSION['id_patient'] = $_POST['idusers'];
Voilà !
Xavier
Ton problème est « normal » : ta ligne $_SESSION['id_patient'] = $_POST['idusers']; va écraser l'id stockée du patient puisque $_POST['idusers'] n'existe pas lorsque la navigation se fait par les liens.
Je préconise donc de la remplacer par la ligne suivante :
if (isset($_POST['idusers'])) $_SESSION['id_patient'] = $_POST['idusers'];
Voilà !
Xavier
encore une erreur toute bête
Merci Xavier