Récuperation de l'identifiant d'une table mysql au survol de la souris sur des liens

agosoftp
Invité n'ayant pas de compte PHPfrance

13 avr. 2015, 13:27

Bonjour vous voudrait un code pour me permettra de récupérer l'identifiant d'une table mysql et d'afficher des données contenues dans la table mysql au survol de la souris sur les liens dans le div class=voir_formation.
mon code n'affiche que les données du dernier lien :

Code : Tout sélectionner

<script type="text/javascript"><!-- div = { show: function(elem) { document.getElementById(elem).style.visibility = 'visible'; }, hide: function(elem) { document.getElementById(elem).style.visibility = 'hidden'; } } --></script> <style type="text/css"><!-- div .voir_formation {visibility:hidden} div .v_formation {visibility:visible} --></style> <div class="nom_formation1"> <?php include('../access.php'); <ul class="s_module"> <?php $sel1="SELECT * from sous_module ORDER BY lib_sous_module "; $res1 = mysql_query($sel1) or die('Erreur SQL !'.$sel1.'<br />'.mysql_error()); while($data1 = mysql_fetch_array($res1)) { ?> <li onMouseOver="div.show('voir_formation'),div.hide('v_formation')" onMouseOut="div.hide('voir_formation'),div.show('v_formation')"><a href="<?php echo'v_formation.php?id='.$data1['id_sous_module'].''; $_SESSION['id']=$data1['id_sous_module'].''; ?>"><?php echo''.$data1['lib_sous_module'].''; ?></a></li> <?php } $sel="SELECT * from sous_module WHERE id_sous_module='".$_SESSION['id']."'"; $res2 = mysql_query($sel) or die('Erreur SQL !'.$sel.'<br />'.mysql_error()); $data2 = mysql_fetch_array($res2); ?> </ul> <div class="voir_formation" id="voir_formation"> <?php echo''.$data2['detail'].'' ;?> </div>

Mammouth du PHP | 688 Messages

13 avr. 2015, 14:27

dans ta boucle, tu dois récupérer une variable de $data1 pour mettre un id au li.

tu fais une seconde boucle pour mysql_fetch_array($res1) afin d'écrire tous les div avec le détail, en non visible.

la fonction onmouseover va récupérer l'id du li et afficher le div correspondant contenant le détail.

agosoftp
Invité n'ayant pas de compte PHPfrance

13 avr. 2015, 15:41

Je ne comprends pas pouvez vous m’éclairer avec un exemple

ViPHP
ViPHP | 1996 Messages

14 avr. 2015, 08:36

Tu peux utiliser jQuery qui va drolement t'aider dans ton cas.
Imaginons une sortie de ta base de données comme celle ci :
//sortie sql : j'utilise la librairie mysqli en mode objet
while ($assoc = $mysqli->assoc()) :
	?>
	<a class="lien" href="<?php echo $assoc["href"]; ?>" id="<?php echo $assoc["id"]; ?>" identifiantTable="<?php echo $assoc["identifiantTable"]; ?>">
		<?php echo $assoc["texteLien"]; ?>
	</a>
	<?php
endwhile;
Tu pourras récupérer les identifiants que j'ai mis en attribut "identifiantTable" via le javascript suivant :

Code : Tout sélectionner

$(document.body).on({ mouseenter : function () { if (typeof($(this).attr('identifianttable')) != "undefined") alert ($(this).attr('identifianttable')); } },'.lien');
Mais tu peux aussi utiliser l'attribut id ou tout autre attribut (c'est cela qu'est magique) :

Code : Tout sélectionner

$(document.body).on({ mouseenter : function () { if (typeof($(this).attr('id')) != "undefined") alert ($(this).attr('id')); } },'.lien');
ou

Code : Tout sélectionner

$(document.body).on({ mouseenter : function () { if (typeof($(this).attr('href')) != "undefined") alert ($(this).attr('href')); } },'.lien');
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr

agosoftp
Invité n'ayant pas de compte PHPfrance

11 mai 2015, 17:45

Bonsoir, comment faire pour afficher l'identifiant récupérer par le java script.

ViPHP
ViPHP | 1996 Messages

12 mai 2015, 09:35

Il suffit de l'ajouter au DOM:

Code : Tout sélectionner

var div = document.createElement('div'); $(div).html('<p>Essai</p>').appendTo('body');
Tu as de disponible :
  • html() pour récupérer ou ajouter du html
    text() pour récupérer ou ajouter du texte
    ou du texte tout court dans une variable (comme dans ton cas)
et
  • append pour ajouter un enfant au DOM stipulé en "last-child" ( ex. $('body').append('<p>essai</p>');)
    appendTo pour ajouter un enfant en "last-child" au DOM stipulé (voir au dessus)
    prepend pour ajouter un enfant au DOM stipulé en "first-child" ( ex. $('body').prepend('<p>essai</p>');)
    prependTopour ajouter un enfant en "first-child" au DOM stipulé
Et..
insertBefore, insertAfter, before, after, ....
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr

agosoftp
Invité n'ayant pas de compte PHPfrance

13 mai 2015, 16:27

Bonsoir, je suis encore novice en programmation web et je ne maitrise pas java script.donc j'aimerais que vous puissiez m'aidez.
comme je l'ai dis je veux au survol de la souris sur l'un des liens afficher l'identifiant de ce lien survolé dans le <div id="voir">.
voici le code:

Code : Tout sélectionner

<?php $sel1="SELECT * from sous_module ORDER BY lib_sous_module "; $res1 = mysql_query($sel1) or die('Erreur SQL !'.$sel1.'<br />'.mysql_error()); while($data1 = mysql_fetch_array($res1)) { ?> <li><a id="<?php echo''.$data1['id_sous_module'].''; ?>"><?php echo''.$data1['lib_sous_module'].''; ?></a></li> <?php } ?> <div id="voir"> Afficher l'identifiant au survol </div>

agosoftp
Invité n'ayant pas de compte PHPfrance

15 mai 2015, 13:38

Bonjour j'ai essayé d'utiliser les indications que vous m'avez donné et voici le code:

Code : Tout sélectionner

<script type="text/javascript"> $(document.body).on({ mouseenter : function () { if (typeof($(this).attr('id')) != "undefined") alert ($(this).attr('id')); } },'.lien'); var div = document.createElement('div'); $(div).html('voir').appendTo('body'); </script> <?php $sel1="SELECT * from sous_module ORDER BY lib_sous_module "; $res1 = mysql_query($sel1) or die('Erreur SQL !'.$sel1.'<br />'.mysql_error()); while($data1 = mysql_fetch_array($res1)) { ?> <li><a class="lien" href="" id="<?php echo''.$data1["id_sous_module"].''; ?>"> <?php echo''.$data1['lib_sous_module'].''; ?></a></li> <?php } ?> <div id="voir" > </div>

cela ne donne rien pouvez vous m'aider