Datatables with odbc

Résolu
bechirmrad Messages postés 37 Date d'inscription   Statut Membre Dernière intervention   -  
bechirmrad Messages postés 37 Date d'inscription   Statut Membre Dernière intervention   -
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 6205 Date d'inscription   Statut Contributeur Dernière intervention   1 105
 
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 6205 Date d'inscription   Statut Contributeur Dernière intervention   1 105
 
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   Statut Membre Dernière intervention  
 
merci beaucoup mon ami c résolu :D
0