PB Count (Résolu) et un souci de lien de pagination

PB Count (Résolu) et un souci de lien de pagination - PHP - Programmation

Marsh Posté le 22-06-2009 à 15:53:10    

Bonjour,
J'ai ici une requête qui est sensé m'indiquer le nombre d'intervention qui ont un état à "non".
 
Donc je fais ma requête toute simple sous MySQL pour voir si ça passe:
 

SELECT COUNT(etat) AS nbinter FROM survenir WHERE etat ='non'
 
[u][b]RESULTAT:[/b][/u] nbinter: 6


Ensuite je fais ma requête SQL sous php:
 

$sql = mysql_query("SELECT COUNT(etat) AS nbinter FROM survenir WHERE etat ='non'";);  
echo $sql;
 
[u][b]RESULTAT:[/b][/u] Resource id #5


Je ne comprends pas d'où vient ce ressource id #5  :??:  
De plus, j'ai essayé de faire cette requête dans un autre dossier de mon répertoire et le résultat était différent, ça m'affichait Resource id #3
 
Si quelqu'un pouvait éclairer ma lanterne ça serait sympa parce que là je pige pas  [:tinostar]


Message édité par Profil supprimé le 22-06-2009 à 16:13:39
Reply

Marsh Posté le 22-06-2009 à 15:53:10   

Reply

Marsh Posté le 22-06-2009 à 15:56:55    

mysql_query ne te renvoie pas le résultat, mais un objet contenant le résultat... il te faut l'exploiter avec d'autres fonctions style mysql_fetch_array() ou autre.
 
 
http://php.developpez.com/faq/?pag [...] eselection

Reply

Marsh Posté le 22-06-2009 à 16:13:01    

Merci pour l'info  :jap:  J'ai mon résultat avec cette syntaxe.
 

<?php  
mysql_connect('localhost','root','');
mysql_select_db('logiciel');
 
$sql = mysql_query("SELECT COUNT(etat) AS nbinter FROM survenir WHERE etat ='non'";);  
$data = mysql_fetch_array($sql);
echo $data['nbinter'];
mysql_close();
?>


 
Je vais en profiter pour poser une autre question au lieu de créer un autre topic.
 
****************************************************************************************************************************
 
J'ai fait un système de pagination qui fonctionne impeccable. Leproblème vient du fait que je voudrais l'adapter à mon application etlà ça coince un peu. En effet en local pour faire les liens vers lespages j'indiquais que j'étais sur index.php?p=1 par exemple.
Là le soucis c'est que ma page qui va contenir la pagination est déjàsous la forme admin.php?m=interventon_a_faire. Donc le soucis c'est queje n'arrive pas à faire marcher les liens en bas de ma page.
 

1: <h3>Intervention à faire</h3>
2: <?php
3: mysql_connect('localhost','root','');
4: mysql_select_db('logiciel');
5:  
6: $sql = "SELECT COUNT(num_intervention) AS nbArt FROM survenir";
7: $req = mysql_query($sql);
8: $data = mysql_fetch_assoc($req);
9:  
10: $nbArt = $data['nbArt'];
11: $parpage = 2;
12: $nbpage = ceil($nbArt/$parpage);
13:  
14: if(isset($_GET['p']) && $_GET['p']>0 && $_GET['p'] <= $nbpage)
 15: {
 16: $cpage = $_GET['p'];
 17: }
18: else
 19: {
 20: $cpage = 1;
 21: }
 22:  
23: $sql2 = mysql_query("SELECT * FROM survenir LIMIT ".(($cpage-1)*$parpage).",$parpage";);
24: while ($data = mysql_fetch_array($sql2))
 25: {
 26: echo '<span class="inter_num">'.'Intervention n°'.$data['num_intervention'].'</span>'.' ';
 27: echo '<span class="inter_num">'.'du'.' '.date('d/m/Y à Hhi', $data['date']).'</span>'.'<br/>'.'<br/>';
 28: echo '<b>'.'Nom :'.'</b>'.' '.'<span class="inter_nom">'.$data['nom'].'</span>'.'<br/>';
 29: echo '<b>'.'Prénom :'.'</b>'.' '.'<span class="inter_prenom">'.$data['prenom'].'</span>'.'<br/>'.'<br/>';
30: echo '<b>'.'Type matériel :'.'</b>'.' '.'<span class="inter_mat">'.$data['type_materiel'].'</span>'.'<br/>';
 31: echo '<b>'.'Type panne :'.'</b>'.' '.'<span class="inter_panne">'.$data['type_panne'].'</span>'.'<br/>'.'<br/>';
 32: echo '<b>'.'Salle :'.'</b>'.' '.'<span class="inter_salle">'.$data['salle'].'</span>'.'<br/>';
 33: echo '<b>'.'Remarque :'.'</b>'.' '.'<span class="inter_rmq">'.$data['remarque'].'</span>'.'<br/>';
 34: echo '<input type="submit" value="Terminé"/>'.'<br/>'.'<br/>';
 35: }
