Fonction javascript remplissant 1 formulaire

Eléphanteau du PHP | 40 Messages

23 févr. 2006, 18:21

-Bonjour, voila après la création de mon menu / sous menu lié à une base de donnée http://www.phpfrance.com/forums/voir_sujet-14695.php. J'aimerai réalisé une fonction me permettant quand je clic sur 1 nom de fiche ( sous menu ) d'afficher tout les données ( champs ) lié à cette fiche dans 1 formulaire de cette meme page.

voici le code fini de mon menu
<script type="text/javascript"> 
/* <![CDATA[ */ 
window.onload=montre; 
function montre(id) 
{ 
    var d = document.getElementById(id); 
    for (var i = 1; i<=10; i++) 
    { 
        if (document.getElementById('smenu'+i)) {document.getElementById('smenu'+i).style.display='none';} 
    } 
    if (d) {d.style.display='block';} 
} 
/* ]]> */ 
</script> 
</head> 
<body> 
<dl id="menu1"> 
<?php 
include ("mysqlconnect.php"); 

//requete grandes rubriques 
$sql = "SELECT m.applicationModM, f.nomFiche ". 
       "FROM modulemis m, fiches f ". 
       "WHERE enseigne = m.applicationModM ". 
       "ORDER BY m.applicationModM, f.nomFiche"; 
$requete = mysql_query($sql);
 
$menu= "";
$i = 1; 
$fin = false; 
while($data = mysql_fetch_array($requete)) 
	{ 
    if($menu != $data['applicationModM']) 
		{ 
		$menu = $data['applicationModM'];
		if($i > 1) 
        { 
?>
            </ul> 
            </dd> 
<?php 
        } 
?> 
  <dt onclick="javascript:montre('smenu<?php echo $i; ?>');"><Br><?php echo $data['applicationModM']; ?></dt>  
            <dd id="smenu<?php echo $i; ?>"> 		
                <ul> 			
<?php $i++; 
        } 
?>        
        <li><a href="#"><?php echo $data['nomFiche']; ?></a></li>            
<?php 
      
    }     
?>    
          
</dl>
Mon idée:

Utilisé $data['nomFiche'] pour ma requete

Eléphanteau du PHP | 40 Messages

23 févr. 2006, 18:28

Utilisé $data['nomFiche'] pour ma requete pour chercher donc les infos de ma fiches

select *
from...
where nomFiche= $data['nomFiche']

et faire une fonction javascript mais comment je suis perdu avec tout ca, je dois utilisé 1 page php de traitement ? utilisé seulement du javascript ? impossible la requete est obligatoire je pense.

:wink:
thx

Eléphanteau du PHP | 40 Messages

24 févr. 2006, 11:49

Après étude, svp répondez moi, pouvez vous me dire si je vais faire n'importe quoi :agenouille:

"accueil.php"
L'utilisateur clic sur la fiche du menu qui lui convient,
ainsi le nom du sous menu séléctionner devient variable de session
$SESSION['menuselect']

"accueil2.php"
A l'aide de la variable de session effectue une requete poru séléctionner les champs dans la bdd correspondant à cette fiche, et affiche à l'aide de javascript les champs, dans les champs du formulaires.

Dite moi, je vais faire 1 bêtise ? Si je n'en fais pas, comment récupérer la selection dans le menu pour $SESSION['menuselect'], sachant le code suivant:
while($data = mysql_fetch_array($requete)) 
	{ 
    if($menu != $data['applicationModM']) 
		{ 
		$menu = $data['applicationModM'];
		if($i > 1) 
        { 
?>
            </ul> 
            </dd> 
<?php 
        } 
?> 
  <dt onclick="javascript:montre('smenu<?php echo $i; ?>');"><Br><?php echo $data['applicationModM']; ?></dt>  
            <dd id="smenu<?php echo $i; ?>"> 		
                <ul> 			
<?php $i++; 
        } 
?>        
        <li><a href="#"><?php echo $data['nomFiche']; ?></a></li>
merci O:)

Eléphanteau du PHP | 40 Messages

24 févr. 2006, 17:08

J'ai l'impression de parler tout seul ](*,) :-({|=

Eléphanteau du PHP | 40 Messages

24 févr. 2006, 17:37

bon bein je continu :lol:

J'ai donc remplacer:
<li><a href="#"><?php echo $data['nomFiche']; ?></a></li> 
par:
<li><a href="traitementmenu.php" onclick $_SESSION['menu'] = $data['nomFiche'];><?php echo $data['nomFiche']; ?></a></li>
Ce qui permet d'envoyer vers la page "traitementmenu.php" la variable $_SESSION['menu'] sur laquel j'effectuerai une requete permettant d'insérer par la suite mes champs dans mon formulaires.

Je vais dans la bonne direction ou il a plus simple :roll: :?:

Eléphanteau du PHP | 40 Messages

24 févr. 2006, 17:38

j'hésite sur
onclick $_SESSION['menu'] = $data['nomFiche'];
ou plutot
onclick =("$_SESSION['menu'] = $data['nomFiche'])";

Mammouth du PHP | 19672 Messages

24 févr. 2006, 20:29

Tu mélanges deux langages : le JavaScript s'exécute coté client, le PHP coté serveur : comment un évènement JavaScript onclick pourrait-il agir sur le serveur selon toi ?

Ce que tu dois faire éventuellement, c'est sur le onclick faire soumettre ton formulaire mais en ayant au préalable alimenté un champ caché auquel tu aurais affecté une valeur: au rechargement, il y aura à nouveau génération de code coté serveur et la valeur en question pourra être interceptée (coté serveur) pour l'affecter à une variable de session et afficher à nouveau le formulaire pour la suite.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 40 Messages

27 févr. 2006, 15:10

ok,

donc si je comprend à peu près correctement :lol: , voici ce que je compte faire:
Rajouté dans mon menu de la page d'accueil :

Code : Tout sélectionner

<INPUT type="hidden" name="menuclick" value="">
Pour ensuite dans mon menu faire, pour la ligne des sous menu ou l'on clic:
       <li><a href="traitementmenu.php" onclick="javascript:menuclick('<?php $data['nomFiche']; ?>');">
	   <?php echo $data['nomFiche']; ?></a></li>


appliqué à
<script type="text/javascript">  
function menuclick(valeur) 
{ 
document.form2.menuclick.value=valeur;
}  
</script>
Je fais des betises ? :-k

Eléphanteau du PHP | 40 Messages

28 févr. 2006, 15:12

:?: [-o<