Page 1 sur 1

probleme de séléction dans ma base

Posté : 23 mars 2006, 10:45
par tinou
voila je désire afficher un album photo en choisissant le theme dans une listbox. Je récupere le nom du theme et je desire connaitre son identifiant donc je fait un "select id from categorie where nom=" et je me retrouve avec comme réponse : Resource id#7 alors que mon id devrair etre égale a 1. :cry:

Svp aidez-moi je suis en plein stage je peut pas foirer ca. Merci d'avance :D

Posté : 23 mars 2006, 10:59
par starkeus
Salut!
tu pourrais préciser le contexte? PHP? MySQL? infos sur ta table, extrait de code etc... ;)

Posté : 23 mars 2006, 11:06
par ouckileou
c'est un problème de traitement PHP, donc je déplace

Mais comme dit dessus, il faut plus d'infos pour que quelqu'un t'aide

Posté : 24 mars 2006, 16:38
par tinou
voila je travaille en PHP/MYSQL
je ous met quelques lignes de code pour que vous compreniez mieux :

Dans ma page avec ma listebox :
include 'bdd.php';
                                    $requete = "SELECT * FROM categorie_photo";
                                    $resultat = mysql_query($requete);

                                    $verif = mysql_num_rows($resultat);
                                    if($verif == 0)
                                    {
                                            echo "Pas de catégorie disponible";
                                    }
                                    else
                                    {
                                            while($vraires = mysql_fetch_assoc($resultat))
                                            {
                                                    echo "<option>" . $vraires['nomcategorie'] . "</option>";
                                            }
                                    }
                                    echo'</select><br /><br /><br /><input type="submit" value="Valider"></center>';
J'envoie le nom de la categorie dans ma page image :
if(isset($_POST['choix']))
                                {
                                include 'bdd.php';

                                $requete1 = "SELECT * FROM categorie_photo WHERE nomcategorie=" . $_POST['choix'] . "";
                                $res1 = mysql_query($requete1);
                                echo '~~ '. $res1.' ~~';
Et la mon echo$res1 me retourne un champ vide (ca a évolué depuis mon dernier message :lol: )
voila ma table :

idcategorie nomcategorie
1 Championnat de France U de Tennis par...
2 test de catégorie


De plus j' ai maintenant un nouveau probleme du meme style en selectionnnant un chemin d'acces à un document, mon résultat est égam à ...Deviner ... Resource id#4. Please help

voila mon code :
include 'bdd.php';
                                    $requete="SELECT cheminpresentation FROM presentation where idpresentation=1";
                                    $res=mysql_query($requete);
                                    echo'<a href="' . $res . '">Presentation générale</a>';
et ma table : idpresentation cheminpresentation
1 dossier/presentation.doc


AIDEZ MOI JE SATURE GRAVE. Merci d'avance
:D

Posté : 24 mars 2006, 16:47
par Ryle
Alors dans un premier temps, pour rappel, les chaines de caractère en SQL doivent être mises entre apostrophes. Si $_POST['choix'] contient un nombre, pas de problème, mais s'il s'agit d'un libellé, il faut écrire ainsi
WHERE nomcategorie='" . $_POST['choix'] . "'"; // avé les apostrophes :)
Ensuite, la méthode mysql_query te retourne un résultat sous forme de ResultSet (ou Ressource). Pour pouvoir l'exploiter on utilise généralement une fonction du type mysql_fetch_array ou mysql_fetch_assoc pour la lire :
$requete = "SELECT champ1, champ2 FROM maTable";
$rs = mysql_query($requete); 
if ($row = mysql_fetch_array($rs) ) {// toujours bon de tester si la requête à donner un résultat (on peut aussi utiliser le while si on attend plusieurs lignes, pour boucler dessus
  echo $row['champ1']; // c'est ici que se trouvent tes valeurs
  echo $row['champ2'];
}
Afficher directement le résultat du mysql_query ne t'apporte absolument rien, il est inexploitable tel quel :)

Posté : 24 mars 2006, 16:48
par ouckileou
Tinou, quand tu postes du code, utilise les balises
 pour l'encadrer plutôt que du gras ;)

Posté : 24 mars 2006, 16:50
par DarkBlue
hello ,
include 'bdd.php'; 
$requete="SELECT cheminpresentation FROM presentation where idpresentation=1"; 
$res=mysql_query($requete); 
$data = mysql_fetch_assoc($res);
echo'<a href="' . $date[cheminpresentation] . '">Presentation générale</a>';
car tu fais une requette qui te retourne juste un identifiant dans la base , il faut ensuite le traduire par sa valeur

[Edit moi meme] JE m'aperçois que j ai ete trop long a taper mon message ....lol

Posté : 29 mars 2006, 09:53
par tinou
je vous remercie beaucoup ais desolé j'ai un petit renseignement vous demandé : en fait j'ai une table avec un chemin d'acces pour un pdf. je voudrais pourvoir le modifier en tant qu'adminsitrateur, pour cela j'appelle une text box "parcourir" mais quand je recupere ma valeur et que je fait un update, je ne récupère rien. Pouvez vous m'aider please :lol:

Posté : 29 mars 2006, 10:04
par zeus
Il nous faut plus de détail et le code incriminé parce qu'on ne peut pas deviner ce que tu as fait et donc ce qui ne marche pas ;)

Posté : 03 avr. 2006, 11:30
par tinou
if(isset($_GET['presentation_modifiee']))
             {
                echo "<span style='color:red;font-weight:bold;'>Votre presentation a bien été modifiée!</span>";
             }
             ?>
             <br/>
             <form action="adm_presentation_form.php" method="post" enctype="multipart/form-data">
             <input type="file" name="chemin" enctype="multipart/form-data" /><br /><br />
             <input name="id" type="hidden" value="1">
             <input type="submit" value ="Valider">
et ensuite je recupere mon chemin d'acces de mon pdf dans une variable mais je n'enregistre rien dans ma base
        if(isset($_POST['submit']))
        {
           include'bdd.php';
           $id=$_POST['id'];
           $chemin=$_POST['chemin'];

           $requete='UPDATE presentation set cheminpresentation="'.$chemin.'" WHERE idpresentation='.$id ;
           $res=mysql_query($requete);

           if(mysql_errno()!=0)
           {
              //ya un blem la
           }
           else
           {
               header("Location=adm_presentation_form.php?presentation_modifiee");
           }
        }
please help var si j'arrive a faire ca, je fini grace a vous tout mon module administration car mon admin n'a preque que des pdf a changer :P . Merci d'avance :D

Posté : 03 avr. 2006, 11:34
par zeus
Est-ce que tu as déjà essayé de faire affiche qqchose dans cette page ?

Parce que je ne suis pas sûr que ce test retourne TRUE à un moment ou a un autre vu que ton submit ne contient pas de nom ...

Essaye de donner un nom à ton submit (bonne habitude à prendre ;) )
<input type="submit" name="submit" value ="Valider">