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

Fermé
bloutix - 27 juin 2008 à 10:20
 bloutix - 29 juin 2008 à 16:32
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
A voir également:

1 réponse

Xei Messages postés 156 Date d'inscription mardi 20 mai 2008 Statut Membre Dernière intervention 21 février 2009 56
27 juin 2008 à 10:43
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
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
29 juin 2008 à 16:32
merci de m'aidez SVP
0