36:  
37: for ($i=1;$i<=$nbpage;$i++)
 38: {
 39: if($i == $cpage)
  40:    {
  41:    echo "$i |";
  42:    }
 43: else
  44:    {
  45:    echo "<a href="admin.php?m=intervention_a_faire?p=$i">$i</a> |";
  46:    }
 47: }
48: mysql_close();
49: ?>
 


Le soucis c'est donc la ligne 45 que je n'arrive pas à faire fonctionner
Merci  [:cupra]


Message édité par Profil supprimé le 22-06-2009 à 16:55:55
Reply

Marsh Posté le 22-06-2009 à 16:33:20    

tu dois pouvoir utiliser $_SERVER[REQUEST_URI], qui contient le nom complet de ton script plus les paramètres, et y rajouter ta variable, mais je suis pas certain que ce soit super propre...


Message édité par pataluc le 22-06-2009 à 16:33:42
Reply

Marsh Posté le 23-06-2009 à 09:20:53    

J'ai cherché sur php.net mais j'ai rien trouvé sur Request_URI . Soit j'ai très mal cherché soit je suis aveugle  :??:


Message édité par Profil supprimé le 23-06-2009 à 09:21:30
Reply

Marsh Posté le 23-06-2009 à 10:35:31    

ben fais un

Code :
  1. <?
  2.   print_r($_SERVER);
  3. ?>

tu verras ca sera limpide.

Reply

Marsh Posté le 23-06-2009 à 11:25:52    

echo "<a href="admin.php?m=intervention_a_faire&p=$i">$i</a> |";
 :ange:

Reply

Marsh Posté le 23-06-2009 à 11:27:08    

Je suis pas certain que ce soit plus limpide pour moi  :D  
Par contre effectivement ça m'affiche un paquet de truc dont je ne sais pas quoi faire  :sweat:

Reply

Marsh Posté le 23-06-2009 à 11:30:44    

ca t'affiche le contenu de $_SERVER['REQUEST_URI'] qui est ce dont tu as besoin.

Reply

Marsh Posté le 23-06-2009 à 11:31:49    

macgawel a écrit :

echo "<a href="admin.php?m=intervention_a_faire&p=$i">$i</a> |";
 :ange:


Ptin c'était si simple  :sweat:   Merci en tout cas  :jap:  
ça marche presque, le seul problème c'est que les liens ne fonctionnent toujours pas, au lieu de faire planter mon programme je reste sur la page1  :sweat:  Mais au moins ça débloque la situation  :)

Reply

Marsh Posté le 23-06-2009 à 11:31:49   

Reply

Marsh Posté le 23-06-2009 à 11:36:38    


- Vérifie que le &p=... varie en fonction du numéro de page demandé  :D  
- Pour le débuggage :

  • Avant de faire ton teste sur $_GET['p'], affiche- le pour vérifier la valeur.
  • Met un echo pour verifier que le test fonctionne comme tu le souhaites.
  • Affiche ta requête avant de l'exécuter, histoire de vérifier que le LIMIT soit correct.

Reply

Marsh Posté le 23-06-2009 à 11:46:07    

C'est bon ça marche  :D  
 
En fait le problème venait d'une erreur de syntaxe au niveau d'un $_GETt donc ça risquait pas de marcher  :sweat:  
 
Encore pour le coup de main et l'astuce avec la perlouette "&"  :hello:

Reply

Marsh Posté le 23-06-2009 à 11:48:51    

ah 'tain j'avais rien compris. j'avais pas vu l'erreur de syntaxe, et j'ai proposé un truc qui t'évite de rembarquer tout tes paramètres.
 
My mistake.  :pfff:


Message édité par pataluc le 23-06-2009 à 11:49:16
Reply

Marsh Posté le 23-06-2009 à 11:53:02    

Au moins j'ai compris l'utilité du print_r  :hello:

Reply

Marsh Posté le 23-06-2009 à 22:44:58    

Quelqun m'explique comment  
echo "<a href="admin.php?m=intervention_a_faire&p=$i">$i</a> |";  
marche?
ya pas un peut trop de double quotes ...?


---------------
http://petitjonas.blogspot.com/
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed