Page1, page2, page3, etc...

Eléphant du PHP | 257 Messages

13 mars 2006, 11:38

Bonjour j'ai crée une table voici sa structure :

Structure de la table `agences_tbl`
#

CREATE TABLE agences_tbl (
nom varchar(255) NOT NULL default '',
adresse varchar(255) NOT NULL default '',
telephone varchar(255) NOT NULL default '',
fax varchar(255) NOT NULL default '',
mail varchar(255) NOT NULL default '',
agent1 varchar(255) NOT NULL default '',
mail1 varchar(255) NOT NULL default '',
agent2 varchar(255) NOT NULL default '',
mail2 varchar(255) NOT NULL default '',
agent3 varchar(255) NOT NULL default '',
mail3 varchar(255) NOT NULL default '',
ID int(11) NOT NULL auto_increment,
PRIMARY KEY (nouv_id)
) TYPE=MyISAM;


Ce qui donne pour un premier enregistrement
Agence A
34, rue Vivienne 75002 Paris
Tél. 01 44 88 20
Fax. 88 01 44 88 20 89
[email protected]
Monita DERRIEUX
[email protected]
Mikaël CARAËS
non communiqué
Jean-Luc DARIER
non communiqué

Ce premier enregistrement s'affiche sur une page. Bien.
Mais comment faire pour que le deuxième enregitrsment s'affiche sur la page 2, et ainsi de suite..

Voici le code :
<?php 
// on se connecte à MySQL 
$db = mysql_connect('localhost', 'agence', 'xxxxx'); 

// on sélectionne la base 
mysql_select_db('agences',$db); 

// on crée la requête SQL 
$sql = 'SELECT ID,nom,adresse,telephone,fax,mail,agent1,mail1,agent2,mail2,agent3,mail3 FROM agences_tbl'; 

// on envoie la requête 
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); 

// on fait une boucle qui va faire un tour pour chaque enregistrement 
while($data = mysql_fetch_assoc($req)) 
    { 
    // on affiche les informations de l'enregistrement en cours 
    echo '<b>'.$data['nom'].'<br>'.$data['adresse'].'<br>';'</b>';  echo ' Tel : '.$data['telephone'].'<br>'; echo ' Fax : '.$data['fax'].'<br>';'</b>'; 
    echo '<b> <i>AGENTS : <br>'.$data['agent1'].'<br>' .$data['mail1'].'<br>'.$data['agent2'].'<br>'.$data['mail2'].'<br>'.$data['agent3'].'<br>'.$data['mail3'].'<br>'; 
    } 

// on ferme la connexion à mysql 
mysql_close(); 
?> 
Que manque t-il dans ce code ?
Merci
Est-ce les sessions ? "agences.php?page=" ????

Alex :cry:

Mammouth du PHP | 19672 Messages

13 mars 2006, 11:51

As-tu regardé le tuto sur l'affichage page par page dans la FAQ ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 257 Messages

13 mars 2006, 11:55

As-tu regardé le tuto sur l'affichage page par page dans la FAQ ?
Oui Cyra mais ce n'est pas ça que je recherche !!!

:cry:

Mammouth du PHP | 19672 Messages

13 mars 2006, 12:26

Quelle différence ? Le principe général est le même: tu dois afficher en fonction d'un numéro d'article qui peut être indépendant du nombre réel d'article : donc ton codage au niveau des requête devra être adapté, mais au final, c'est exactement le même principe.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 257 Messages

13 mars 2006, 12:47

Quelle différence ? Le principe général est le même: tu dois afficher en fonction d'un numéro d'article qui peut être indépendant du nombre réel d'article : donc ton codage au niveau des requête devra être adapté, mais au final, c'est exactement le même principe.
Oui mais il n'y a pas d'article, c'est en fait un listing d'agences, une fois une agence enregistrée elle ne bouge plus ...
Ce que je voulais c'est afficher les agences en fonction de leur propre ID. Un peu comme ça :
http://www.blabla.com/agence.php?ID=1
C'est pas possible ?
:cry:

ViPHP
ViPHP | 2144 Messages

13 mars 2006, 14:22

Le principe est le même, à partir d'un id passé dans l'url, on affiche les information d'un tuple de la table, que ce soit un article, une agence, etc

Eléphant du PHP | 257 Messages

14 mars 2006, 18:09

Le principe est le même, à partir d'un id passé dans l'url, on affiche les information d'un tuple de la table, que ce soit un article, une agence, etc
Oui justement c'est bien ça le probleme. Mais quand je frappe l'adresse :
http://www.xxxxxxxx.com/agences.php?ID=1
et ensuite la même mais avec l'ID=2
voici ce que je reçois à l'écran :
http://www.xxxxxxxx.com/agences.php?ID=1

