Question existentielle en php

loulou -  
 loulou -
salut !

je suis débutant en php et je voudrais savoir la différence entre :
print 'Posté le : '.$contenu[date].'<br>';
et
echo '<option value = "'.$contenu->nomchampvalue.'">.$article->nomchamptexte.'</option>';
?

parce qu'en fait, je voudrais afficher les resultats d'une requete dans une liste déroulante. est-ce que c'est possible?

9 réponses

  1. GhOsTDoG
     
    Le premier c'est pour des éléments dans un tableau, le second pour des élements contenus dans une structure (comme en C).

    Mais chui pas sûr que c'était ta question lol
    0
  2. Bobinours Messages postés 2903 Statut Membre 504
     
    Euh... La différence ? Ou le point commun ?
    Parce que là, t'es deux ligne n'ont aucun rapport...

    - ECHO et PRINT sont équivalent...
    - Le Premier cas on affiche du texte, dans le Deuxième on affiche une <OPTION> HTML pour une liste <SELECT>.
    - $contenu[date] est la notation ASSOCIATIF d'une variable récupérée par une requête et $contenu->nomchampvalue est la notation OBJET

    Bien sur que tu peux afficher tes résultats pour faire une liste déroulante.
    - Tu ouvres ton <SELECT>
    - Tu effectues ta requête avec : $result = mysql_query(SQL)
    - Tu boucles en récupérant les résultats un par un : while($contenu = mysql_fetch_array($result)) {
    - Dans la boucle, tu affiches l'option correpondante : echo '<option value="'. $contenu["optValue"] . '">'. $contenu["optTexte"] .'</option>';
    - Tu fermes la balise </SELECT>

    mysql_fetch_array() peut-être remplacé par la fonction de ton choix (object ou row) et l'utilisation du $contenu varie en fonction, voir : http://www.php.net/manual/fr/function.mysql-fetch-object.php

    -= Bobinours - http://bobin.underlands.org =-
    0
  3. loulou
     
    et est-ce que cette syntaxe de l'echo est bonne??? il ya une erreur mais je ne vois pas où!
    echo "<option value = "'.$article->loginuti.'">".$article->nomuti"</option>";
    0
  4. Bobinours Messages postés 2903 Statut Membre 504
     
    echo '<option value = "'.$article->loginuti.'">"'.$article->nomuti.'</option>';

    -= Bobinours - http://bobin.underlands.org =-
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. loulou
     
    ça marche pas!!!! qd je clik sur service, ya pas les noms des personnes de ce service qui apparaisssent!!!! et j'ai fait cet echo!!
    0
  7. Bobinours Messages postés 2903 Statut Membre 504
     
    Oui, mais je ne sais pas comment tu fais ta requête et quelle est la structure de ta table. Ce sont des données essentielles pour pouvoir trouver où est l'erreur.

    Le premier niveau de vérification à faire est de savoir si la connexion à la base de données s'est bien déroulée.

    Ensuite il faut regarder si ta requête est bonne et si tu n'oublies pas une étape dans la récupération des données.

    Enfin, l'affichage me semble correcte (je parle de l'ECHO), mais tu n'es pas à l'abruit d'une étourderie qui fasse planter le processus.

    -= Bobinours - http://bobin.underlands.org =-
    0
  8. loulou
     
    apparement tout ce que tu di y est mais je ne suis pas à l'abri d'une étourderie!!! je te file le bout de mon script :

    <select name="nomdest">
    <?php
    //cnx à la bd
    $bd = mysql_connect('localhost', 'login','mot de passe') or die ("erreur de connexion");
    //séléction de la bd
    mysql_select_db(courrier, $bd) or die("erreur de connexion à la base");

    $sql = "SELECT * FROM expediteur, service where noservice = refnoservice";
    $result = mysql_query($sql);
    while ($article = mysql_fetch_object($result))
    {
    echo'<option value = "'.$article->nodestinataire.'">"'.$article->nomdestinataire.'</option>';
    }
    mysql_close();
    ?>
    </select>
    0
  9. Bobinours Messages postés 2903 Statut Membre 504
     
    Je suis étonné que tu n'aies pas une "erreur de connexion à la base" ici :

    mysql_select_db(courrier, $bd) or die("erreur de connexion à la base");

    courrier devrait être entre quote : "courrier"

    Ajoute des or die() un peu partout et affiche mysql_error() lors de tes tests pour te donner l'erreur exact :

    $result = mysql_query($sql) or die(mysql_error());

    Enfin, vérifie que les noms de champs dans ta table "expediteur" sont bien "nodestinataire" et "nomdestinataire".

    Je crois que si tu n'as pas d'erreur, j'ai trouvé.
    Tu as oublié les quotes autour de "refnoservice"

    $sql = "SELECT * FROM expediteur, service where noservice = 'refnoservice'";

    -= Bobinours - http://bobin.underlands.org =-
    0
  10. loulou
     
    refnoservice est un champ de la table destinataire (oui, je me suis trompée c pas expéditeur mais destinataire!!! mais je te rassure ça ne marche tjs pas!!!)
    0