S'abonner :  Newsletters    Magazines
Avis sur les produits Avis sur les logiciels Avis sur les jeux Actualités A propos de 01net
233 utilisateurs connectés

liste déroulante probleme affichage

boris101 le 11 mars 2009 à 14h23
bonjour,
voila j'ai une liste déroulante, et 'aimerais que le résultat de celle ci envoi plusieurs champs en relation avec le choix de la table déroulante....mais sa ne marche pas:::

echo '<form method="GET" action="consultation1.php">';
echo '<select name="equipement" id="nonequipement">';


$resultat=mysql_query("SELECT nonequipement FROM taboceane order by nonequipement") or die ("Requête non executée.");

while ($ligne=mysql_fetch_array($resultat))
{


echo '<option>'.$ligne["nonequipement"].'</option>';
}
echo '</select>';
echo '<input type="submit" value="Afficher" name="go">';
echo '</form>';


if(isset($_GET['go'])){


if(!$_GET['choix']){
exit;
}


else{

$choix = $_GET['choix'];



$resultat2 = mysql_query("Select * from taboceane where nonequipement='".$choix."'") or die ("Requête non executée.");
$ligne2 = mysql_fetch_array($resultat2);

echo $ligne2['toc'].'<br>';
echo $ligne2['comentaire'].'<br>';
echo $ligne2['ip'].'<br>';


mysql_close();
}
}
hamster3553 le 11 mars 2009 à 14h33
Salut,
Ca ne marche pas et c'est normal ! Tes <option> n'ont pas de value !
echo '<option value="'.$ligne["nonequipement"].'">'.$ligne["nonequipement"].'</option>';


Ca devrait etre mieux !
boris101 le 11 mars 2009 à 14h42
merci pour ta reponse...
mais sa marche pas, la liste s'affiche bien, mais quand je sélectionne le choix et je dis OK j'ai une erreur:
Notice: Undefined index: choix in C:\Program Files\EasyPHP 3.0\www\siteLiens\siteLiens\consultation1.php on line 342

la ligne 342:

if(!$_GET['choix']){
boris101 le 11 mars 2009 à 15h21
c'est bon sa marche,,,,
par contre comment on peut personnaliser l'affichage...
hamster3553 le 11 mars 2009 à 16h14
C'est a dire?
boris101 le 11 mars 2009 à 16h39
et bien en faite je me retrouve avec un affichage tout pas beau de tous les champs que j'ai mis...;
je voulais savoir si il y avait un moyen de faire par exemple un tableau a la fin de la requete pour afficher correctement les différents champs
hamster3553 le 11 mars 2009 à 16h40
Et bien oui, après c'est de la mise en forme classique html et css
boris101 le 12 mars 2009 à 10h16
oui mais j'arrive pas à intégrer un tableau dans ma requete pour l'affichage
boris101 le 12 mars 2009 à 10h22
par exemple quand j'essaye d'inégrer un tableau, marche pas:
<table width="200" border="1">
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
</table>
hamster3553 le 12 mars 2009 à 12h15

c'est un peu fait vite fais mais l'idée est la:

<table>
<TR><th> bla bla ...</th><th> bla bla ...</th></TR>
<?
$req= mysql_query(...);
while($data=mysql_fetch_object($req)){
echo '<tr><td>'.$data['champ1'].'</td><td>'.$data['champ2'].'</td></tr>'
}
?>
</table>
-->Message édité par hamster3553 le 12/03/2009 12:17:49<--
boris101 le 12 mars 2009 à 12h31
$req= mysql_query(...);
jmets quoi à la place des ...
boris101 le 12 mars 2009 à 12h38
ah oé d'accord tu m'as donné le cas général avec une requete req, ok
j'avais pas compris, sauf j'arrive pas à la faire marcher avec mon code
boris101 le 12 mars 2009 à 12h43
j'ai rajouter ce que tu m'as donner à la fin...: mais l'affichage reste identique:
$resultat2 = mysql_query("Select * from taboceane where nonequipement='".$choix."'") or die ("Requête non executée.");
$ligne2 = mysql_fetch_array($resultat2);
echo '<p>Ticket oceane : </p>';
echo $ligne2['toc'].'<br>';
echo '<p>Commentaire : </p>';
echo $ligne2['comentaire'].'<br>';
echo '<p>Ip : </p>';
echo $ligne2['ip'].'<br>';
echo '<p>Initiateur : </p>';
echo $ligne2['initiateur'].'<br>';
echo '<p>Datedebut : </p>';
echo $ligne2['datedebut'].'<br>';
echo '<p>Equipement : </p>';
echo $ligne2['nonequipement'].'<br>';
echo '<p>X25 : </p>';
echo $ligne2['x25'].'<br>';
echo '<p>Glm : </p>';
echo $ligne2['glm'].'<br>';
echo '<p>Constructeur : </p>';
echo $ligne2['constructeur'].'<br>';

while($ligne2=mysql_fetch_object($resultat2)){
echo '<tr><td>'.$ligne2['constructeur'].'</td><td>'.$ligne2['glm'].'</td></tr>';

}



}

}
hamster3553 le 12 mars 2009 à 14h29
Pourquoi un mysql_fetch_array puis un mysql_fetch_object ?
T'as requete est censé retourné un résultat unique ou il peut y en avoir plusieurs?
cf doc:
mysql_fetch_object() est identique à mysql_fetch_array(), à la différence qu’elle retourne un objet à la place d’un tableau. Vous pourrez ainsi accéder aux valeurs des champs par leur noms, et non plus par leur offset (les nombres ne sont pas des noms MySQL).
-->Message édité par hamster3553 le 12/03/2009 14:30:23<--
boris101 le 12 mars 2009 à 14h37
j'ai mis in "object" de partout...
Par contre au niveau de mon probleme d'affichage toujours rien..
et puis pour ce probleme sa change quoi de mettre "object"



