afficher ou masquer un div dans un tableau

Eléphant du PHP | 417 Messages

21 févr. 2012, 12:53

une bille? ^^ et bah dit donc moi je suis quoi ? :P ton code fonction bien ;) :) je veux juste savoir est ce que on est obligé de passer par balise form??

parce que vu que je vais mettre tt ça dans un form dc je pense pas que le fait de mettre une a l'intérieur de l'autre me causera pas des problèmes?

sinon j'ai une autre question enfait a la base si pas des zones de saisi que je voulais mettre (je l'ai dit juste pour facilité la tache :) ) mais en vrai c'est des zones select que je veux ces zones contiendront des infos récupérer avec une requête dans la BDD (les pseudos) donc est ce que je peux intégrer code php dans javascript?

voici le code pour le moment
<script type="text/javascript">
	function membres(chaine)
	{
		var a = document.getElementById("oui");
		var b = document.getElementById("non");
		var c = document.getElementById("oui2");
		

		if (chaine == 'afficher1'){
			a.style.display = "block";
			b.style.display = "none";
			c.style.display = "block";
		}
		else if (chaine == 'afficher2'){
			a.style.display = "none";
			b.style.display = "block";
			c.style.display = "none";
		}
	}
	function displayTxtBox()
		{
		var nb_txt=document.forms[0].nb_txt.value;
		var i=0;
		var ma_div = document.getElementById('zone_txt_box');
		ma_div.innerHTML="";
		for(i=0;i<nb_txt;i++)
		 {
		   ma_div.innerHTML=ma_div.innerHTML+'<br /><input type="text" value="" name="lename" />';
		  }
		}

</script>

	<table border="1px" cellpadding="7" cellspacing="2">
		<tr>
				<td>
					<input type="radio" name="recherche"   value="Oui" onchange="membres('afficher1')" /> Oui 
					<input type="radio" name="recherche"   value="Non" onchange="membres('afficher2')" /> Non
				</td>
		
			<td id="oui" style="display:none">
					<form>
						<SELECT id="nb_txt" onchange="displayTxtBox()">
							<option value="0"></option>
							<OPTION VALUE="1" >1</OPTION>
							<OPTION VALUE="2" >2</OPTION>
							<OPTION VALUE="3" >3</OPTION>
							<OPTION VALUE="4" >4</OPTION>
							<OPTION VALUE="5" >5</OPTION>
							<OPTION VALUE="6" >6</OPTION>
						</SELECT>
					</form>
			</td>
			<td id="oui2" style="display:none">
				<div id="zone_txt_box">
				</div>
				</form>
			</td>
		</tr>
	</table>

<div id="non" style="display:none">
	<input type="submit" name="valider" value="Valider"/>
</div>
et voila le code phpt qui récupére mes données et les classés dans une zone de select
$req_participant = mysql_query('SELECT * FROM membres order by pseudo')or die(mysql_error());
															$mesMembres =array();
															
															while ($result_p = mysql_fetch_object($req_participant))
															{
																$mesMembres[]=$result_p->pseudo;
															}	
															$max= sizeof($mesMembres);
															echo $max;
															echo '<SELECT name="participant_1">';
																$p=0;
																while ($p <= $max)
																{
																	echo '<OPTION VALUE="'.$mesMembres[$p].'">'.$mesMembres[$p].'</OPTION>';
																	$p++;
																}
															echo '</SELECT>

Eléphant du PHP | 179 Messages

21 févr. 2012, 12:59

Oh bah non, tu peux faire péter le form que j'ai mis ^^ c'était pour l'exemple

Eléphant du PHP | 417 Messages

21 févr. 2012, 13:00

Oh bah non, tu peux faire péter le form que j'ai mis ^^ c'était pour l'exemple
ah dac :) et pour la 2eme question :) tu aurai pas une idée?

Eléphant du PHP | 179 Messages

21 févr. 2012, 13:03

Je crois que mes yeux ont oublié de lire cette partie la :P
Euh, alors la c'est un peu différent, il faut que tu passes par de l'ajax si tu veux récupérer des données en bdd depuis du javascript.
Et faire de l'ajax en javascript simple... ( sans jquery ) a vrai dire, je n'y ai jamais touché, donc je préfère que quelqu'un d'autre t'explique :)

Eléphant du PHP | 417 Messages

21 févr. 2012, 13:06

Je crois que mes yeux ont oublié de lire cette partie la :P
Euh, alors la c'est un peu différent, il faut que tu passes par de l'ajax si tu veux récupérer des données en bdd depuis du javascript.
Et faire de l'ajax en javascript simple... ( sans jquery ) a vrai dire, je n'y ai jamais touché, donc je préfère que quelqu'un d'autre t'explique :)
d'accord en tt cas je te remercie de m'avoir aider en attendant les autres :)

A qui le clavier ? :D

Eléphant du PHP | 179 Messages

21 févr. 2012, 13:14


Eléphant du PHP | 209 Messages

21 févr. 2012, 13:33

Et faire de l'ajax en javascript simple... ( sans jquery ) a vrai dire, je n'y ai jamais touché, donc je préfère que quelqu'un d'autre t'explique
Je te déconseille de faire de l'AJAX sans jQuery (ou une autre librairie d'ailleurs).. En dehors du fait que tu vas te faire ch*** à refaire des choses existantes, les librairies ont l'avantage d'une grande compatibilité avec les navigateurs et d'une bonne sécurité.

Après si c'est juste pour t'amuser, le lien vers le site du zéro est très bien :)

