Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Administration
Administration Forum d'entraide sur l'administration de MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/06/2006, 09h35   #1
Nouveau Membre du Club
 
Inscription : avril 2005
Messages : 144
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : avril 2005
Messages : 144
Points : 39
Points : 39
Envoyer un message via MSN à will89
Par défaut [PHP/MySQL] pb avec la commande mysql_fetch_object()

Salut à tous, je suis en train de concevoir le panneau d'administration d'un site dynamique en PHP/MySQL. La page surlaquelle je travaille permet d'ajouter un produit dans la base de donnée ou de le modifier. Un produit appartient à une ou plusieurs catégories, c'est pourquoi j'ai une table procat.
Je suis actuellement bloqué car je voudrais que dans le cas de la modif d'un article, les valeurs par défaut des checkbox de sélection de la catégorie soient cochés si nécessaire. Bref voici le code :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
<td><?
            $select3 = "SELECT * FROM categorie WHERE idCategorie BETWEEN '1' And '5'";
            $query3 = mysql_query($select3);
            while ($row3 = mysql_fetch_object($query3)) {
				echo "<input type='checkbox' name='categorie[]' value=".$row3->idCategorie;
                IF ($type == "modif") {
                    $select_cat = "SELECT idCategorie FROM procat WHERE idProduit=".$idProduit;
                    $query_cat = mysql_query($select_cat);
                    while ($row_cat = mysql_fetch_object($query_cat)) {
                    IF ($row3->idCategorie == $row_cat->idCategorie) {
                        echo " checked";
                    }}
                }
                echo ">".$row3->Designation."<br>\n";
            } 
            ?>
       </td>
et voici ce que j'obtiens à l'affichage :
Citation:
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-8\www\remi\formart.php on line 128
>Tuniques / Pantalons
will89 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/06/2006, 09h54   #2
Provisoirement toléré
 
Avatar de Maximilian
 
Inscription : juin 2003
Messages : 2 622
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 2 622
Points : 2 505
Points : 2 505
Bonjour,

Merci de consulter la FAQ et de chercher un peu avant de poster :

http://php.developpez.com/faq/?page=...ysql_ressource

Je déplace dans le forum PHP.
__________________
Pensez au bouton
Maximilian est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/06/2006, 17h37   #3
Nouveau Membre du Club
 
Inscription : avril 2005
Messages : 144
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : avril 2005
Messages : 144
Points : 39
Points : 39
Envoyer un message via MSN à will89
Bon j'ai executé comme dis dans la FAQ (en rajoutant exit(mysql-error()) et voici ce que ça m'affiche
Citation:
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-8\www\remi\gestion\formart.php on line 128
Unknown column '2193BR' in 'where clause'
Cool, j'ai trouvé mon erreur.... Le hic, c'est le contenu de la table procat :


Bref, je vois toujours pas qu'est ce qui va pas...
will89 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/06/2006, 17h55   #4
Membre Expert
 
Inscription : avril 2006
Messages : 1 338
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : avril 2006
Messages : 1 338
Points : 1 315
Points : 1 315
fait un echo de tes requete avan de les envoyer a ta base...
et teste la requete sur ta base directement pour voir si ca vien de la requete ou du php
__________________
Stay in Bed .. Save Energy
boo64 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/06/2006, 17h58   #5
Nouveau Membre du Club
 
Inscription : avril 2005
Messages : 144
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : avril 2005
Messages : 144
Points : 39
Points : 39
Envoyer un message via MSN à will89
La requete marche sans probleme je l'ai deja testé plusieurs fois... elle me renvoi les trois ligne avec comme idProduit 2193BR
will89 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/06/2006, 18h58   #6
Membre Expert
 
Inscription : avril 2006
Messages : 1 338
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : avril 2006
Messages : 1 338
Points : 1 315
Points : 1 315
quesque t'affiche les echo alor
__________________
Stay in Bed .. Save Energy
boo64 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/06/2006, 14h51   #7
Nouveau Membre du Club
 
Inscription : avril 2005
Messages : 144
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : avril 2005
Messages : 144
Points : 39
Points : 39
Envoyer un message via MSN à will89
J'ai rajouté echo dans mon code comme ceci :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$select3 = "SELECT * FROM categorie WHERE idCategorie BETWEEN '1' And '5'";
            $query3 = mysql_query($select3);
			$select_cat = "SELECT * FROM procat WHERE idProduit=".$idProduit;
            $query_cat = mysql_query($select_cat);
			echo $select_cat;
			while ($row3 = mysql_fetch_object($query3)) {
                echo "<p><input type='checkbox' name='categorie[]' value=".$row3->idCategorie;
                IF ($type == "modif") {
                    while ($row_cat = (mysql_fetch_object($query_cat) OR exit(mysql_error()))) {
                    IF ($row_cat->idCategorie == $row3->idCategorie) {
                        echo " checked";
                    }}
                }
                echo ">".$row3->Designation."<br>\n";
            }
et voici ce que ça affiche :

Citation:
SELECT * FROM procat WHERE idProduit=2193BR
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-8\www\remi\gestion\formart.php on line 130
Unknown column '2193BR' in 'where clause'
Je vois d'où viens l'erreur... comme le champ idProduit est un alphanumérique, il faudrait que je puisse rajouter des cotes autour de idProduit... par contre je vois pas du tout comment faire.... Qqn pourrait me donner un coup de main...
will89 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/06/2006, 16h29   #8
Membre Expert
 
Inscription : avril 2006
Messages : 1 338
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : avril 2006
Messages : 1 338
Points : 1 315
Points : 1 315
Code :
$select_cat = "SELECT * FROM procat WHERE idProduit='$idProduit'";
comme ca tout simplement ou comme ca:
Code :
1
2
 
$select_cat = "SELECT * FROM procat WHERE idProduit='".$idProduit."'";
__________________
Stay in Bed .. Save Energy
boo64 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h38.


 
 
 
 
Partenaires

Hébergement Web