Récupération données tableau PHP/HTML
Bonjour,
Je suis, en ce moment, en train d'implémenter un tableau HTML/PHP qui récupère des données dans une base de données ORACLE. Avec l'aide de fonctions JAVASCRIPT, j'affiche le tableau ainsi qu'un petit menu afin d'interagir (éditer/supprimer/ajouter des lignes au tableau et donc à la base de données). Je peux aussi mettre en surbrillance les lignes et les selectionner. Je peux savoir quelle ligne est selectionnée grâce à 'ligne.rowIndex' en JAVASCRIPT.
Là le code PHP/HTML qui genère le tableau :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
|
function execute_requete($select,$where,$order)
{
// La variable '$serveur' devient globale
global $serveur;
$sql = $select . ' ' . $where.' '.$order;
// Execution requête
$res= odbc_exec ($serveur,$sql);
return $res;
}
$clause_select = '...';
$clause_where = '...';
$clause_order = '...';
if ($q <> '')
{
$clause_where = $clause_where . ' AND ' .$q;
}
if ($r <> '')
{
$clause_order = $r;
}
// Execution requête avec fonction 'execute_requete'
$res = execute_requete($clause_select,$clause_where,$clause_order);
// Entête du tableau
// Decription des attributs de la balise 'table'
// border = affiche (1) ou non (0) les bordures du tableau
echo "<table name='table' border='1' bordercolor='black' bordercolordark='' cellspacing='1' cellpadding='1' frame='' rules='rows'>";
echo "<tr align='center' bgcolor='#1E90FF'>
<th><font face='Verdana' size='2' color='#FFFFFF'>IDDOC</th>
<th><font face='Verdana' size='2' color='#FFFFFF'>INSEE</th>
<th><font face='Verdana' size='2' color='#FFFFFF'>DESCRIPTION</th>
<th><font face='Verdana' size='2' color='#FFFFFF'>FICHIER</th>
<th><font face='Verdana' size='2' color='#FFFFFF'>TYPE</th>
<th><font face='Verdana' size='2' color='#FFFFFF'>PHOTO_DEFAUT</th>
<th><font face='Verdana' size='2' color='#FFFFFF'>DOC_NUM</th>
<th><font face='Verdana' size='2' color='#FFFFFF'>DATE_SAVE_DOC</th>
<th><font face='Verdana' size='2' color='#FFFFFF'>DATE_SAVE_PUB</th>
<th><font face='Verdana' size='2' color='#FFFFFF'>TAG_ADMIN</th>
<th><font face='Verdana' size='2' color='#FFFFFF'>TAG_DELETE</th>
<th><font face='Verdana' size='2' color='#FFFFFF'>LPN</th>
<th><font face='Verdana' size='2' color='#FFFFFF'>ENTITYID</th>
</tr>";
//Parcours curseur PHP en variable tableau
while($row = odbc_fetch_array($res))
{
echo "<tr align='center' name='ligne' onclick='clic_selection(this)' onmousemove='change_lavender(this)' onmouseout ='change_transparent(this)'>";
echo "<td id='iddoc'><font face='Verdana' size='2' color='red'>" . $row['IDDOC'] . "</td>";
echo "<td><font face='Verdana' size='2' color='black'>" . $row['INSEE'] . "</td>";
echo "<td><font face='Verdana' size='2' color='black'>" . $row['DESCRIPTION'] . "</td>";
echo "<td><font face='Verdana' size='2' color='blue'>" . "<a href=" . $row['FICHIER'] . ">Fichier correspondant</a>" . "</td>";
echo "<td><font face='Verdana' size='2' color='black'>" . $row['TYPE'] . "</td>";
echo "<td><font face='Verdana' size='2' color='black'>" . $row['PHOTO_DEFAUT'] . "</td>";
echo "<td><font face='Verdana' size='2' color='black'>" . $row['DOC_NUM'] . "</td>";
echo "<td><font face='Verdana' size='2' color='black'>" . $row['DATE_SAVE_DOC'] . "</td>";
echo "<td><font face='Verdana' size='2' color='black'>" . $row['DATE_SAVE_PUB'] . "</td>";
echo "<td><font face='Verdana' size='2' color='black'>" . $row['TAG_ADMIN'] . "</td>";
echo "<td><font face='Verdana' size='2' color='black'>" . $row['TAG_DELETE'] . "</td>";
echo "<td><font face='Verdana' size='2' color='black'>" . $row['LPN'] . "</td>";
echo "<td><font face='Verdana' size='2' color='black'>" . $row['ENTITYID'] . "</td>";
echo "</tr>";
} |
Et là le code JAVASCRIPT qui gère le changement de couleur des lignes :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
/*******************************************************
Gestion du changement de couleur des lines du tableau
*******************************************************/
var select = 0;
var temp;
// Colore la line en transparent
function change_transparent(line)
{
if (line.style.background!='orange') line.style.background='transparent';
}
// Colore la line en lavande
function change_lavender(line)
{
if (line.style.background!='orange') line.style.background='lavender';
}
// Colore la line en transparent si elle est orange
// Remet en transparent la line selectionnée precedement et colore celle si en orange si differente
// Indique qu'une line est selectionnée en mettant le parametre select a 1
function clic_selection(line){
if (!select)
{
select = 1;
line.style.background='orange';
temp=line;
show_menu();
}
else
{
if (line.style.background=='orange')
{
select = 0;
line.style.background='transparent';
hide_menu();
}
else
{
temp.style.background='transparent';
line.style.background='orange';
temp=line;
show_menu();
}
}
} |
Cependant je souhaite aussi pouvoir récupérer les champs d'une cellule de mon tableau. Et je n'arrive pas à pointer dessus. J'ai essayé avec 'getElementById' mais cela ne fonctionne pas. Si quelqu'un a une meilleure proposition, je suis preneur...
Merci d'avance