Eléphant du PHP | 417 Messages

21 févr. 2012, 15:14

ton dernière code Thibaud C ne marche plus quand je met le code html dans un fichier et le javasacript dans un autre

:cry: :cry: :cry:
<script type="text/javascript">
	function membres(chaine)
	{
		var a = document.getElementById("oui");
		var b = document.getElementById("non");
		var c = document.getElementById("oui2");
		

		if (chaine == 'afficher1'){
			a.style.display = "block";
			b.style.display = "none";
			c.style.display = "block";
		}
		else if (chaine == 'afficher2'){
			a.style.display = "none";
			b.style.display = "block";
			c.style.display = "none";
		}
	}
	function displayTxtBox()
		{
		var nb_txt=document.forms[0].nb_txt.value;
		var i=0;
		var ma_div = document.getElementById('zone_txt_box');
		ma_div.innerHTML="";
		for(i=0;i<nb_txt;i++)
		 {
		   ma_div.innerHTML=ma_div.innerHTML+'<br /><input type="text" value="" name="lename" />';
		  }
		}

</script>

	<table border="1px" cellpadding="7" cellspacing="2">
		<tr>
				<td>
					<input type="radio" name="recherche"   value="Oui" onchange="membres('afficher1')" /> Oui 
					<input type="radio" name="recherche"   value="Non" onchange="membres('afficher2')" /> Non
				</td>
		
			<td id="oui" style="display:none">
					<form>
						<SELECT id="nb_txt" onchange="displayTxtBox()">
							<option value="0"></option>
							<OPTION VALUE="1" >1</OPTION>
							<OPTION VALUE="2" >2</OPTION>
							<OPTION VALUE="3" >3</OPTION>
							<OPTION VALUE="4" >4</OPTION>
							<OPTION VALUE="5" >5</OPTION>
							<OPTION VALUE="6" >6</OPTION>
						</SELECT>
					</form>
			</td>
			<td id="oui2" style="display:none">
				<div id="zone_txt_box">
				</div>
				</form>
			</td>
		</tr>
	</table>

<div id="non" style="display:none">
	<input type="submit" name="valider" value="Valider"/>
</div>

Eléphant du PHP | 179 Messages

21 févr. 2012, 15:47

T'as pas un petit debug console sur ton navigateur pour voir les erreurs ?

Eléphant du PHP | 417 Messages

21 févr. 2012, 15:50

T'as pas un petit debug console sur ton navigateur pour voir les erreurs ?

si j'ai reussi ça :) ^^ il me reste mtn juste d'attendre si y a qlq un qui peu m'aider pour passer une variable de javascript to php ou l'inverse :)

Eléphant du PHP | 179 Messages

21 févr. 2012, 16:15

passer une variable php au javascript c'est possible au chargement de la page, mais pas après.
Javascript à php, la te faut l'ajax :).

Si la première solution te va, tu peux faire un truc du genre
<script>for(i=0;i<nb_txt;i++)
 {
   ma_div.innerHTML=ma_div.innerHTML+'<br /><input type="text" value="<?php echo $varphp ?>" name="lename" />';
  }</script>

Eléphant du PHP | 417 Messages

21 févr. 2012, 16:31

et y a pas moyen de mettre un truc comme ça
<script>for(i=0;i<nb_txt;i++)
 {
   ma_div.innerHTML=ma_div.innerHTML+"<br /><?php $req_participant = mysql_query('SELECT * FROM membres order by pseudo')or die(mysql_error());
															$mesMembres =array();
															
															while ($result_p = mysql_fetch_object($req_participant))
															{
																$mesMembres[]=$result_p->pseudo;
															}	
															$max= sizeof($mesMembres);
															echo $max;
															echo '<SELECT name="participant_1">';
																$p=0;
																while ($p <= $max)
																{
																	echo '<OPTION VALUE="'.$mesMembres[$p].'">'.$mesMembres[$p].'</OPTION>';
																	$p++;
																}
															echo '</SELECT>'; ?>";
  }</script>
?? j'ai essayé et ça me donne une page blanche

Eléphant du PHP | 179 Messages

21 févr. 2012, 16:34

il faut que tu mettes tous les bouts de php entre : <?php ?>

Eléphant du PHP | 417 Messages

21 févr. 2012, 16:38

comme ça ?
for(i=0;i<nb_txt;i++)
 {
   ma_div.innerHTML=ma_div.innerHTML+"<br /><?php $req_participant = mysql_query('SELECT * FROM membres order by pseudo')or die(mysql_error());?>
															<?php$mesMembres =array();?>
															
															<?phpwhile ($result_p = mysql_fetch_object($req_participant))?>
															<?php{ $mesMembres[]=$result_p->pseudo; } ?>	
															<?php $max= sizeof($mesMembres);?>
															<?php echo $max;?>
															<?php echo '<SELECT name=\"participant_1\">';?>
															<?php $p=0; ?>
															<?php while ($p <= $max) ?>
																<?php{?>
																	<?php echo '<OPTION VALUE=\"'.$mesMembres[$p].'\">'.$mesMembres[$p].'</OPTION>'; ?>
																	<?php $p++; ?>
																<?php}?>
															<?phpecho '</SELECT>'; ?>";
  }

Eléphant du PHP | 179 Messages

21 févr. 2012, 16:43

Oula autant pour moi, je n'avais pas vu la première ouverture de php, je pensais que tu ne l'avais pas ouvert :s, non c'était bien en fait comme avant, je reregarde ca.