[RESOLU] probleme pour le value d'une balise select-> option

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] probleme pour le value d'une balise select-> option

Re: [RESOLU] probleme pour le value d'une balise select-> op

par Saian » 23 nov. 2012, 12:08

Affiche la et teste la directement dans phpmyadmin si nécessaire.
Si une requête retourne false c'est qu'il y a une erreur dedans.
Quelle est la solution la plus simple pour comprendre ?
C'est de l'afficher. Déjà tu peux la controler visuellement pour voir si rien ne cloche. Si tu ne vois pas le problème tu peux alors la tester dans phpmyadmin pour voir l'erreur.
Tu peux aussi ajouter un or die(mysql_error()) derrière le mysql_query(). Ainsi tu auras directement l'erreur à l'écran !

Re: [RESOLU] probleme pour le value d'une balise select-> op

par pandore1807 » 23 nov. 2012, 12:05

et le message d'erreur quand je fais un echo des deux :

Object of class stdClass could not be converted to string

Re: [RESOLU] probleme pour le value d'une balise select-> op

par pandore1807 » 23 nov. 2012, 12:03

apparemment c cette requete :

Code : Tout sélectionner

$requete10 = "SELECT * FROM bien WHERE id = '".$_GET['id']."'"; $etatcatego = mysql_fetch_object(mysql_query($requete10));
pourtant c'est la même que celle-ci :

Code : Tout sélectionner

<select id="catego" name="catego"> <?php $requete6 = "SELECT * FROM categorie"; $categories2 = mysql_query($requete6); $requete7 = "SELECT * FROM bien WHERE id = '".$_GET['id']."'"; $biens = mysql_fetch_object(mysql_query($requete7)); while ($categorie2 = mysql_fetch_object($categories2)): ?> <option <?php echo $biens->Categorie == $categorie2->Categorie_cat ? 'selected="selected"' : null; ?> value="<?php echo $categorie2->Categorie_cat; ?>"><?php echo $categorie2->Categorie_cat; ?></option> <?php endwhile; ?> </select>

Re: [RESOLU] probleme pour le value d'une balise select-> op

par Saian » 23 nov. 2012, 11:56

Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in
Et ça veut dire quoi ce message ?
Ça veut dire que mysql_query n'a pas retourné une ressource mysql valide. Je suppose donc que ça t'a retourné false, ce qui veut dire que tu as une erreur dans la requête.
Affiche la et teste la directement dans phpmyadmin si nécessaire.

Re: [RESOLU] probleme pour le value d'une balise select-> op

par pandore1807 » 23 nov. 2012, 11:46

re lol ton code fonctionne bien mais j'arrive pas à le refaire pour un autre select de la meme page, il me met comme erreur :

Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in

Code : Tout sélectionner

<select id="etavente" name="etavente"> <?php $requete11 = "SELECT * FROM etatvente"; $etats = mysql_query($requete11); $requete10 = "SELECT * FROM bien WHERE id = '".$_GET['id']."'"; $etatcatego = mysql_fetch_object(mysql_query($requete10)); while ($etats = mysql_fetch_object($etats)): ?> <option <?php echo $etatcatego->Etat_de_la_vente == $etats->etat ? 'selected="selected"' : null; ?> value="<?php echo $etats->etat; ?>"><?php echo $etats->etat; ?></option> <?php endwhile; ?> </select>

Re: probleme pour le value d'une balise select-> option

par pandore1807 » 22 nov. 2012, 01:05

super merci beaucoup.

suis encore débutant lol désolé

Re: probleme pour le value d'une balise select-> option

par Saian » 22 nov. 2012, 00:49

C'est ce que j'essayais de t'expliquer. En l'écrivant ça sera plus simple !
<?php
$requete = "SELECT * FROM categorie";
$categories = mysql_query($requete);

$requete = "SELECT * FROM bien WHERE id = '".$_GET['id']."'";
$bien = mysql_fetch_object(mysql_query($requete));
?>
<tr>
  <td>Catégorie :
    <select id="catego" name="catego">
      <?php while ($categorie = mysql_fetch_object($categories)): ?>
      <option <?php echo $bien->categorieID == $categorie->id ? 'selected="selected"' : null; ?> value="<?php echo $categorie->id; ?>"><?php echo $categorie->Categorie_cat; ?></option>
      <?php endwhile; ?>

Re: probleme pour le value d'une balise select-> option

