Erreur toute bete !
Anoo
-
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 ?
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 ?
A voir également:
- Erreur toute bete !
- Un pense-bête - Guide
- Bête d'orage écran ✓ - Forum Matériel & Système
- Erreur upes 1025 - Forum Téléviseurs
- Erreur t32 ✓ - Forum Livebox
- Erreur 3000 france tv - Forum Lecteurs et supports vidéo
18 réponses
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");
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");
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") ?>
<?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") ?>
J'ai change la derniere ligne en :
<?php echo ("L'id item est : $commande") ?>
Mais rien n'y fait...
Le meme probleme.
<?php echo ("L'id item est : $commande") ?>
Mais rien n'y fait...
Le meme probleme.
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 !
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 !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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 !!
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 ?
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 ?
"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 ...
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 ...
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
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
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
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
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 !
Merci :)
C'est tres sympa de ta part d'avoir pris du temps pour m'aider.
Encore merci !
S'il a le courage d'affronter le gros pave du dessus :)
En attendant, je continu a m'arracher les cheveux :D
En attendant, je continu a m'arracher les cheveux :D
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 ?
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 ?