Utiliser donnée table Mysql en variable php
Résolu
Bonjour,
Je souhaiterais savoir comment faire pour récupérer une donnée d'une table mysql pour ensuite l'utiliser comme variable php.
La table iConomy se présente sous la forme:
Avec un formulaire php je récupère l'username:
Ensuite je me connecte à la base sur une autre page:
Mais après je suis bloqué, comment faire pour récupérer la valeur id de la table, le nom de l'utilisateur grâce au formulaire , ajouter 500 à balance et 0 à hidden, ou alors ajouter 500 à balance ?
Merci d'avance :)
édit : infos perso.
Je souhaiterais savoir comment faire pour récupérer une donnée d'une table mysql pour ensuite l'utiliser comme variable php.
La table iConomy se présente sous la forme:
id : ***** username : ***** balance: ***** hidden : 0
Avec un formulaire php je récupère l'username:
<form method="post" action="allopo.php"> Pseudo: <input type="text" name="Pseudo" size="45" /> <br /> <input type="submit" value="Confirmer" /> </form>
Ensuite je me connecte à la base sur une autre page:
<?php
//Reportage erreures php
error_reporting(E_ALL);
//Infos Database
$dbhost = 'db4free.net';
$dbuser = 'iteush';
$dbpass = '5Hapower';
$dbname = 'minesword';
$dbtable = 'iConomy';
//Connexion à la base
$player = $_POST['Pseudo'];
$conn = mysql_connect ($dbhost, $dbuser, $dbpass) or die ('Error: ' . mysql_error());
mysql_select_db($dbname) or die(mysql_error()) ;
$query = "SELECT * FROM 'iConomy'";
$result = mysql_query($query, $link) or die($query . " - " . mysql_error());
?>
Mais après je suis bloqué, comment faire pour récupérer la valeur id de la table, le nom de l'utilisateur grâce au formulaire , ajouter 500 à balance et 0 à hidden, ou alors ajouter 500 à balance ?
Merci d'avance :)
édit : infos perso.
4 réponses
-
Merci :D
Sauf que maintenant j'obtiens çaNotice: Undefined index: id in /var/www/site/site.com/blabla.php on line 17
Blala.php est la page où j'ai mit le code, le formulaire est sur une autre. Est-ce la cause du bug ?-
ben ça dépend , tu dois passer par le formulaire pour qu'il n'y ait pas d'erreur , c'est grâce à la valeur de l'input que le php peut faire ses requêtes .
donc soit tu as été sur la page sans passer par le formulaire soit c'est autre chose .
la page allopo.php c'est quoi ? c'est l'ancien blabla.php ? -
-
-
-
tu peux utiliser la fonction header que si aucune donnée n'a déjà été envoyé et afficher dans le navigateur , ce qui veut dire que tu ne dois pas faire d'echo ou même mettre le <html> avant de l'exécuter sinon tu auras cette erreur .
tu peux faire une redirection en javascript ou simplement en html avec un meta refresh .
-
-
dans la ligne :
$result = mysql_query($query, $link) or die($query . " - " . mysql_error());
tu utilises la variable $link alors que ça devrait être $conn -
Ah oui les identifiants, j'y avais pensé en plus. -.-
Merci pour ton code mais quand je met mon pseudo dans le formulaire j'obtient:Notice: Undefined variable: link in /var/www/site/site.com/blabla.php on line 15 Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /var/www/site/site.com/allopo.php on line 15 SELECT * FROM iConomy WHERE pseudo='iTeush' -
Comment résoudre ça ?
Merci d'avance :) -
Fais attention tu as laisser tes identifiants de connexion dans ton post ! modifies ça !
Sinon par rapport à ton problème
modifies :
$query = "SELECT * FROM 'iConomy'";
par
$query = "SELECT * FROM iConomy WHERE pseudo='".$player."'";
comme ça on aura que les informations du membre qui s'appelle selon l'input .
et ensuite rajoutes à la suite de ton code :
$row = mysql_fetch_row($result); /* pour ne récuperer qu'une seule ligne , pour en récuperer plusieurs on utilise mysql_fetch_array */
echo 'Salut'. $row['username'] . ' ta balance est de ' . $row['balance'] . 'on va y ajouter 500';
mysql_query("UPDATE iConomy SET balance=balance+500 WHERE id=".$row['id']); /* on ajoute 500 a la balance qu'il y a dans la bdd pour le joueur ayant l'id qu'on a récuperer dans la bdd , on pouvait le faire avec pseudo mais il est mieux d'utiliser la clé primaire . */