par pandore1807 » 22 nov. 2012, 00:28

merci pour ton explication,

ca marche mais mon soucis c que je veux afficher toute la liste des catégories

tout en sélectionnant la catégorie dans laquelle ce trouve le bien.

Re: probleme pour le value d'une balise select-> option

par Saian » 21 nov. 2012, 13:39

Tu ne peux pas comparer une chaine $row['id'] avec un résultat mysql_query.
Il faut que tu extrais le résultat de $selected_categorie.

EDIT pour expliciter un peu mieux mon propos, si tu avais vraiment l'id de la catégorie tu aurais $selected_categorie = 6 et non Resource id #6.
Tu devrais avoir quelque chose dans le genre :
$requete5 = 'SELECT categorieID FROM bien WHERE id = '.$_GET['id'];// avec le WHERE sinon c'est la catégorie de quel bien ?
$result5 = mysql_query($requete5);
$bien = mysql_fetch_object($result5);
$selected_categorie = $bien->categorieID;
De plus tu as déjà une requête qui sélectionne le bien donc pas la peine de faire une requête juste pour extraire categorieID, le categorieID du bien étant porté par le bien.
D'après ton code il te suffit de faire le test ainsi :
if ($row['id'] == $bien['categorieID']) { 

Re: probleme pour le value d'une balise select-> option

par pandore1807 » 21 nov. 2012, 13:26

voilà il m'affiche l'id de la catégorie :

Code : Tout sélectionner

$selected_categorie ="Resource id #6"
cette id correspond à categorieID se trouvant dans l'autre table.

Re: probleme pour le value d'une balise select-> option

par Mazarini » 21 nov. 2012, 13:03

<?PHP
echo $selected_categorie ="',$selected_categorie,'"<br>";    // Pour voir si tu as bien ce que tu veux dans $selected_categorie
while ($row=mysql_fetch_array($categorie)){
   if ($row['id']==$selected_categorie) {  
        echo '<option select="selected">',$row['Categorie_cat'],'</option>'; 
    }else{
        echo '<option>',$row['Categorie_cat'],'</option>'; 
    }
}
?>
La première question : quest ce qu'il y a dans $selected_categorie (ajout d'un echo)
La seconde question es tu sur de ce qu'il y a dans $row['id'] et est ce que ca corespond bien à $selected_categorie

Re: probleme pour le value d'une balise select-> option

par pandore1807 » 21 nov. 2012, 12:32

pour cette partie j'ai deux tables

1. table des bien avec un camp Categorie et un champ categorieID
2. une table categorie avec id et la catégorie.

Re: probleme pour le value d'une balise select-> option

par pandore1807 » 21 nov. 2012, 12:31

Je suis désolé, j'essaie mais j'arrive etre un peu coincé, j'y arrive pas

Code : Tout sélectionner

$requete ="SELECT * FROM categorie"; $categorie=mysql_query($requete); if ($categorie == false) { } $requete5 ="select categorieID from bien"; $selected_categorie=mysql_query($requete5); $requete3 = "select * from bien where id='".$_GET['id']."' "; $resultat3=mysql_query($requete3); $bien = mysql_fetch_array($resultat3); ?> <tr> <td>Catégorie : <br /><select id="catego" name="catego"> <?php while ($row=mysql_fetch_array($categorie)){ if ($row['id']==$selected_categorie) { echo '<option select="selected">',$row['Categorie_cat'],'</option>'; }else{ echo '<option>',$row['Categorie_cat'],'</option>'; } }

Re: probleme pour le value d'une balise select-> option

par Mazarini » 15 nov. 2012, 10:16

<?php
while ($row=mysql_fetch_array($categorie)){
    if ($row['Categorie']==$selected_categorie) {  
      echo '<option selected>',$row['Categorie'],'</option>'; 
    }else{
      echo '<option>',$row['Categorie'],'</option>'; 
    }
} 
?>
Ca doit marcher si tu remplaces $selected_categorie par une variable qui contient la catégorie que tu veux sélectionner. Tu peux vérifier dans une doc html que c'est bien selected qu'il faut mettre.

Re: probleme pour le value d'une balise select-> option

par pandore1807 » 14 nov. 2012, 14:52

oui je sais mais si je mets juste selected= selected, ca fait rien lol,

j'ai juste comme d'habitude l''affichage des catégories, et il est selectionner sur la dernière catégorie et non celle sélectionnée qui a été ajouté dans la base