Erreur toute bete !

Anoo -  
 Anoo -
Bonjour,

Je m'entraine au PHP et voici mon code.

------------------
<?php

session_start();

mysql_connect($mysql["host"], $mysql["username"], $mysql["password"]);
mysql_select_db($mysql["name"]);
$commande = mysql_query("SELECT id_item FROM items WHERE id_item = 44 ");
?>
L'id item est : <?php $commande; ?>
------------------

En resultat j'ai le texte :

L'id item est :

Cependant le numero 44 ne s'affiche pas ! Pourtant la table s'appelle bien items et l'item avec l'id_item 44 existe bien.
Ou est le probleme ?

18 réponses

jeangilles Messages postés 816 Date d'inscription   Statut Membre Dernière intervention   186
 
mysql_connect($mysql["host"], $mysql["username"], $mysql["password"]) or die(mysql_error());
mysql_select_db($mysql["name"])or die(mysql_error());
$commande = mysql_query("SELECT id_item FROM items WHERE id_item = 44 ")or die(mysql_error());
$reponse= mysql_fetch_array ($commande );
$id_item=$reponse[0];
echo ("L'id item est :$id_item");
1
Heryu Messages postés 645 Statut Membre 62
 
Toute bête oui, il te manque un .commande['$id']. à la place de ton $commande et un echo !

