afficher ou masquer un div dans un tableau

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : afficher ou masquer un div dans un tableau

Re: afficher ou masquer un div dans un tableau

par Thibaud C » 24 févr. 2012, 17:38

Je crois que tu ne comprends pas le lien qu'il y a entre php et Javascript...
exemple très simple :
ton script :
<?php $msg = "salut !"; ?>
<script type="text/javascript">
alert("<?php echo $msg?>");
</script>

Bon comme tu l'auras compris ce script ne fera rien du tout, mais bref,

quand toi tu regardes ton code tu le vois comme ceci. Cependant quand tu vas l'appeller depuis un navigateur, le PHP va s'executer, mais le javascript reste tel quel : tu auras donc dans le code source de ta page

<script type="text/javascript">
alert("salut !");
</script>

Et ensuite tu pourras appeller ton code javascript grâce a des évenements.
Cependant une fois sur le Navigateur le php est déja exécuté car c'est un langage serveur, il s'execute sur le serveur.


var ma_div = document.getElementById('zone_txt_box');
ma_div.innerHTML="";
<?php $k = 1; ?>
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());
                                                                                        
                                                                                                echo '<SELECT name=\"participant_'.$k.'\">';
                                                                                                        while ($result_p = mysql_fetch_object($req_participant))
                                                                                                        {
                                                                                                                echo '<OPTION VALUE=\"'.$result_p->id.'\">'.$result_p->pseudo.'</OPTION>';      
                                                                                                        }
                                                                                                        
                                                                                                echo '</SELECT>';
                                                                                        $k++;
                                                                                ?>";
  }
   ma_div.innerHTML=ma_div.innerHTML+'<br /><br /><input type="submit" name="FinAlbum" value="Fin d\'album..." style="font-weight : bold; color:green; background-color:#fda13f; height:35px;"/>';
  
Ca c'est ce que tu vois en regardant ton fichier depuis un éditeur, mais dans le code source du navigateur tu verras un truc du genre :
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 /><SELECT name=\"participant_1\"><OPTION VALUE=\"1\">thibaud</OPTION><OPTION VALUE=\"2\">miiidooo</OPTION></SELECT>";
  }
   ma_div.innerHTML=ma_div.innerHTML+'<br /><br /><input type="submit" name="FinAlbum" value="Fin d\'album..." style="font-weight : bold; color:green; background-color:#fda13f; height:35px;"/>';
  
Ducoup tes formulaires auront tous les même nom :/ ( il y a moyen hein, mais je pense qu'en yeuxtant la partie que tu vois dans le code source du navigateur, tu vas trouver tout seul :) )
Jusque la tu as compris ?

Re: afficher ou masquer un div dans un tableau

par miiidooo19 » 24 févr. 2012, 17:26

Re :D un petit souci encore ^^ mais c'est pas trés grave ^^
<script type="text/javascript">
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="";
<?php $k = 1; ?>
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());
											
												echo '<SELECT name=\"participant_'.$k.'\">';
													while ($result_p = mysql_fetch_object($req_participant))
													{
														echo '<OPTION VALUE=\"'.$result_p->id.'\">'.$result_p->pseudo.'</OPTION>';	
													}
													
												echo '</SELECT>';
											$k++;
										?>";
  }
   ma_div.innerHTML=ma_div.innerHTML+'<br /><br /><input type="submit" name="FinAlbum" value="Fin d\'album..." style="font-weight : bold; color:green; background-color:#fda13f; height:35px;"/>';
  
}
</script>
toutes les listes déroulante on le meme nom (participant_1) alors que le 1 c'est une variable $k que j'incrémente a chaque fois mais sa valeur reste tjr 1 :s

Re: afficher ou masquer un div dans un tableau

par Thibaud C » 24 févr. 2012, 13:08

Avec plaisir :)

Re: afficher ou masquer un div dans un tableau

par miiidooo19 » 24 févr. 2012, 13:04

