php et javascript

donny
Invité n'ayant pas de compte PHPfrance

06 mai 2005, 11:21

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>

Mammouth du PHP | 19672 Messages

06 mai 2005, 11:29

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>
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

donny1
Invité n'ayant pas de compte PHPfrance

06 mai 2005, 11:42

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

Eléphant du PHP | 357 Messages

06 mai 2005, 11:45

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

Mammouth du PHP | 19672 Messages

06 mai 2005, 11:47

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 :)
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

ViPHP
fab
ViPHP | 2657 Messages

06 mai 2005, 18:33

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

Eléphant du PHP | 406 Messages

06 mai 2005, 23:40

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>...

Mammouth du PHP | 1339 Messages

07 mai 2005, 02:29

Manque un <? } ?>
Bon sinon tu me fais un message privé et on se fait un TeamViewer

Eléphant du PHP | 406 Messages

07 mai 2005, 10:44

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

Mammouth du PHP | 19672 Messages

07 mai 2005, 10:51

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.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 406 Messages

07 mai 2005, 11:43

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