[Problème]Requète SQL et sous requète en php

bloutix -  
 bloutix -
Bonjour,


Voila j'ai créer un script php qui doit créer une entré dans la table character_inventory de ma base de données mais avec l'id du joueurs qui est récupérer avec son pseudo, heu enfin vous allez comprendre:

index.php
<html>
<form method="POST" action="trans.php">
<center>
<input type="text" name="pseudo" size="25" value="pseudo du personnage" maxlength="50"><br>
</center>
</form>
</html>

trans.php
<?php
// On commence par récupérer les champs
if(isset($_POST['pseudo'])) $pseudo=$_POST['pseudo'];
else $pseudo="";
if(empty($pseudo))

//vérification si le champs pseudo est vide
{
echo '<font color="red">Attention, Merci de spécifier le pseudo de votre <b>personnage</b></font>';
}

// Aucun champ n'est vide, on peut enregistrer dans la table
else
{
// connexion à la base
$db = mysql_connect('localhost', 'user', 'mdp') or die('Erreur de connexion '.mysql_error());
// sélection de la base

mysql_select_db('characters',$db) or die('Erreur de selection '.mysql_error());

// on écrit la requête sql
$guid = "SELECT guid FROM characters WHERE name = '$pseudo'";
$sql = "INSERT INTO character_inventory(guid, bag, slot, item, item_template) VALUES('$guid','0',`70`,'3','12299')";

// on insère les informations du formulaire dans la table
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());

// on affiche le résultat pour le visiteur
echo 'La transaction a été effectué avec succès, retrouvez votre objet dans votre bank.';

mysql_close(); // on ferme la connexion
}
?>

Voila je sais qu'il y a une erreur sinon je ne posterai pas mais voila jevoudrai que vous m'aidiez à la resoudre, celle-ci est au niveau de la requete $sql et aussi peut être $guid

merci d'avance

1 réponse

Xei Messages postés 156 Date d'inscription   Statut Membre Dernière intervention   56
 
Bonjour,

Dans ta requête suivante :
$sql = "INSERT INTO character_inventory(guid, bag, slot, item, item_template) VALUES('$guid','0',`70`,'3','12299')";

Pourquoi entre tu des valeur directement?
Si tu fais cela :
$sql = "INSERT INTO character_inventory(guid, bag, slot, item, item_template) VALUES('$guid','$bag',`$slot`,'$item','$item_template')";

Essaie et di moi si c'est mieux
0
bloutix
 
bah non le problème c'est qu'il faut récupérer le guid correspondant au pseudo à l'aide d'une requète de ce genre:

SELECT guid FROM characters WHERE name= "$pseudo"

et ensuite il faudrait que la valeur du guid correspondant au pseudo soit ajouter dans la table character_inventory dans la colone guid.

Pour info: les autres valeurs correspondent au jeu et ne sont en aucun cas le problème
ce script sera un script type pour que je puissent créer une mini boutique dans cette exemple qui est malheureusement éronné la personne entrant le pseudo du personnage aura l'objet dont l'item_template est spécifié dans son inventaire.
0
bloutix > bloutix
 
merci de m'aidez SVP
0