Datatables with odbc

Résolu/Fermé
bechirmrad Messages postés 37 Date d'inscription mardi 17 avril 2018 Statut Membre Dernière intervention 24 mai 2018 - Modifié le 18 avril 2018 à 13:54
bechirmrad Messages postés 37 Date d'inscription mardi 17 avril 2018 Statut Membre Dernière intervention 24 mai 2018 - 18 avril 2018 à 13:53
Bonjour,
<?php
include 'conn.php';
$Chaines = array();


 $rs = odbc_exec($conn,$sqlAllChaines);
 while (odbc_fetch_row($rs))
 {
  $IdChaine=odbc_result($rs,1);
  $Chaines[$IdChaine] = odbc_result($rs,2);
 }

            global $IdChaine, $NomChaine,$Chaines;
      
<html>
<body>
<table class="display" id="example">
<th>Id Chaine</th>
<th>Nom Chaine</th>
<?php 
 foreach ($Chaines as $IdChaine => $NomChaine){ ?>
 <tr>
 <td align="center"> <?php print_r($IdChaine)?> </td>
 <td align="center"> <?php print_r($NomChaine)?> </td>
<?php } ?>
</tr>

</table>
</body>
</html>


Comment je peux faire l'affichage de cet tableau avec un datatable
sachant que la connexion est avec ODBC !! et merci

1 réponse

[Dal] Messages postés 6204 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 27 février 2025 1 102
18 avril 2018 à 13:24
Salut bechirmrad,

Ton code ne dialoguera pas en Ajax avec la base, mais tu peux faire aussi comme tu le fais, c'est à dire en composant le contenu du tableau lors du chargement de la page produite par PHP :-)

Pour activer DataTables dessus, tu dois :

- créer une section HTML
<head>
où tu charges les ressources javascript nécessaires et css, et où tu appelles DataTable sur ton tableau avec son id

- ajouter des sections
<thead>
et
<tfoot>
, et
<tbody>
utilisées par DataTables

sinon, ton tableau reste un simple tableau HTML.

Au final ton code devrait sans doutes ressembler à cela (non testé) :

<?php

include 'conn.php';
$Chaines = array();

$rs = odbc_exec($conn,$sqlAllChaines);
while (odbc_fetch_row($rs))
{
    $IdChaine=odbc_result($rs,1);
    $Chaines[$IdChaine] = odbc_result($rs,2);
}

global $IdChaine, $NomChaine,$Chaines; 

?>

<html>
<head>
    <meta http-equiv="Content-type" content="text/html; charset=utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1">
    <title>DataTables simple example</title>
    <link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.10.16/css/jquery.dataTables.min.css">
    <script type="text/javascript" language="javascript" src="https://code.jquery.com/jquery-1.12.4.js"></script>
    <script type="text/javascript" language="javascript" src="https://cdn.datatables.net/1.10.16/js/jquery.dataTables.min.js"></script>
    <script type="text/javascript" class="init">
$(document).ready(function() {
    $('#example').DataTable();
} );
    </script>
</head>
<body>
    <table class="display" id="example">
        <thead>
            <tr>
                <th>Id Chaine</th>
                <th>Nom Chaine</th>
            </tr>
        </thead>
        <tbody>
<?php foreach ($Chaines as $IdChaine => $NomChaine){ ?> 
            <tr>
            <td align="center"> <?php print_r($IdChaine)?> </td>
            <td align="center"> <?php print_r($NomChaine)?> </td>
            </tr> 
<?php } ?> 
        </tbody>
        <tfoot>
            <tr>
                <th>Id Chaine</th>
                <th>Nom Chaine</th>
            </tr>
        </tfoot>

    </table>
</body>
</html>


Il y avait des erreurs dans ton code PHP aussi, que j'ai normalement corrigées, car tu ne fermais pas la balise PHP après ta déclaration des variables, et tes lignes du tableau n'étaient pas fermées avec
</tr>
dans la boucle foreach.

Comme je n'ai pas pu tester (notamment la partie odbc), il se peut qu'il y ait d'autres erreurs.

Je pense aussi que
global
ne sert à rien, car tes variables ne sont dans aucune fonction (en l'état), mais à toi de voir ce que tu fais de ce code.

Dal
1
[Dal] Messages postés 6204 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 27 février 2025 1 102
18 avril 2018 à 13:32
quand tu postes du code sur le forum, s'il te plaît utilise les balises de <code php> permettant de préserver l'indentation de ton code, de colorer la syntaxe et numéroter tes lignes. Si tu n'as pas vu le bouton de l'éditeur te permettant de poster ton code correctement, il est là :
0
bechirmrad Messages postés 37 Date d'inscription mardi 17 avril 2018 Statut Membre Dernière intervention 24 mai 2018
18 avril 2018 à 13:53
merci beaucoup mon ami c résolu :D
0