Chaque agence devrait être affichée sur une page.
J'y comprends rien :oops:
:cry:

ps : "d'un tuple de la table" ?? " tuple " ??
Modifié en dernier par alexdarcy le 08 avr. 2006, 15:16, modifié 1 fois.

Eléphant du PHP | 257 Messages

15 mars 2006, 01:20

Merci de bien vouloir m'aider concretement dans mon petit probleme.

:cry:

Mammouth du PHP | 19672 Messages

15 mars 2006, 11:33

Si tu as toujours la même page quel que soit l'identifiant passé en url, c'est à priori parce que tu ne récupères pas cet identifiant correctement pour effectuer la requête appropriée
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 257 Messages

15 mars 2006, 16:23

Si tu as toujours la même page quel que soit l'identifiant passé en url, c'est à priori parce que tu ne récupères pas cet identifiant correctement pour effectuer la requête appropriée
Ben oui! ça je m'en doute bien ! Mais comment le récupérer correctement ?

Merci
:oops:

Mammouth du PHP | 19672 Messages

15 mars 2006, 16:32

Si tu envoies une url avec un truc du genre pagedetail.php?id=123 alors tu récupères avec:
$id = isset($_GET['id']) ? $_GET['id'] : 1;
Ce qui signifie en clair, que si un id est envoyé, on le récupère pour l'affecter à une variable $id, sinon, on affecte 1 par défaut : ça présente toutefois un risque si jamais l'agence correspondant à l'id 1 disparait, mais tu peux trouver une astuce avec un id par défaut qui ouvrirait une page par défaut invitant à sélectionner une agence existant dans la liste par exemple.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 257 Messages

15 mars 2006, 16:56

Si tu envoies une url avec un truc du genre pagedetail.php?id=123 alors tu récupères avec:
$id = isset($_GET['id']) ? $_GET['id'] : 1;
Ce qui signifie en clair, que si un id est envoyé, on le récupère pour l'affecter à une variable $id, sinon, on affecte 1 par défaut : ça présente toutefois un risque si jamais l'agence correspondant à l'id 1 disparait, mais tu peux trouver une astuce avec un id par défaut qui ouvrirait une page par défaut invitant à sélectionner une agence existant dans la liste par exemple.
merci.
Je mets le code ou ?
$id = isset($_GET['id']) ? $_GET['id'] : 1;
??
<?php 
// on se connecte à MySQL 
$db = mysql_connect('localhost', 'agence', 'xxxxx'); 

// on sélectionne la base 
mysql_select_db('agences',$db); 

$id = isset($_GET['ID']) ? $_GET['ID'] : 1;

// on crée la requête SQL 
$sql = 'SELECT ID,nom,adresse,telephone,fax,mail,agent1,mail1,agent2,mail2,agent3,mail3 FROM agences_tbl'; 

// on envoie la requête 
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); 

// on fait une boucle qui va faire un tour pour chaque enregistrement 
while($data = mysql_fetch_assoc($req)) 
    { 
    // on affiche les informations de l'enregistrement en cours 
    echo '<b>'.$data['nom'].'<br>'.$data['adresse'].'<br>';'</b>';  echo ' Tel : '.$data['telephone'].'<br>'; echo ' Fax : '.$data['fax'].'<br>';'</b>'; 
    echo '<b> <i>AGENTS : <br>'.$data['agent1'].'<br>' .$data['mail1'].'<br>'.$data['agent2'].'<br>'.$data['mail2'].'<br>'.$data['agent3'].'<br>'.$data['mail3'].'<br>'; 
    } 

// on ferme la connexion à mysql 
mysql_close(); 
?> 
[/php]

Mammouth du PHP | 19672 Messages

15 mars 2006, 16:58

Sois logique trente seconde, je ne te donnerai pas la réponse tout de suite : en programmation, il faut :
  1. de la logique;
  2. de la logique;
  3. de la logique;
  4. de la logique;
  5. et encore de la logique
ça devrait te sauter au visage comme réponse.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 257 Messages

15 mars 2006, 17:35

Sois logique trente seconde, je ne te donnerai pas la réponse tout de suite : en programmation, il faut :
  1. de la logique;
  2. de la logique;
  3. de la logique;
  4. de la logique;
  5. et encore de la logique
ça devrait te sauter au visage comme réponse.
mummm ! j'ai bo chercher je n trouve po :oops:

Mammouth du PHP | 19672 Messages

15 mars 2006, 18:24

Bon, quelques indices alors : à quoi sert d'envoyer ce paramètre, et où ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe: