PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 10-04-2010 19:57:44

pacific04
Membre
Inscription : 09-02-2010
Messages : 12

probleme d'inscription de membres

j'ai éffectué un espace membre. il fonctionne très bien, mais pour voir le nombre d'inscrit sur le site, je suis obliger de passer par phpmyadmid. alors j'ai creer un fichier sur lequel tous les membres doivent apparaitre.
la page fonctionne bien, les numero de page ont l air corrects, mais lorsque j'affiche la page, il n'y a rien qui s'affiche. Les données qui sont dans ma base ne viennent pas sur ma page. pouvez vous m'aider ? voici mon code :

 
<div id="corps">
<?php
// on se connecte à notre base
$base = mysql_connect ('localhost', '', '');
mysql_select_db('', $base);

// lancement de la requête. on sélectionne les données des membres que l'on va ordonner suivant l'orde des n° du département et par ordre alphabetique de ville.
$sql = 'SELECT login, Email, Departement_du_lieu, Ville, jour_naissance, mois_naissance, Annee_naissance, date FROM membre ORDER BY Departement_du_lieu ,Ville';

// on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());

// on compte le nombre de membre stockés dans la base de données
$nb_news = mysql_num_rows($req);

if ($nb_news == 0) {
  echo 'Aucun membre enregistrés.';
}
else {
  // si on a au moins un membre, on l'affiche
  while ($data = mysql_fetch_array($req)) {

    // on décompose la date
    sscanf($data['date'], "%4s-%2s-%2s %2s:%2s:%2s", $an, $mois, $jour, $heure, $min, $sec);
?>
   
<?php  

   
  }
}
// on libère l'espace mémoire alloué à cette requête
mysql_free_result ($req);

// --------------- Etape 2 -----------------
// On écrit les liens vers chacune des pages
// -----------------------------------------
 
// On met dans une variable le nombre de messages qu'on veut par page
$nombreDeMessagesParPage = 20;
// On récupère le nombre total de messages
$retour = mysql_query('SELECT COUNT(*) AS nb_messages FROM membre');
$donnees = mysql_fetch_array($retour);
$totalDesMessages = $donnees['nb_messages'];
// On calcule le nombre de pages à créer
$nombreDePages  = ceil($totalDesMessages / $nombreDeMessagesParPage);
// Puis on fait une boucle pour écrire les liens vers chacune des pages
echo 'Page : ';
for ($i = 1 ; $i <= $nombreDePages ; $i++)
{
    echo '<a href="afichagemembre.php?page=' . $i . '">' . $i . '</a> ';
}
?>
 

 
<?php
 
 
// --------------- Etape 3 ---------------
// Maintenant, on va afficher les messages
// ---------------------------------------
 
if (isset($_GET['page']))

{
        $page = intval($_GET['page']); // On récupère le numéro de la page indiqué dans l'adresse (affichagemembre.php?page=4)
}
else // La variable n'existe pas, c'est la première fois qu'on charge la page
{
        $page = 1; // On se met sur la page 1 (par défaut)
}
 
// On calcule le numéro du premier message qu'on prend pour le LIMIT de MySQL
$premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;
 
$reponse = mysql_query('SELECT * FROM membre ORDER BY Departement_du_lieu, Ville LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage);
 
while ($donnees = mysql_fetch_array($reponse))


{

   
// on affiche les résultats


    echo '<br />login : ' , htmlentities(trim($data['login'])) , '<br />';
    echo 'Email : ' , htmlentities(trim($data['Email'])) , '<br />';
    echo 'Département : ' , htmlentities(trim($data['Departement_du_lieu'])) , '<br / >';
    echo 'Ville : ' , nl2br(htmlentities(trim($data['Ville']))) , '<br />';
    echo 'Date de naissance : ' , htmlentities(trim($data['jour_naissance'])) , '/' , htmlentities(trim($data['mois_naissance'])) ,  htmlentities(trim($data['annee_naissance'])) , '<br />' ;
    echo 'Inscrit le : ' , $jour , '/' , $mois , '/' , $an , ' à ' , $heure , ':' , $min , ':' , $sec ;
   
}
 
mysql_close(); // On n'oublie pas de fermer la connexion à MySQL ;o)
?>

 

Hors ligne

#2 10-04-2010 21:32:44

xTG
GrandGourou
Inscription : 18-06-2009
Messages : 1 127
Site Web

Re : probleme d'inscription de membres

Ligne 5 : en général il n'y a pas de mot de passe mais il y a un utilisateur "root"
Ligne 6 : une base de donnée sans nom n'est pas une base de donnée.

^^

Hors ligne

#3 10-04-2010 21:35:36

pacific04
Membre
Inscription : 09-02-2010
Messages : 12

Re : probleme d'inscription de membres

merci pour ta reponse, mais j'ai volontairement enleve le nom de la base, le mot de passe. le prob ne viens pas de la.

Hors ligne

#4 10-04-2010 21:50:43

xTG
GrandGourou
Inscription : 18-06-2009
Messages : 1 127
Site Web

Re : probleme d'inscription de membres

Ta boucle while alimente $donnees alors qu'à l'intérieur de ta boucle tu utilises $data. smile

Et petit encart, un SELECT * est toujours très déplaisant, il est préférable de lister les champs lorsqu'on les connait.

Hors ligne

#5 10-04-2010 21:57:37

pacific04
Membre
Inscription : 09-02-2010
Messages : 12

Re : probleme d'inscription de membres

desole, mais suis vraiment debutant. ce qui veux dire que si je mets $data partout ou j'ai mis $donnee, je devrait pouvoir recuperer mes donnees ? je vais deja suivre tes conseils et lister mes champs. merci je vais essayer

Hors ligne

#6 11-04-2010 11:20:14

ManicoW
Cowrespondant
Lieu : Tours
Inscription : 08-05-2009
Messages : 192
Site Web

Re : probleme d'inscription de membres

Bonjour,

C'est un peu ca, en fait ligne 82, tu récupère l'enregistrement le mettant dans le tableau $donnees , et a partir de la ligne 91, tu essayer d'afficher l'enregistrement, en lisant dans $data ... forcément, ca ne peut pas fonctionner smile

@+


la v2, c'est tabou, on en viendra tous a bout

Hors ligne

#7 11-04-2010 16:14:11

pacific04
Membre
Inscription : 09-02-2010
Messages : 12

Re : probleme d'inscription de membres

merci a vous deux l'erreur était bien là. encore merci

Hors ligne

#8 11-04-2010 16:15:47

pacific04
Membre
Inscription : 09-02-2010
Messages : 12

Re : probleme d'inscription de membres

je voudrais mettre que cette question est résolu, mais je ne trouve pas ou cliquez.

Hors ligne

Pied de page des forums