Datatables with odbc [Résolu/Fermé]

Signaler
Messages postés
37
Date d'inscription
mardi 17 avril 2018
Statut
Membre
Dernière intervention
24 mai 2018
-
bechirmrad
Messages postés
37
Date d'inscription
mardi 17 avril 2018
Statut
Membre
Dernière intervention
24 mai 2018
-
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

5 réponses

Messages postés
5310
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
13 décembre 2019
832
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 62627 internautes nous ont dit merci ce mois-ci

[Dal]
Messages postés
5310
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
13 décembre 2019
832
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à :
bechirmrad
Messages postés
37
Date d'inscription
mardi 17 avril 2018
Statut
Membre
Dernière intervention
24 mai 2018

merci beaucoup mon ami c résolu :D