Yeah ça marche ^^ le problème ça vien connexion a la BDD en fait le javascript il est appellé avant le fichier inclu qui contient la connexion a la BDD du coup la requête ne s'exécute pas ^^

Merci pour ton Aide :) =D>

Re: afficher ou masquer un div dans un tableau

par Thibaud C » 24 févr. 2012, 13:02

Si, si cela est possible, du moment que tu peux mettre du php, tu peux faire ceci.

Ouvres tu la connexion à la base de donnée sur cette page ?

Re: afficher ou masquer un div dans un tableau

par miiidooo19 » 24 févr. 2012, 12:48

as-tu essayé ta reqûete depuis ton SGBD ( phpmyadmin par exemple ? )

ton erreur est de quel type ? toujours page blanche bien violente :p ?

oui la requête je l'ai essayé et elle marche bien
je pense qu'on peu pas mettre une requette dans JavaScript non?

pour l'erreur oui toujours la fameuse page blanche :s

Re: afficher ou masquer un div dans un tableau

par Thibaud C » 24 févr. 2012, 12:19

as-tu essayé ta reqûete depuis ton SGBD ( phpmyadmin par exemple ? )

ton erreur est de quel type ? toujours page blanche bien violente :p ?

Re: afficher ou masquer un div dans un tableau

par miiidooo19 » 24 févr. 2012, 12:11

j'ai essayé ton code et il marche trés bien chez moi aussi

la différence entre les deux code c'est que toi tu définis ton array direct et moi j'ai besoin de récupérer de la bdd

donc le problème vien de là
$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;
												} 

Re: afficher ou masquer un div dans un tableau

par Thibaud C » 24 févr. 2012, 11:38

<script type="text/javascript">
  function remplir()
  {
   
  var ma_div=document.getElementById('ma_div');
  ma_div.innerHTML=ma_div.innerHTML+"<br /><?php 
                                                                                        
                                                                                        $mesMembres =array('tibo','toma','sara');
                                                                                        
                                                                                             
                                                                                        $max= sizeof($mesMembres);
                                                                                        
                                                                                        echo '<SELECT name=\"participant_1\">';
                                                                                                        $p=0;
                                                                                                        while ($p < $max)
                                                                                                        {
                                                                                                                        echo '<OPTION VALUE=\"'.$mesMembres[$p].'\">'.$mesMembres[$p].'</OPTION>';
                                                                                                                        $p++;
                                                                                                        }
                                                                                        echo '</SELECT>'; ?>";
}
</script>

<div id="ma_div"></div>
<input type="button" onclick="remplir()" value="test" />
Chez moi ce bout de code marche, donc vérifie ta requête ou je ne sais quoi qui différencie.

Re: afficher ou masquer un div dans un tableau

par miiidooo19 » 24 févr. 2012, 11:24

tu veux dire 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());
											$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>'; ?>";
  }
ça marche tjr pas tjr meme résultat

Re: afficher ou masquer un div dans un tableau

par Thibaud C » 21 févr. 2012, 16:46

Je pense que le petit soucis viens des cotes et doubles cotes, en fait tu ouvres ton : innerHTML+"<br />
avec une double cote, donc jusqu'a que tu referme cette double cote : </SELECT>'; ?>";
tous les doubles cotes vont te casser ton histoire, donc il faut que tu remplace tes " par \"
par exemple echo '<OPTION VALUE=\"'.$mesMembres[$p].'\">'.$mesMembres[$p].'</OPTION>';

(edit : sauf la première et dernière double cote)

Re: afficher ou masquer un div dans un tableau

par Thibaud C » 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.

Re: afficher ou masquer un div dans un tableau

par miiidooo19 » 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>'; ?>";
  }

Re: afficher ou masquer un div dans un tableau

par Thibaud C » 21 févr. 2012, 16:34

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

Re: afficher ou masquer un div dans un tableau

par miiidooo19 » 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