Page 1 sur 1
php et javascript
Posté : 06 mai 2005, 11:21
par donny
salut,
J ai fait un code en php qui recupere les données de ma base et les affiche dans un tableau, le truc est que j aimerais que lorsque le curseur de la souris passe dessus une ligne du tableau elle change de couleur et quand il s enleve elle retrouve sa couleur
donc voila mon code php
Code : Tout sélectionner
<?
include("connexion.inc.php");
$sql='select * from personne order by nom_perso';
$result=pg_query($sql);
echo '<table bgcolor="blue" width="80%" border="1">';
while($list=pg_fetch_array($result))
echo '<tr bgcolor="silver"><td>'.$list['id_perso'].'</td><td>'.$list['nom_perso'].'</td><td>'.$list['prenom_perso'].'</td><td>'.$list['ville'].'</td></tr>';
echo '</table>';
?>
et le code javascript qui permet de faire la surbrillance est celui ci mais je ne sais pas comment l integrer dans ma page php et quelle extension donnée ensuite à ma page php.
Code : Tout sélectionner
<script type="text/javascript">
var l=document.getElementsByTagName('table')[0].rows;
for(i=0;i!=l.length;i++){
l[i].onmouseover=function(){this.style.backgroundColor='#ff0000'}
l[i].onmouseout=function(){this.style.backgroundColor='#ffff00'}
}
</script>
Posté : 06 mai 2005, 11:29
par Cyrano
Essaye un truc comme ça (beaucoup plus simple)
<html>
<head>
<title>Roll-over sur une ligne de tableau</title>
</head>
<body>
<table border="1" summary="">
<tr onmouseover="this.style.backgroundColor='#6666ff'" onmouseout="this.style.backgroundColor='#ffffff'" style="background-color: #ffffff">
<td>Bla bla bla bla bla bla bla bla bla </td>
<td>Bla bla bla bla bla bla bla bla bla </td>
</tr>
</table>
</body>
</html>
Posté : 06 mai 2005, 11:42
par donny1
j ai modifier le code et j obtiens cela
Code : Tout sélectionner
<?
include("connexion.inc.php");
$sql='select * from personne order by nom_perso';
$result=pg_query($sql);
echo '<table width="80%" border="1">';
while($list=pg_fetch_array($result))
echo '<tr onmouseover="this.style.backgroundColor='yellow'" onmouseout="this.style.backgroundColor='silver'" style="background-color: yellow"><td>'.$list['id_perso'].'</td><td>'.$list['nom_perso'].'</td><td>'.$list['prenom_perso'].'</td><td>'.$list['ville'].'</td></tr>';
echo '</table>';
?>
mais j ai ce message d erreur
Parse error: parse error, expecting `','' or `';'' in c:\documents and settings\franky\bureau\avion\liste.php on line 9
Posté : 06 mai 2005, 11:45
par seayoung
il est fort probable que je me trompe Cyrano poura plus le confirmer mais il ne manque pas des \ avant tes " ??? dans :
echo '<tr onmouseover="this.style.backgroundColor='yellow'" onmouseout="this.style.backgroundColor='silver'" style="background-color: yellow"><td>'.$list['id_perso'].'</td><td>'.$list['nom_perso'].'</td><td>'.$list['prenom_perso'].'</td><td>'.$list['ville'].'</td></tr>';
Posté : 06 mai 2005, 11:47
par Cyrano
Normal, tu n'as pas /échappé" les apostrophes dans la chaine:
echo '<tr onmouseover="this.style.backgroundColor=\'yellow\'" onmouseout="this.style.backgroundColor=\'silver\'" style="background-color: yellow"><td>'.$list['id_perso'].'</td><td>'.$list['nom_perso'].'</td><td>'.$list['prenom_perso'].'</td><td>'.$list['ville'].'</td></tr>';
Ceci dit, tu aurais pu faire autrement :
while($list=pg_fetch_array($result))
{
?>
<tr onmouseover="this.style.backgroundColor='yellow'" onmouseout="this.style.backgroundColor='silver'" style="background-color: yellow">
<td><?echo($list['id_perso']); ?></td>
<td><?echo($list['nom_perso']); ?></td>
<td><?echo($list['prenom_perso']); ?></td>
<td><?echo($list['ville']); ?></td>
</tr>
<?php
}
C'est plus propre et plus lisible

Posté : 06 mai 2005, 18:33
par fab
si on utilise les shorts tags autant le faire a fond
while($list=pg_fetch_array($result))
{
?>
<tr onmouseover="this.style.backgroundColor='yellow'" onmouseout="this.style.backgroundColor='silver'" style="background-color: yellow">
<td><?=$list['id_perso']; ?></td>
<td><?=$list['nom_perso']; ?></td>
<td><?=$list['prenom_perso']; ?></td>
<td><?=$list['ville']; ?></td>
</tr>
<?php
}
<?=$var; ?> est en fait un <?php echo $var; ?>
Posté : 06 mai 2005, 23:40
par donny
merci sa marche en echapant les "
mais j ai essayer avec les short tags
donc mon fichier aura l extension .php
mais j avoue que je ne connaissais pas cette façon de faire et j ai essayer de completer le code pour que cela fonctionne mais sa bogue
[code]<html>
<head>
</head>
<body>
<?
include("connexion.inc.php");
$sql='select * from personne order by nom_perso';
$result=pg_query($sql);
while($list=pg_fetch_array($result))
{
?>
<tr onmouseover="this.style.backgroundColor='yellow'" onmouseout="this.style.backgroundColor='silver'" style="background-color: yellow">
<td><?=$list['id_perso']; ?></td>
<td><?=$list['nom_perso']; ?></td>
<td><?=$list['prenom_perso']; ?></td>
<td><?=$list['ville']; ?></td>
</tr>
</body>
</html>
[/code]
et l erreur
[quote]
Parse error: parse error in c:\documents and settings\franky\bureau\avion\liste3.php on line 24
[/quote]
et je ne vois vraiment pas pourtant j ai mis les balise <html>...
Posté : 07 mai 2005, 02:29
par Elie
Manque un <? } ?>
Posté : 07 mai 2005, 10:44
par donny
exact :D merci
en faite on peut mettre des balises html et mettre du php entre <? ?> quand on en a besoin et sauvegarder tout cela en .php et il lira quand meme le html
Posté : 07 mai 2005, 10:51
par Cyrano
Tu pourrais même enregistrer une page en pur html sans la moindre ligne de php en .php
Ça ne servirait pas à grand chose, mais techniquement c'est valable.
Posté : 07 mai 2005, 11:43
par donny
merci
[quote]Celui qui pose une question est bête 5minutes;
celui qui n'en pose pas reste bête toute sa vie..[/quote]
Excellent ce proverbe