afficher ou masquer un div dans un tableau

Eléphant du PHP | 179 Messages

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)

Eléphant du PHP | 417 Messages

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

Eléphant du PHP | 179 Messages

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.

Eléphant du PHP | 417 Messages

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;
												} 

Eléphant du PHP | 179 Messages

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 ?

Eléphant du PHP | 417 Messages

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

Eléphant du PHP | 179 Messages

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 ?

Eléphant du PHP | 417 Messages

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>

Eléphant du PHP | 179 Messages

24 févr. 2012, 13:08

Avec plaisir :)

Eléphant du PHP | 417 Messages

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

Eléphant du PHP | 179 Messages

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 ?