Page 1 sur 1

Prbleme avec le "echo"

Posté : 20 août 2010, 20:01
par dexon
Bonjour/bonsoir ,

je voudrais savoir comme afficher le contenue d'une table sql ... je débute donc je connais rien dutout donc je cherche bocoup sur le web et bon mais truque marche pas... je vous montre mon code :
<!-- Selection du character -->
<?php include 'includes/config.php';
		$char=mysql_query("SELECT * FROM characters WHERE name=''");
		
		echo $char;
?>
Donc je vous explique un peu. Je voudrais que le nom du compte s'afiche quand on visite la page :

Code : Tout sélectionner

www.MONSITE.com/compte/compte.php?char=NOM DU COMPTE
Merci de votre aide.

(le include cofig.php est le code de connexion à ma base de donnée.)
Code du "config.php"
<?php
$host = "localhost";
$user = "root";
$pass = "********";
$database = "Web";
$conn = mysql_connect($host,$user,$pass);
mysql_select_db($database) or die(mysql_error());
?>

Re: Prbleme avec le "echo"

Posté : 20 août 2010, 20:10
par xTG
mysql_query() te renvoie une ressource, cette ressource n'est pas le résultat formatté, à toi de l'interpréter avec des fonctions telles que mysql_fetch_array(), mysql_fetch_row() ou encore mysql_result().

Re: Prbleme avec le "echo"

Posté : 20 août 2010, 20:31
par dexon
Oui bah j'ai essayé
<?php include 'includes/config.php';
		$char=mysql_query("SELECT name FROM characters");
		while ( $result = mysql_fetch_array($char)){
		echo $result[name].'<br />';
		}
		
?>
Mais sa me marque tout les nom de compte >.< même si je marque

Code : Tout sélectionner

www.MONSITE.com/compte/compte.php?char=NOM DU COMPTE

Re: Prbleme avec le "echo"

Posté : 20 août 2010, 20:33
par AB
Et puis il te faut récupérer la valeur de ta variable $_GET contenu dans l'url et qui porte le nom de char dans ton exemple

Donc
//Récupération de la variable $_GET
$nom_de_compte = isset($_GET['char'])? $_GET['char'] : null;

// Si cette variable est définie et non vide
if(!empty($nom_de_compte))

{
    //connexion à ta base
    include 'includes/config.php';

    // Ecriture de la requête
   $query = "SELECT * FROM characters WHERE name='".mysql_real_escape_string($nom_de_compte)."'";

    // exécution de la requête
    $ressource = mysql_query($query) or die(mysql_error());

    // Exploitation de la ressource 
    if($ressource)
        {
            while ($result = mysql_fetch_assoc($ressource))
            echo $result['name'].'<br />';
        }

}
A noter que je suppose qu'il ne peut y avoir qu'un seul nom de compte portant le même nom. Donc une seul ligne retournée et dans ce cas le while pour lister la ressource est inutile. Mais je le laisse pour montrer la syntaxe générique.

Re: Prbleme avec le "echo"

Posté : 20 août 2010, 20:55
par dexon
Merci beaucoup :D

Re: Prbleme avec le "echo"

Posté : 20 août 2010, 21:13
par AB
En phase d'exploitation, supprime le "or die(mysql_error())" qui peut donner des info aux éventuels pirates. Mais laisse le en phase de développement pour t'indiquer les erreurs dans ton code.

Si c'est résolu et que tu as posté ton premier message en étant inscrit, tu devrais pouvoir cliquer sur le bouton à cocher en fasse d'un message pour indiquer que ce sujet contient une solution :wink:

Sinon pour info, pour débuter et t'exercer tu peux faire les exercices de http://www.phpdebutant.org/ colonne de droite, il y a aussi des tutos intéressants sur le site du zero.

A +