Aller au contenu

Affichage du contenu d'une table


Sujets conseillés

Posté

Bonjour,

Je suis en train de finaliser un site en Xhtml strict et me voilà confronter à un soucis pour afficher des données d'une table sql via une liste déroulante. Avant sans que la page soit en xhtml strict cela fonctionnait.

J'arrive à afficher dans ma liste déroulante le contenu de ma table sans probléme :):) mais je n'arrive pas lorsque je choisis dans la liste un item à afficher les données correspondantes. Je précise que la premiere selection affiche bien les données de la table mais c'est lorsque on utilise la liste deroulante rien ne se produit.

J'ai un message d'erreur :

Erreur : client is not defined

Voici le fichier en cause, j'utilise une fonction javascript pour rediriger mais là cela ne fonctionne plus, peut être existe t'il une autre façon :

<script type="text/javascript">
function ChangeClient(){
if (client.sel_client.options[client.sel_client.selectedIndex].value!="")
document.location.href="infos.php?Clecli="+client.sel_client.options[client.sel_client.selectedIndex].value;
}
</script>

<form method="post" action="fichecli.php?num=$num" name="client" id="client">
<h3> Commune de <?php print $commune;   ?> (<?php print $Codepost;?>)</h3>
<? echo '<img src="'.$photo.'" width="292" height="188" border="1"/>'?>
<p>Le Maire<?php print $Nom_prenom;   ?></p>
<p>Téléphone:<?php print $TelCli;   ?></p>
<p>Fax : <?php print $FaxCli;   ?></p>
<p>Email : <?php echo '<a href="mailto:'.$EmailCli.'"> '.$EmailCli.' </a>' ?></p>
<p>Site Internet :<? echo '<a href="'.$SiteCli.'" target="_blank"> '.$SiteCli.'  </a>'   ?></p>
<p>Les permanences:<?php print $Permcli;   ?></p>
<p>Cherchez la Mairie de :</p>
<p><select name="sel_client" id="sel_client" onchange="ChangeClient()">
<?php
while($data_allclient=mysql_fetch_array($req_allclient)){
if ($data_allclient[Clecli]==$Clecli){
print ("<option selected value='$data_allclient[Clecli]'>".$data_allclient[commune]." </option>");
}else{
print ("<option value='$data_allclient[Clecli]'>".$data_allclient[commune]." </option>");
}}  ?></select></p></form>
<?php mysql_close();?>

Posté

V que j'ai eu peu de réponse et que j'ai effectué de nombreuses recherche sans succés. Je souhaiterais savoir si il existait un tutorial expliquant à partir d'une liste deroulante afficher le contenu d'une table.

Je 'explique j'ai une table comme celle-ci :

CREATE TABLE commune (
 Clecli tinyint(4) NOT NULL auto_increment,
 Nomcli varchar(50) NOT NULL default '',
 Precli text NOT NULL,
 Adresse text NOT NULL,
 Codepost int(5) NOT NULL default '0',
 commune text NOT NULL,
 Permcli varchar(255) NOT NULL default '',
 TelCli varchar(10) NOT NULL default '',
 FaxCli varchar(10) default NULL,
 EmailCli varchar(35) NOT NULL default '',
 SiteCli varchar(150) NOT NULL default '',
 photo varchar(250) default NULL,
 carte varchar(250) default NULL,
 adsl varchar(25) default 'pas disponible',
 logo varchar(250) default 'logo/do',
 fleur varchar(50) default NULL,
 photomaire varchar(250) default NULL,
 PRIMARY KEY  (Clecli,Nomcli)
) TYPE=MyISAM COMMENT='Table Commune';

Et je souhaiterais à partir d'une liste déroulante qui affiche le nom de la commune, on arrive à afficher sur les données de la commune sélectionner dans la liste déroulante.

Si quelqu'un peut m'aiguiller ?

Merci et j'attends avec impatience vos contributions.

Posté

Tu veux en fait que dès qu'on clique sur le nom de la commune, les infos s'affichent à côté ? Bref, tu veux une redirection automatique dès qu'on appuie sur la commune ?

Donne l'url également, ça peut aider à visualiser le problème...

Posté

Personnellement je choisirais la solution de poster le formulaire plutôt qu'utiliser "document.location.href".

Sur le select tu mets : onchange="java script:document.client.submit();"

Et ensuite pour l'affichage des informations spécifique à la commune:

If ($_POST['sel_client'] == ""){

echo "aucune commune selectionnée";

}else{

//recupération des informations à partir du numéro de commune

//affichage des informations

}

Ensuite tu affiche ton select.

J'espere être clair ...

Posté (modifié)

Bonsoir,

Tout à fait Sarc c'est cela mon probléme.

Voici le lien demandé :

Page de test avec liste deroulante

J'ai essayé de nombreuses choses mais en vain. Le fait de faire du XHTML strict pose quelques soucis de compatibilité de mes anciens scripts.

Une aide seriat interessante.

Merci

Modifié par doomer2
Posté

Moi j'avais ça :

<select name='page' onChange='if (this.selectedIndex!=0) window.location.href = this.options[this.selectedIndex].value;'>

Il faut mettre en valeur de tes <options> l'url de la page en question...

Jte garantis rien, mais chez moi ça marchait !

Posté

J'ai pas grand chose, j'ai juste le fichier enregistré sur mon disque, je ne l'utilise plus pour mes sites (javascript désactivé => pas d'accès aux autres pages...)

mais mon code, c'était ça :

echo "<div align=center><select name='page' onChange='if (this.selectedIndex!=0) window.location.href = this.options[this.selectedIndex].value;'>\n
<option SELECTED>allez voir une autre catégorie</option>\n";
while ($ligne = mysql_fetch_array($res))
{
extract($ligne);
echo "<option value=page.php?page=$id'>$nom</option>\n";
}
echo "</select></div>";

NDSarc : pas besoin de <form> pour faire ça !!

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...