$choix = $_GET['choix'];
$resultat2 = mysql_query("Select * from taboceane where nonequipement='".$choix."'") or die ("Requête non executée.");
$ligne2 = mysql_fetch_object($resultat2);

/*echo '<p>Ticket oceane : </p>';
echo $ligne2['toc'].'<br>';
echo '<p>Commentaire : </p>';
echo $ligne2['comentaire'].'<br>';
echo '<p>Ip : </p>';
echo $ligne2['ip'].'<br>';
echo '<p>Initiateur : </p>';
echo $ligne2['initiateur'].'<br>';
echo '<p>Datedebut : </p>';
echo $ligne2['datedebut'].'<br>';
echo '<p>Equipement : </p>';
echo $ligne2['nonequipement'].'<br>';
echo '<p>X25 : </p>';
echo $ligne2['x25'].'<br>';
echo '<p>Glm : </p>';
echo $ligne2['glm'].'<br>';
echo '<p>Constructeur : </p>';
echo $ligne2['constructeur'].'<br>';*/

while($ligne2=mysql_fetch_object($resultat2)){
echo '<tr><td>'.$ligne2['constructeur'].'</td><td>'.$ligne2['glm'].'</td></tr>';
hamster3553 le 12 mars 2009 à 15h34
Si tu met object partout, il faut ecrire: $ligne2->constructeur $ligne2->toc etc etc

-->Message édité par hamster3553 le 12/03/2009 15:34:39<--
boris101 le 12 mars 2009 à 15h48
j'ai essayer de faire une structure de tableau avec une code que j'ai trouver, mais j'arrive pas à afficher la variable ligne2 dans le tableau: voila le code du tableau:" jai mis en couleur les là ou j'ai fais nimporte quoi

$choix = $_GET['choix'];
$resultat2 = mysql_query("Select * from taboceane where nonequipement='".$choix."'") or die ("Requête non executée.");


$ligne2 = mysql_fetch_row($resultat2);

$row=$ligne2;

if($ligne2) {
// debut du tableau
echo '<table bgcolor="#FFFFFF">'."\n";

echo '<tr>';
echo '<td bgcolor="#669999"><b><u>commentaite</u></b></td>';

echo '</tr>'."\n";

while($ligne2 = mysql_fetch_row($resultat2)) {
echo '<tr>';
echo '<td bgcolor="#CCCCCC">'.$ligne2['comentaire'].'</td>'; 'j'ai essayer les 2

echo '</tr>'."\n";
}
echo '</table>'."\n";
// fin du tableau.
}
boris101 le 13 mars 2009 à 09h49
oé jsé sa marrive....
voila,,, le code marche, j'ai une présentation sous forme de tableau
par contre comment tu fais pour personnaliser la liste détoulante:
<?php
echo '<form method="GET" action="consultation1.php">';
echo '<select name="choix" id="nonequipement">';


$resultat=mysql_query("SELECT nonequipement FROM taboceane order by nonequipement") or die ("Requête non executée.");

while ($ligne=mysql_fetch_array($resultat))
{


echo '<span class="initiateur"><option value="'.$ligne["nonequipement"].'">'.$ligne["nonequipement"].'</option>';
}
echo '</select>';
echo '<input type="submit" value="Afficher" name="go">';
echo '</form>';
if(isset($_GET['go'])){


if(!$_GET['choix']){
exit;
}


else{

$choix = $_GET['choix'];
$resultat2 = mysql_query("Select * from taboceane where nonequipement='".$choix."'") or die ("Requête non executée.");
$ligne2 = mysql_fetch_array($resultat2);
$rows=$ligne2;

if($ligne2) {

echo '<table >'."\n";
echo '<td class="initiateurtitre" ><b><u>initiateur :</u></b></td>';
echo '<td class=""><b><u>datedebut :</u></b></td>';
echo '<td class=""><b><u>Toc</u></b></td>';
echo '<td class=""><b><u>ip</u></b></td>';
echo '<td class=""><b><u>x25</u></b></td>';
echo '<td class=""><b><u>glm</u></b></td>';
echo '<td class=""><b><u>constructeur</u></b></td>';

echo '</tr>'."\n";


if($ligne2 = mysql_num_rows($resultat2)) {
echo '<td class="initiateurtitre">'.$rows['initiateur'].'</td>';
echo '<td class="">'.$rows['datedebut'].'</td>';
echo '<td class="">'.$rows['comentaire'].'</td>';
echo '<td class="">'.$rows['toc'].'</td>';
echo '<td class="">'.$rows['ip'].'</td>';
echo '<td class="">'.$rows['x25'].'</td>';
echo '<td class="">'.$rows['glm'].'</td>';
echo '<td class="">'.$rows['constructeur'].'</td>';

echo '</tr>'."\n";
}
echo '</table>'."\n";

}
else echo 'Pas d\'enregistrements dans cette table...';

}
}

?>
hamster3553 le 13 mars 2009 à 11h22
par contre comment tu fais pour personnaliser la liste détoulante:

Tu veux la personnaliser comment?

Autres remarques:
- tes <tr> ne sont jamais ouvert !
- <b><u> ne se fait plus, il faut privilègier le css. exemple pour <b> remplacer par style="font-weight:bold"
- class="" ne sert a rien puisqu'il est vide
boris101 le 13 mars 2009 à 16h05
par exemple au niveau de la couleur ou de la taille, du bouton, des fléches....
hamster3553 le 13 mars 2009 à 16h30
Et bien c'est du html/css classique.


PRODUITS

TÉLÉCHARGER - LOGICIELS

JEUX VIDÉOS

LOISIRS

01NET PRO

AVIS ET COMMENTAIRES

A PROPOS DE 01NET

publicité
Télévision
Ringardes, les séries françaises ?

Service 01net
Newsletters 01net
abonnez vous gratuitement !
  
01Informatique
01 INFORMATIQUE
L'hebdo de référence des décideurs informatiques.
Micro Hebdo
MICRO HEBDO
L'hebdo qui vous simplifie la micro
et Internet.
L'Ordinateur Individuel
L'ORDINATEUR INDIVIDUEL
Le mensuel informatique qui vous informe et vous conseille.
Nous contacter  |  Charte de confiance  |  Voir notice légale

01net.  -  01men  -  RMC  -  BFM Radio  -  BFM TV  -  TousLesPodcasts  -  01informatique.fr  -  Association RMC-BFM
Tous droits réservés © 1999 - 2009 Internext - 01net.