Question existentielle en php

Fermé
loulou - 21 janv. 2003 à 15:27
 loulou - 22 janv. 2003 à 12:10
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?
A voir également:

9 réponses

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
Bobinours Messages postés 2898 Date d'inscription jeudi 26 avril 2001 Statut Membre Dernière intervention 21 mars 2013 504
21 janv. 2003 à 23:11
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
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
Bobinours Messages postés 2898 Date d'inscription jeudi 26 avril 2001 Statut Membre Dernière intervention 21 mars 2013 504
22 janv. 2003 à 10:27
echo '<option value = "'.$article->loginuti.'">"'.$article->nomuti.'</option>';

-= Bobinours - http://bobin.underlands.org =-
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ç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
Bobinours Messages postés 2898 Date d'inscription jeudi 26 avril 2001 Statut Membre Dernière intervention 21 mars 2013 504
22 janv. 2003 à 11:39
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
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
Bobinours Messages postés 2898 Date d'inscription jeudi 26 avril 2001 Statut Membre Dernière intervention 21 mars 2013 504
22 janv. 2003 à 12:01
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
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