begin process at 2012 05 29 15:21:52
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

CSS

 > 

Général

 > 

Pb style.visibility sous Php


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Pb style.visibility sous Php

samedi 17 juillet 2010 à 20:17:56 | Pb style.visibility sous Php

jpsoniag

Bonjour,

Je suis débutant en Php. J'ai suivi les infos du siteduzero pour essayer de créer un truc assez simple.
Je vais en base rechercher des joueurs et les fonctions qu'ils peuvent occuper (arbitre, équipe, entraineur, ...).

En arrivant sur la page, l'ensemble des joueurs est affiché. En bas de la page, toutes les fonctions disponibles sont placées.

ce que je cherche à faire, c'est quand le pointeur passe sur une fonction, les joueurs ayant cette qualification restent affichés, les autres sont cachés. Quand la souris sort de la fonction, tous les joueurs se réaffichent.

Pour cela, j'utilise un tableau associatif à 2 dimensions :
['joueur1'][0]='arbitre'
['joueur1'][1]='equipe1'
...

Les appels par les onmouseover et onmouseout marchent mais le javascript n'est pas très compréhensif. Soit il ne cache rien, soit quand je lui dit de tout cacher (pour voir), en sortie de zone, il ne me réaffiche rien.

Je suis en panne séche. Si l'un d'entre vous pouvait m'aider, ce serait très aimable. Je teste à la fois sur IE8 et sur Chrome. c'est idem.

Voici le code de la page :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<?php
try
{
//connection BDD
$bdd=new PDO('mysql:host=localhost;dbname=VBCD','root','');

}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
//on récupére toutes les infos dont on a besoin
$joueurs = $bdd->query('select * from JOUEUR j inner join ACTIVITE a on j.id=a.id_joueur where a.annee=\'20092010\' and a.id_fonction=\'jo\' order by j.nom') or die(print_r($bdd->errorInfo()));

$fonctionx = $bdd->query('select f.id, f.role from FONCTION f inner join ACTIVITE a on f.id=a.id_fonction where a.annee=\'20092010\' group by f.id, f.role') or die(print_r($bdd->errorInfo()));

$tableau = $bdd->query('select * from ACTIVITE where annee=\'20092010\' order by id_joueur') or die(print_r($bdd->errorInfo()));
?>




<head>
<title>liste des joueurs</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>


<body>

<SCRIPT language="Javascript">
//construction du tableau associatif à 2 dimensions
var activite = new Array();
<?php
$id="";
$i=0;
while($element=$tableau->fetch())
{
if($element['ID_JOUEUR']!=$id)
{
echo 'activite[\''.$element['ID_JOUEUR'].'\']=new Array();';
$i=0;
$id=$element['ID_JOUEUR'];
}
echo 'activite[\''.$element['ID_JOUEUR'].'\']['.$i.']=\''.$element['ID_FONCTION'].'\';';
$i++;
}
?>
//fonction qui cache les joueurs qui n'ont pas la fonction
function cache(idAfficher)
{
for(var key in activite)
{
document.getElementById(key).style.visibility='hidden';
var role=activite[key];
for(var j=0; j<role.length;j++)
{
if(role[j]=idAfficher);
{
document.getElementById(key).style.visibility='visible';
}
}
}
}
// fonction qui réaffiche tout le monde
function affiche()
{
for(var key2 in activite)
{
document.getElementById(key2).style.visibilty='visible';
}
}
</SCRIPT>

<?php $tableau->closeCursor(); ?>

<h2>Les JOUEURS</h2>
<?php
// on affiche tous les joueurs
$premier=true;
$colonne=1;
while($joueur=$joueurs->fetch())
{
if($premier)
{
echo '<table width=\'100%\'>';
$premier=false;
}

if($colonne==1)
{
echo '<tr>';
}
if($joueur['ALIAS']=="")
{
echo '<td width=\'12%\' align=\'center\'><span id=\''.$joueur['ID_JOUEUR'].'\'><img src=\''.$joueur['PHOTO'].'\' alt=\''.$joueur['PRENOM'].' '.$joueur['NOM'].'\' title=\''.$joueur['PRENOM'].' '.$joueur['NOM'].'\'/></span></td>';
}else{
echo '<td width=\'12%\' align=\'center\'><span id=\''.$joueur['ID_JOUEUR'].'\'><img src=\''.$joueur['PHOTO'].'\' alt=\''.$joueur['PRENOM'].' '.$joueur['NOM'].'\' title=\''.$joueur['PRENOM'].' '.$joueur['NOM'].' alias '.$joueur['ALIAS'].'\' /></span></td>';
}

$colonne++;
if($colonne==9)
{
echo '</tr>';
$colonne=1;
}
}
if($colonne!=1)
{
while($colonne!=9)
{
echo '<td></td>';
$colonne++;
}
echo '</tr>';
}
echo '</table>';
$joueurs->closeCursor();

