MySQL + Affichage d'un champ

Fermé
Robin0505 Messages postés 3 Date d'inscription mardi 17 mars 2009 Statut Membre Dernière intervention 28 mai 2009 - 17 mars 2009 à 13:21
hani_ Messages postés 333 Date d'inscription lundi 22 septembre 2008 Statut Membre Dernière intervention 18 novembre 2009 - 17 mars 2009 à 13:45
Bonjour,
Je rencontre un problème lors du développement d'un script PHP/MYSQL.
Le But de ce script :
Après séléction du nom d'un membre du site par liste déroulante, l'administrateur doit pouvoir en voir toutes les informations relatives au membre.

Voici la structure de ma table membre :
CREATE TABLE `membre` (
`id_membre` int(10) NOT NULL auto_increment,
`id_service` int(10) NOT NULL,
`nom_membre` varchar(250) collate latin1_general_cs NOT NULL,
`prenom_membre` varchar(250) collate latin1_general_cs NOT NULL,
`fonction_membre` varchar(250) collate latin1_general_cs NOT NULL,
`telephone_membre` varchar(250) collate latin1_general_cs NOT NULL,
`pays_membre` varchar(250) collate latin1_general_cs NOT NULL,
`adresse_membre` varchar(250) collate latin1_general_cs NOT NULL,
`cp_membre` varchar(5) collate latin1_general_cs NOT NULL,
`ville_membre` varchar(250) collate latin1_general_cs NOT NULL,
`photo_membre` varchar(250) collate latin1_general_cs NOT NULL,
`actif_membre` enum('O','N') collate latin1_general_cs NOT NULL default 'O',
PRIMARY KEY (`id_membre`),
KEY `id_service` (`id_service`)
) ENGINE=MyISAM AUTO_INCREMENT=18 DEFAULT CHARSET=latin1 COLLATE=latin1_general_cs;


Voici ma page de séléction ICI TOUT FONCTIONNE
<?php


include ('settings.php');

// Connexion à MySql
$connexSql = mysql_connect($hote , $utilisateur, $motDePasse);
if (!$connexSql) {
die('Non connecté : ' . mysql_error());
}

// Connexion à la base de données
$dbConnect = mysql_select_db($baseDeDonnees, $connexSql);
if (!$dbConnect) {
die ('Impossible d\'utiliser la base : ' . mysql_error());
}

//requête SQL:
$sql = "SELECT * FROM membre ORDER BY nom_membre" ;
//$sql = "SELECT * FROM membre WHERE id_personne = '".$id."'" ;

//exécution de la requête:
$requete = mysql_query( $sql, $connexSql ) ;

//affichage des données:
echo "<form action= formulaire2.php method= post >" ;
echo "<select name = nom_membre >" ;
while( $result = mysql_fetch_object( $requete ) )
{
echo "<option>".$result->nom_membre."</option>\n" ;
}

echo "</select>\n" ;
echo "<input type =submit VALUE=ok class=submit>" ;
echo "</form>" ;
?>


Voici la page qui devra m'afficher les informations. Ici, j'arrive à afficher le nom (qui m'a enfait été envoyé précedemment) mais je n'arrive pas à afficher le prenom qui lui est associé...
<?php


include ('settings.php');

// Connexion à MySql
$connexSql = mysql_connect($hote , $utilisateur, $motDePasse);
if (!$connexSql) {
die('Non connecté : ' . mysql_error());
}

// Connexion à la base de données
$dbConnect = mysql_select_db($baseDeDonnees, $connexSql);
if (!$dbConnect) {
die ('Impossible d\'utiliser la base : ' . mysql_error());
}

$nom = ucfirst ($_POST['nom_membre']);

$sql = "SELECT * FROM membre WHERE nom_membre = '".$nom."'" ;
$requete = mysql_query( $sql, $connexSql ) ;

//affichage des données:
echo "<center>" ;
echo "<div>" ;


echo "<b>".$nom."</b>" ;

$result = $requete ;
echo "<u>".$result->prenom_membre."</u>" ;

echo "</div>" ;
echo "</center>" ;

?>

Merci d'avance pour votre aide :)
A voir également:

3 réponses

hani_ Messages postés 333 Date d'inscription lundi 22 septembre 2008 Statut Membre Dernière intervention 18 novembre 2009 20
17 mars 2009 à 13:42
echo "<u>".$result->prenom_membre."</u>" ;

A la place de

$result->prenom_membre 


si tu utilisais

$result['prenom_membre'] 


cela n'irait-il pas mieux ?
0
Robin0505 Messages postés 3 Date d'inscription mardi 17 mars 2009 Statut Membre Dernière intervention 28 mai 2009
17 mars 2009 à 13:42
Problème Résolu, Merci ^^

<?php


include ('settings.php');

// Connexion à MySql
$connexSql = mysql_connect($hote , $utilisateur, $motDePasse);
if (!$connexSql) {
die('Non connecté : ' . mysql_error());
}

// Connexion à la base de données
$dbConnect = mysql_select_db($baseDeDonnees, $connexSql);
if (!$dbConnect) {
die ('Impossible d\'utiliser la base : ' . mysql_error());
}

$nom = ucfirst ($_POST['nom_membre']);

$sql = "SELECT * FROM membre WHERE nom_membre = '".$nom."'" ;
$requete = mysql_query( $sql, $connexSql ) ;

//affichage des données:
echo "<center>" ;
echo "<div>" ;


echo "<b>".$nom."</b>" ;
while($data = mysql_fetch_array($requete))
{
echo "<u>".$data['prenom_membre']."</u>" ;

echo "</div>" ;
echo "</center>" ;
}

?>
0
hani_ Messages postés 333 Date d'inscription lundi 22 septembre 2008 Statut Membre Dernière intervention 18 novembre 2009 20
17 mars 2009 à 13:45
manquais aussi le while effectivement

par contre tu vas avoir un probleme :

echo "<center>" ;
echo "<div>" ;


echo "<b>".$nom."</b>" ;
while($data = mysql_fetch_array($requete))
{
echo "<u>".$data['prenom_membre']."</u>" ;

echo "</div>" ;
echo "</center>" ;
} 


tu ouvre le center et le div UNE et UNE SEULE FOIS alors que tu le ferme dans le while Donc autant de fois qu'il y a de case non vide dans le array (tableau)

pour le moment il y en a peut être qu'une seule, mais mieux vaut anticiper les erreurs plutôt que de les chercher des heures durant par la suite...
0