IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

jQuery Discussion :

Data Table et MySQL


Sujet :

jQuery

  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2012
    Messages : 90
    Par défaut Data Table et MySQL
    Bonjour à tous,
    Pour commencer je ne sais pas si je suis sur le bon forum, vous pouvez donc déplacer le sujet si nécessaire.

    Je viens de télécharger DataTables (http://datatables.net/index) et je rencontre un problème lorsque je lui soumet un tableau issu d'une requête sur ma base, je m'explique :
    - lorsque je lui soumet des champs manuellement, aucun problème le tableau s'affiche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <tbody>
    <tr>
    <td>champs1</td>
    <td>champs2</td>
    ...
    </tr
    </tbody>
    - lorsque je lui soumet un tableau issu d'une requete, il me retourne "No data available in table":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <tbody>
    <?php 
    include("connexionbd.php"); 
    $requete="Select...";
    $resultat=mysql_query($requete) or die ('ERREUR'...);
    while ($ligne=mysql_fetch_assoc($resultat))
    {
    $champs1=$ligne['Champs1'];
    $champs2=$ligne['Champs2'];
    ...
    echo"<tr>
    <td>champs1</td>
    <td>champs2</td>
    </tr>";}
    ?>
    </tbody>
    Ce tableau s'affiche pourtant correctement en dehors de DataTables.

    Quelqu'un a-t-il une idée?

  2. #2
    Membre éclairé Avatar de tigunn
    Homme Profil pro
    Développeur de bug
    Inscrit en
    Janvier 2003
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de bug

    Informations forums :
    Inscription : Janvier 2003
    Messages : 608
    Par défaut Exemple complet
    Bonjour,
    Comme ta requête manque de quelques codes, voici un exemple complet et fonctionnel:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    <script type="text/javascript">
    // Mise en page du tableau des termes
    dom.query(document).ready(function() {
        dom.query('#datatable').dataTable( {
            "bJQueryUI": true,
            "sPaginationType": "full_numbers",
            "sDom": 'T<"clear">lfrtip',
            "oLanguage": {
                "sUrl": "jscripts/datatable/media/js/fr_FR.txt"
            }
        } );
    } );
     
    </script> 
    <?php
    //	definitions
    $termes=terme::getTabAssocAllLabelsAllType(true);
     
     
    //	affichage
    echo '<form id="form_add_terme" method="post" action="save_plan.php">
    <input type="hidden" name="node" value="plan"/>
    <input type="hidden" name="mode" value="add_terme"/>
    <input type="hidden" name="idp" value="'.$id_plan.'"/>
    <input type="hidden" name="idu" value="'.$id_user.'"/>
    <input type="hidden" name="addTerme" value="true"/>
     
    <table cellpadding="0" cellspacing="0" id="datatable">
    	<thead>
    		<tr>
    			<th class="col_icone"></th>
    			<th>'.gettext('Termes').'</th>
    			<th>'.gettext('Termes liés').'</th>
    			<th>'.gettext('Type').'</th>
    		</tr>
    	</thead>
    	<tbody>';
     
    foreach ($termes as $id_terme => $term) {
    	echo '<tr>
    		<td class="col_icone"><input type="checkbox" name="add_term_'.$id_terme.'" id="add_term_'.$id_terme.'" class="chkbox_sur_une_ligne"/></td>
    		<td>'.$term['intitule'].'</td>
    		<td>'.$term['intitules_lies'].'</td>
    		<td>'.$term['type_lbl'].'</td>
    	</tr>';
    }
     
    echo '</tbody>
    </table>
    J'espère que cela pourra t'aider.
    Ce code est à manipuler avec la plus grande considération

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2012
    Messages : 90
    Par défaut
    Bonjour,
    merci pour ta réponse mais je suis un peu largué.
    Sur le site DataTables, le "zero configuration" correspond aux lignes suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    			$(document).ready(function() {
    				$('#example').dataTable();
    			} );
    Pourquoi cela ne fonctionne-t-il pas avec un tableau issue d'une requête? Comment l'adapter?

    et que signifie cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    //	definitions
    $termes=terme::getTabAssocAllLabelsAllType(true);
    De plus je n'ai pas le fichier fr_FR.txt

  4. #4
    Membre éclairé Avatar de tigunn
    Homme Profil pro
    Développeur de bug
    Inscrit en
    Janvier 2003
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de bug

    Informations forums :
    Inscription : Janvier 2003
    Messages : 608
    Par défaut
    La bibliothèque Datatable permet la mise en page, de ton tableau html. Son utilisation est simple à la base il faut donner un id a ton tableau
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <table cellpadding="0" cellspacing="0" id="datatable">
    pour mon exemple;
    et pour toi si tu rajouter ce code jquery a ta page:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $(document).ready(function() {
    				$('#example').dataTable();
    			} );
    tu devras déclarer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <table id="example"><tbody>
    <?php 
    include("connexionbd.php"); 
    $requete="Select...";
    $resultat=mysql_query($requete) or die ('ERREUR'...);
    while ($ligne=mysql_fetch_assoc($resultat))
    {
    $champs1=$ligne['Champs1'];
    $champs2=$ligne['Champs2'];
    ...
    echo"<tr>
    <td>champs1</td>
    <td>champs2</td>
    </tr>";}
    ?>
    </tbody>

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2012
    Messages : 90
    Par défaut
    oui l'id de mon tableau est correcte. ça fonctionne lorsque je rempli manuellement les td mais pas lorsque le tableau se rempli par une requete.

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    mais pas lorsque le tableau se rempli par une requete.
    Du code !!!!
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  7. #7
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2012
    Messages : 90
    Par défaut
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html>
    	<head>
    		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
    		<link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/favicon.ico" />
     
    		<style type="text/css" title="currentStyle">
    			@import "../../media/css/demo_page.css";
    			@import "../../media/css/demo_table.css";
    		</style>
    		<script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
    		<script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
    		<script type="text/javascript" charset="utf-8">
                            $(document).ready(function() {
                                    $('#tablepro').dataTable();
                            } );
                    </script>
    	</head>
    	<body>
    		<table cellpadding="0" cellspacing="0" border="0" class="display" id="tablepro" width="100%">
    		<thead>
    			<tr>
    				<th>Code</th>
    				<th>Ligne</th>
    				<th>Etablissement</th>
    				<th>Montant</th>
    				<th>Année</th>
    				<th>Phase</th>
    				<th>Libellé</th>
    			</tr>
    		</thead>
     
    		<tbody>
    			<!-- Connection à la base de données -->
    			<?php include("connectionBD.php"); ?>
     
    			<!-- Requête sur la base de données : sélection des projets -->
    			<?php
                            $requete="select * from projet";
                            $resultat=mysql_query($requete) or die ('ERREUR'.mysql_error());
                            while ($ligne=mysql_fetch_assoc($resultat)){
                                    $id=$ligne["Id_Pro"];
                                    $numli=$ligne["Lig_Pro"];
                                    $etab=$ligne["Etab_Pro"];
                                    $lib=$ligne["Lib_Pro"];
                                    $montant=$ligne["Montant_Pro"];
                                    $annee=$ligne["Annee_Pro"];
                                    $phase=$ligne["Phase_Pro"];
     
                                    echo "
                                    <tr>
                                            <td>$id</td>
                                            <td>$numli</td>
                                            <td>$etab</td>
                                            <td>$montant</td>
                                            <td>$annee</td>
                                            <td>$phase</td>
                                            <td>$lib</td>
                                    </tr>";} ?>		
    		</tbody>
    		<tfoot>
    			<tr>
    				<th>Code</th>
    				<th>Ligne</th>
    				<th>Etablissement</th>
    				<th>Montant</th>
    				<th>Année</th>
    				<th>Phase</th>
    				<th>Libellé</th>
    			</tr>
    		</tfoot>
    	</table>	
    	</body>
    </html>

  8. #8
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    et que donne le html généré ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  9. #9
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2012
    Messages : 90
    Par défaut
    J'ai remarqué une nuance quand je met echo" ou echo " :
    - avec echo " => No data available in table
    - avec echo" => une seule ligne : $id $numli ...
    j'ai essayé de mettre des . ou " mais rien n'y fait, il n' y a toujours qu'une ligne avec ce qui est entre les td affiché : .$id. .$numli. ... ou ".$id." ou ".$numli." ...

    e/
    Si ça parle à quelqu'un, les codes suivant ne fonctionnent pas non plus :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <tbody>
    <?php
    $aze="ber";
    echo"
    	<tr>
    		<th>$aze</th>
    		<th>$aze</th>
    		<th>$aze</th>
    		<th>$aze</th>
    		<th>$aze</th>
    		<th>$aze</th>
    		<th>$aze</th>
    	</tr>";
    ?>
    </tbody>
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <tbody>
    <?php
    $aze="ber";
    echo"
    	<tr>
    		<th>.$aze.</th>
    		<th>.$aze.</th>
    		<th>.$aze.</th>
    		<th>.$aze.</th>
    		<th>.$aze.</th>
    		<th>.$aze.</th>
    		<th>.$aze.</th>
    	</tr>";
    ?>
    </tbody>
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    	<tbody>
    <?php
    $aze="ber";
    echo"
    	<tr>
    		<th>".$aze."</th>
    		<th>".$aze."</th>
    		<th>".$aze."</th>
    		<th>".$aze."</th>
    		<th>".$aze."</th>
    		<th>".$aze."</th>
    		<th>".$aze."</th>
    	</tr>";
    ?>
    </tbody>

    et m'affichent dans les cellules respectivement :
    $aze $aze $aze $aze
    .$aze. .$aze. .$aze. .$aze.
    ".$aze." ".$aze." ".$aze." ".$aze."

  10. #10
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2012
    Messages : 90
    Par défaut
    Bonjour,
    est-il possible que le problème vienne du fait que j'utilise IE8 ?

  11. #11
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    A priori rien à voir avec le navigateur qui ne fait qu'interpréter le code htlm
    qu'il reçoit!
    C'est php qui est en cause qui semble ne pas savoir faire un echo proprement ??

    Avec ce code là il te dit quoi ?
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <tbody>
    <?php
    $aze="ber";
    echo '<tr>
    		<th>'.$aze.'</th>
    		<th>'.$aze.'</th>
    		<th>'.$aze.'</th>
    		<th>'.$aze.'</th>
    		<th>'.$aze.'</th>
    		<th>'.$aze.'</th>
    		<th>'.$aze.'</th>
    	</tr>';
    ?>
    </tbody>
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  12. #12
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2012
    Messages : 90
    Par défaut
    J'ai tout repris et ça fonctionne, je ne sais pas où été mon erreur en tout cas merci pour votre aide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. insertion de data dans plusieurs tables jsp/mysql
    Par amola1992 dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 31/07/2014, 14h46
  2. Dissociation du répertoire DATA du produit MySql
    Par Labienus dans le forum Installation
    Réponses: 2
    Dernier message: 31/01/2006, 16h04
  3. Creer table avec mysql
    Par gotenks dans le forum Requêtes
    Réponses: 8
    Dernier message: 05/01/2006, 12h01
  4. Où sont fichiers (tables) de Mysql ?
    Par __fabrice dans le forum Administration
    Réponses: 5
    Dernier message: 17/02/2005, 11h18
  5. Problème de création de table sous MySql
    Par ducamba dans le forum Requêtes
    Réponses: 2
    Dernier message: 21/06/2003, 09h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo