Jump to content
Sign in to follow this  
doomer2

Affichage du contenu d'une table

Rate this topic

Recommended Posts

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();?>

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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...

Share this post


Link to post
Share on other sites

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 ...

Share this post


Link to post
Share on other sites

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

Edited by doomer2

Share this post


Link to post
Share on other sites

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 !

Share this post


Link to post
Share on other sites

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 !!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...