Page 1 sur 1

[PHP] Lire une ligne d'un membre dans une BDD

Posté : 04 nov. 2011, 19:38
par Ascla
Bonjour à tous,

J'ai un soucis, je possède un site http://stylecraft.fr (encore en construction) et j'ai fait un espace membre. Jusque la tout vas bien, mais dans mon espace membre, j'ai fait un système de rang, et quand le membre est connecté, j'aimerais qu'il lui dise, Bonjour 'NOM', tu es 'RANG'. Pour le nom j'ai réussis mais pour le rang, non. Voici mon code.
Tu es


 <?php 

		$base = mysql_connect ('**.**.***.***', 'rweiawag_users', '************');
		mysql_select_db ('rweiawag_users', $base);
    
    $sql = 'SELECT * FROM rang';
	echo htmlentities(trim(['rang']));

 ?>
Pour le nom j'ai réussis, car lors de la connexion, j'ai un $_POST['login']; qui prend le login, j'ai juste ensuite à mettre <?php echo htmlentities(trim($_SESSION['login'])); ?> .

Merci de m'éclairer. :priere:

Re: [PHP] Lire une ligne d'un membre dans une BDD

Posté : 04 nov. 2011, 21:38
par ouckileou
$sql = 'SELECT * FROM rang';
echo htmlentities(trim(['rang']));
Ces deux lignes n'ont pas vraiment de sens et en tout cas ne font rien (la premiere est ok mais tu n'executes pas la requete). Va donc voir ce sujet: http://phpdebutant.org/article66.php

Re: [PHP] Lire une ligne d'un membre dans une BDD

Posté : 04 nov. 2011, 21:56
par Ascla
Je n'avais pas fait attention à cette erreur. Donc ce serait
    $sql = 'SELECT rang FROM users';
Mais comment faire pour que sa n'affiche que le rang du joueur connecté, j'ai bien un code à mettre lors de la connexion, non?

Re: [PHP] Lire une ligne d'un membre dans une BDD

Posté : 04 nov. 2011, 23:16
par ouckileou
Ce n'etait pas la principale erreur, ok c'est mieux de selectionner la colonne que tu veux en particulier et non toutes avec l'asterisque, mais bon la tout ce que tu fais c'est stocker une requete SQL (donc une simple chaine de caracteres) dans une variable. Nulle part tu n'executes cette requete sur le serveur de base de donnees.

As-tu jete un coup d'oeil sur le lien que je t'ai donne ?

Re: [PHP] Lire une ligne d'un membre dans une BDD

Posté : 04 nov. 2011, 23:25
par Ascla
Oui j'ai jeté un coup d'œil, donc sa donnerais
 <?php 

                $base = mysql_connect ('**.**.***.***', 'rweiawag_users', '************');
                mysql_select_db ('rweiawag_users', $base);
    
                        $sql = 'SELECT rang FROM users';
			$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());

while($data = mysql_fetch_assoc($req)) 
    { 
    echo $data['rang']; 
    } 

mysql_close(); 
?> 

 ?>
Mais ce code sélectionne tous les membres.

Re: [PHP] Lire une ligne d'un membre dans une BDD

Posté : 04 nov. 2011, 23:53
par ouckileou
Oui, car dans ta requete tu ne filtres pas sur un membre en particulier. Il faut utiliser la clause WHERE, regarde la doc MySQL. Met de cote PHP pour le moment, ecris une requete SQL qui selectionne seulement le rang d'un membre en particulier, et teste la directement sur MySQL (via phpMyADmin par exemple) jusqu'a ce qu'elle marche. Ensuite tu pourras la rentre dynamique en l'integrant dans PHP.

Re: [PHP] Lire une ligne d'un membre dans une BDD

Posté : 05 nov. 2011, 01:02
par Ascla
J'ai essayé de suivre tes conseilles ( si je peux de tutoyer :) ). J'ai inséré ce code:
 <?php 

    // On se connecte à MySQL
		$base = mysql_connect ('**.**.***.***', 'rweiawag_users', '**********');
		mysql_select_db ('rweiawag_users', $base);
    
    $sql = 'SELECT rang FROM users WHERE login Ascla';
	echo $data['rang'];

 ?>
Mais dans ma page j'ai
Bienvenue !
Tu es 
Je n'ai même plus le login après Bienvenue.

Re: [PHP] Lire une ligne d'un membre dans une BDD

Posté : 05 nov. 2011, 01:20
par Ascla
Je viens de créer un compte sur phpfrance histoire de ne pas perdre ce topic.

Re: [PHP] Lire une ligne d'un membre dans une BDD

Posté : 05 nov. 2011, 12:42
par Ascla
Désolé, j'ai trouvé l'erreur, maintenant sa donne:
 <?php 

    // On se connecte à MySQL
		$base = mysql_connect ('**.**.***.***', 'rweiawag_users', '***********');
		mysql_select_db ('rweiawag_users', $base);
    
    $sql = 'SELECT rang FROM users';
	$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
	while($data = mysql_fetch_assoc($req)) 
    { 
	echo $data['rang'];
	}
mysql_close(); 
 ?>
Maintenant, que rajouter à cette ligne
 $sql = 'SELECT rang FROM users';
Si je met WHERE, je dois mettre quoi après?

Re: [PHP] Lire une ligne d'un membre dans une BDD

Posté : 05 nov. 2011, 13:10
par Ascla
C'est bon j'ai réussis, merci à toi.

J'ai mis ceci:
$sql = 'SELECT rang FROM users WHERE login="'.mysql_escape_string($_SESSION['login']).'"';