[RESOLU] faire apparaitre des lignes d un tablo

jib
Invité n'ayant pas de compte PHPfrance

05 mars 2006, 23:16

Salut,


comment fait on pour avoir un tablo dont une ligne sur deux est cachée et pour la voir, il faut cliquer sur une image.

MErci.

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

05 mars 2006, 23:30

D'après ce que j'ai compris de ton message,
il doit être question de propriétés CSS telles que display:block/none,
mais un exemple nous aiderait sûrement à mieux comprendre...

jib
Invité n'ayant pas de compte PHPfrance

05 mars 2006, 23:42

je balance mon code et je vous explique:


echo " <form method=post action=insertion.php?nb=$nb>";
echo "<table><caption>Vous avez décidez d'ouvir $nb vol.</td></caption>";
echo "<thead><tr><td>destination</td>
			<td>heure départ</td>
			<td>heure arrivée</td>
			<td>type</td>
			
			<td>fréquence</td>
			  </tr></thead><tbody>";
while($i<=$nb){

echo "	<tr class=ecrit2><td width=5%><input type=text name=destination$i \></td>
<td width=5%><input width=5% type=text name=h_depart$i \></td><td width=5%><input width=5% type=text name=h_arrive$i \></td>
			<td width=5%><select name=type$i tabindex=40>
                   <option value=t6>type6</option>
            </select></td><td width=5%>
		<input width=5% type=text name=frequence$i \></td></tr>";
	?>	<tr><td>escale ?</td></tr>
<?
			$i=$i+1;
			}
			echo "<tbody></table><br /><input class=bouton type=submit value=Envoyer /></form>";

en gros je voudrais qu au niveau du mot escale, je mette un formulaire qui apparait a chaque fois que l user clique sur escale



AInsi sur la page resultat on verrai si nb=5, un tablo de 10 lignes avec les lignes impaires constituées du formulaire et les lignes paires ou il y aurait le mot escale qui en cliquant dessus ferai apparaitre un autre formulaire.

Eléphant du PHP | 312 Messages

06 mars 2006, 11:03

mon conseil :
entre les balises <HEAD> et </HEAD> tu met ceci :
<STYLE>
div.formulaire {
  display:none;
}
</STYLE>

<script language="javascript">
function display(calque) {
  document.getElementById(calque).style.display=document.getElementById(calque).style.display=="block"?"none":"block";
}
</script>
La première partie va faire en sorte que les div de classe formulaire n'apparaissent pas, par défaut.
La seconde partie sera une méthode qui fera en sorte de faire basculer le mode affiché/non-affiché.

Ensuite il te faut une balise comme ceci :
echo "          <A href=\"javascript:display('monFormulaire');\">Escale ?</A>";
echo "          <DIV class='formulaire' id='monFormulaire'>Bla bla, code du formulaire</DIV>";
Autrement dit, par défaut, tout les div de classe "formulaire" ne sont pas affichés.
Quand tu click sur Escale, ça appelle la fonction display qui change l'attribut display de l'objet ayant pour ID "monFormulaire", donc qui l'affiche ou l'efface.
L'objet ayant pour ID "monFormulaire" étant un objet div de classe "formulaire".

jib
Invité n'ayant pas de compte PHPfrance

06 mars 2006, 18:32

Salut,


merci pour ton aide. J'ai un peu arrangé de que tu m'as donné mais ça marche trop bien.

Merci pour tout.

Cordialement

Eléphant du PHP | 312 Messages

06 mars 2006, 18:39

Pas de problème, pense au tag "Résolu" =)

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

06 mars 2006, 19:10

Jib n'est pas inscrit.
Son statut d'invité ne lui donne pas accès à la fonction [Résolu].

Jib, je le fais donc pour toi.
Mais si tu as envie de t'inscrire, ne te prive pas... ;)