<?php echo ("L'id item est : .commande['$id'].)" ?>

(pas sur du tout du contenu avec le .commande mais c'est un truc comme ça, au pire, essaye juste avec <?php echo ("L'id item est : $commande") ?>
0
Anoo
 
J'ai change la derniere ligne en :
<?php echo ("L'id item est : $commande") ?>

Mais rien n'y fait...
Le meme probleme.
0
Heryu Messages postés 645 Statut Membre 62
 
Normalement, je pense que t'es obligé de mettre un while ect...
Je suis pas chez moi donc je peux pas te donner ce que moi j'ai fait mais regarde sur le site du zéro et fait un système de while ! T'es sur la bonne voie !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Heryu Messages postés 645 Statut Membre 62
 
Autre chose, tes paramètres de connexion, c'est vraiment ce que t'as mis ou c'est juste modifié pour le forum ? Parceque c'est pas bon du tout et dans ce cas, je te réinvite à aller voir la section PHP du site du zéro !!
0
Heryu Messages postés 645 Statut Membre 62
 
Hum, oui c'est ce que j'allais dire ! :p
0
Anoo
 
Merci ! !

Ca marche !
Mais a quoi sert le $id_item=$reponse[0]; ? Sert-il a donner la premiere information contenu dans le fetch ?
Donc si je met 1, je n'aurai rien dans ce cas present ?
0
Heryu Messages postés 645 Statut Membre 62
 
Exactement !

Au fait, je me serais planter alors pour les paramètre de connexion ? Sniouf :'(
0
jeangilles Messages postés 816 Date d'inscription   Statut Membre Dernière intervention   186
 
"Mais a quoi sert le $id_item=$reponse[0]; ? Sert-il a donner la premiere information contenu dans le fetch ?
Donc si je met 1, je n'aurai rien dans ce cas present ?"

Tout à fait ^^

le fetch_array, comme son nom l'indique, te renvoit la ligne récupérée dans la BDD sous forme de tableau
donc en faisant le [0], on récupère la première case du tableau, [1] la seconde, etc ...
0
Heryu Messages postés 645 Statut Membre 62
 
Un petit "Résolu" peut-être ?
0
Anoo
 
Heryu, je te rassure, tu avais raison :) !
J'ai rajoute un bout de code.

Je suis maintenant confronte a un autre probleme.
En effet, je veux retranscrire toutes les donnees de ma Session sur un tableau.
J'ai donc le code suivant :

if(is_numeric($_GET["id"]))
{
mysql_connect($mysql["host"], $mysql["username"], $mysql["password"]);
mysql_select_db($mysql["name"]);
$items_wow = mysql_query("SELECT * FROM items_wow WHERE id_cat = ".$_GET["id"]." ORDER BY name");
if(mysql_num_rows($items_wow) == 0)
{
echo "<div class=\"info\">Aucun item dans la catégorie</div>";
?>
<table width="100%">
<tr>
<th>Image</th>
<th>Article</th>
<th>Prix (crédit)</th>
<th>Quantité</th>
<th>Total</th>
</tr>
<?php
mysql_connect($mysql["host"], $mysql["username"], $mysql["password"]);
mysql_select_db($mysql["name"]);
$total = 0;
for($i = 0; $i < count($_SESSION["id_item"]); $i++)
{
if($_SESSION["quantite"][$i] > 0)
{
$commande = mysql_query("SELECT * FROM items WHERE id_item = ".$_SESSION["id_item"][$i]." ORDER BY id_item DESC");
$row = mysql_fetch_assoc($commande);
$categorie_base = $row["id_cat"];
while($categorie_base != -1)
{
$catddd = mysql_query("SELECT * FROM categories WHERE id_cat = '".$categorie_base."'");
$row2 = mysql_fetch_assoc($catddd);
if($row2["scat"]!= -1)
{
$categorie_base = $row2["id_scat"];
$name_categorie_base = $row2["name"];
}

}
echo "<tr>"
. " <td><img src=\"img/diablo/".$row["img"]."\" /></td>"
. " <td>".stripslashes($row["name"])." [".$name_categorie_base."]</td>"
. " <td>".$row["price"]."</td>"
. " <td><select name=\"quantite[]\">";
if($row["quantite"] < $_SESSION["quantite"][$i])
{
$quantite = $row["quantite"];
$_SESSION["quantite"][$i] = $quantite;
}
else
{
$quantite = $_SESSION["quantite"][$i];
}
if($row["quantite"] > 100)
{
$iii = 100;
} else { $iii = $row["quantite"]; }
for($j = 0; $j <= $iii; $j++){
if($j == $quantite)
{
echo "<option value=\"".$j."\" selected=\"selected\">".$j."</option>";
}
else
{
echo "<option value=\"".$j."\">".$j."</option>";
}
}
$total += $row["price"]*$quantite;
echo " </select>"
. " </td>"
. " <td>".$row["price"]*$_SESSION["quantite"][$i]."</td>"
. "</tr>";
}
}

?>

------------------

Le probleme est que seul le premier element de ma Session s'affiche sur la ligne. et je ne trouve pas le probleme dans mes boucles... Y a t'il un probleme qui stop la boucle ?
Je cherchai
0
Heryu Messages postés 645 Statut Membre 62
 
C'est une seule et même page ça ? Dans ce cas, pourquoi mySQL est connecté deux fois ? Une seule fois suffit ^^ (je pense pas que ton problème vient de là)

Sinon désolé, c'est un gros tas de code et j'ai un peu de mal à traduire le tout (je serais sur mon pc avec le matériel qu'il faut je dis pas mais c'est pas le cas la ^^) ! Peut-être que jeangilles sais :p
0
Anoo
 
Dans la precipitation j'ai double la connection
Merci :)

C'est tres sympa de ta part d'avoir pris du temps pour m'aider.
Encore merci !
0
Heryu Messages postés 645 Statut Membre 62
 
T'as résolu ton problème ?
0
Anoo
 
non :/
0
Heryu Messages postés 645 Statut Membre 62
 
Lol ok, bah patiente, quelqu'un viendra bien t'aider ^^
0
Anoo
 
S'il a le courage d'affronter le gros pave du dessus :)
En attendant, je continu a m'arracher les cheveux :D
0
Anoo
 
Je suis parvenu a afficher tous les items !!!

Simplement en enlevant la ligne

if($_SESSION["quantite"][$i] > 0)
{

En fait, je crois que quand la boucle est lu pour la premiere fois, la valeur $_SESSION["quantite"] devient nulle a la fin de celle-ci et donc la boucle ne se repete pas, ce qui fait que seul le premier element s'affiche.

Je n'arrive pas a trouver ou se fait ce changement de valeur dans la Session.

Une idee Heryu ?
0