// on affiche toutes les fonctions possibles
echo '<table width=\'100%\'>';
echo '<tr>';
while($fonction=$fonctionx->fetch())
{
echo '<td width=\'12%\'><span onmouseover="cache(\''.$fonction['id'].'\');" onmouseout="affiche();" ><img src=\'../photos/ballon2.png\' alt=\'ballon.png\' style="vertical-align:middle"/><strong>'.$fonction['role'].'</strong>&nbsp</span></td>';
}
echo '</tr></table>';

$fonctionx->closeCursor();

?>
</body>
</html>

Cordialement,
Jean-Philippe
lundi 19 juillet 2010 à 20:19:22 | Re : Pb style.visibility sous Php

PetoleTeam

Membre Club
Bonjour,
...mais le javascript n'est pas très compréhensif...
je te rassures pour nous non plus

- Utilises les balises de code à ta disposition pour mettre ton code, dans le bandeau au dessus de la boîte de saisie
- Mets nous la page générée par le PHP, click droit -> afficher la source, et non pas le PHP brut

...dans ce cas il se pourrait que l'on puisse t'aider
;O)
lundi 19 juillet 2010 à 21:23:39 | Re : Pb style.visibility sous Php

jpsoniag

Réponse acceptée !
La prochaine fois je saurais. Quand on débute, on débute partout....
Sinon, après maintes recherches, j'ai trouvé il y a 5 minutes, c'est tout bête : si je savais taper au clavier cela irait mieux, cela éviterais de mettre style.visibilty !!!!

Merci pour avoir pris le temps de lire......
Cordialement
Jean-Philippe


Cette discussion est classée dans : fonction, id, echo, joueur, joueurs


Répondre à ce message

Sujets en rapport avec ce message

Passage de tableau en paramètre d'une fonction [ par Mask ] Je génère un tableau nommé "Tab"contenant des nombres en PHP....jusqu'ici tout va bien: mon tableau se rempli des valeurs souhaitées.Ensuite je veux f liste grisée en fonction de la valeur d'une autre liste [ par zincben ] bonjour, je commence en php, javascript, et je veux générer un formulaire en php, avec un javascript qui grise ma 2nde liste quand la 1ère prend une c Rationaliser une fonction... [ par Grand Mamamouchi ] Bonjour !j'ai ecrit un script qui produit un effet de generique de film (le texte s'evanouit vers le haut et vers le bas de la fenetre). Il fait exact fonction onchange pr listes deroulantes liees [ par kelkune ] g deu liste deroulante don lune se rempli a partir de lautre il me faudrai la fonction onchange a placer dan la 1ere liste deroulante pr remplir la de Problème de variable [ par mightteam ] Bonjour ,Alors voila j'ai un petit soucis :J'ai crée une fonction en javascript sensée changé la couleur de mon tableau en fonction de la couleur que Récuperer une variable php grâce a une fonction php appelé dans un onclick d'un bouton formulaire [ par Maiku ] BonjourJe cherche a recuperer une variable php grâce a une fonction php appelé dans un onclick d'un bouton, je valide mon formulaire via le javascript [DOM]Conserver une valeur après ajout d'un child [ par malalam ] Hello,le titre n'est pas super clair parce que je ne savais pas comment résumer.J'appelle une fonction sur un évènement (onchange d'un select : bref, l'id de l'input... [ par Teclis01 ] voilà j aimerais changer la couleur de la case sur laquelle l'utilisateur pointe.chaque case est crée dans une boucle ou son id est unique La question Impossible d'envoyer ma string dans ma fonction !! [ par k3k3 ] Voila je suis en train de créer un forum en php. Pour améliorer le tout je voudrai faire une fonction qui permette à l'utilisateur d'éditer ses messag Listes déroulantes avec AJAX [ par dam_37 ] Salut à tous!Je réalise un formulaire dont 3 listes déroulantes sont dépendantes l'une de l'autre, je vous explique:J'ai un champ (channel), en sélect


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,198 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales