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

JavaScript Discussion :

Javascript et php


Sujet :

JavaScript

  1. #81
    Membre Expert
    Avatar de Kaamo
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 165
    Par défaut
    T'es sûre de vouloir le nom ? JE me réfère au code que tu postes depuis le début :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $data_set .=   "{";
    $data_set .=     "date:'"     . $rows_inc['date_Inc'] . "',";
    $data_set .=     "name:'"     . $rows_inc['name_Inc'] . "',";
    $data_set .=     "desc:'"     . $rows_inc['desc_Inc'] . "',";
    $data_set .=     "location:'" . $rows_inc['id_Loc']   . "'";
    $data_set .=   "},";
    Tu sembles vouloir l'id. Dans ce cas, reprends ta requête initiale alors.

  2. #82
    Membre très actif
    Femme Profil pro
    Analyse système
    Inscrit en
    Décembre 2012
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Décembre 2012
    Messages : 182
    Par défaut
    Je vais commencer avec le ID pour ne pas aller trop vite
    Donc je viens de finir avec la requete et ça marche( en y allant pas à pas , j'ai fini par trouver )
    Maintenant je dois faire marcher mon script:
    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
    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
    <?php 
    $sql_inc="SELECT date_Inc AS date , name_Inc AS name, desc_Inc AS description , id_Loc AS id
                FROM incident
                WHERE id_Pb = 1 
                ORDER BY date_Inc DESC
                LIMIT 4";
    $res_inc=mysql_query($sql_inc);
    $data_row = array();
    while($rows_inc=mysql_fetch_assoc($res_inc)){
     
     $data_row[] = $rows_inc;
    }$data_set = json_encode($data_row);echo $data_set;
    ?>
     
     
     
    <script>
     
    //ondeclare une variable et on affecte le code PHP
    <?php echo json_encode($data_row);?>
    //on controle le schéma js
    alert(data_set);
    //on verifie le type de donnée js
    alert(typeOf(data_set));
    var dataSource = new kendo.data.DataSource({
      data: [data_set]
    });
    $("#grid").kendoGrid({
      columns: [
        { field: "date" },
        { field: "name" },
    	{ field: "desc" },
    	{ field: "location" }
      ],
      dataSource: dataSource,
     groupable: true,
                            sortable: true,
                            pageable: {
                                refresh: true,
                                pageSizes: true
                            },});
     var grid = $("#grid").data("kendoGrid");
    grid.setDataSource(dataSource);
    </script>
            </div>
     </body>
    </html>


    Pourquoi je n'ai pas l'affichage de la grid de Kendo?Je vais essayé de te donner ce que je trouve en changeant des choses mais j'ai peur que mon script ne marche pas ...

  3. #83
    Invité
    Invité(e)
    Par défaut
    AS permet de donner un ALIAS : "blablabla" alias "bla"

    DESC, ASC, DATE... sont des mots réservés en SQL (ils correspondent déjà à une instruction SQL)

    Tu ne peux donc pas écrire : Sous peine de s'exposer à des confusions, ou des erreurs d'interprétation.

  4. #84
    Membre très actif
    Femme Profil pro
    Analyse système
    Inscrit en
    Décembre 2012
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Décembre 2012
    Messages : 182
    Par défaut
    Oui je viens de voir ceci donc j'ai changé en "description"...
    Merci

  5. #85
    Membre Expert
    Avatar de Kaamo
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 165
    Par défaut
    n'oublie pas de changer desc en description du coup dans le reste du script.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var dataSource = new kendo.data.DataSource({
      data: [data_set]
    });
    C'est quoi ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var dataSource = new kendo.data.DataSource({
      data: <?php echo $data_set; ?>
    });
    et n'oublie pas d'enlever les echo qui ne servent à rien une fois le "débuggage" terminé

  6. #86
    Invité
    Invité(e)
    Par défaut
    De plus,
    quel est vraiment l'intérêt de mettre des alias ici ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql_inc="SELECT date_Inc AS date , name_Inc AS name, desc_Inc AS description , id_Loc AS id
    Le tout, comme dit Kaamo, est de rester cohérent tout au long de son code.

  7. #87
    Membre Expert
    Avatar de Kaamo
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 165
    Par défaut
    C'est vrai qu'il suffit de renommer le javascript directement ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    columns: [
      { field: "date" },
      { field: "name" },
      { field: "desc" },
      { field: "location" }
    ],

  8. #88
    Membre très actif
    Femme Profil pro
    Analyse système
    Inscrit en
    Décembre 2012
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Décembre 2012
    Messages : 182
    Par défaut
    Mon script ne fonctionne pas , je ne comprend pas pourquoi:
    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
    <script>
     
     
    var dataSource = new kendo.data.DataSource({
      data: [data_set]
    });
    $("#grid").kendoGrid({
      columns: [
        { field: "date" },
        { field: "name" },
    	{ field: "desc" },
    	{ field: "location" }
      ],
      dataSource: dataSource,
     groupable: true,
                            sortable: true,
                            pageable: {
                                refresh: true,
                                pageSizes: true
                            },
    });
     
     
     
    var grid = $("#grid").data("kendoGrid");
    grid.setDataSource(dataSource);
    </script>
    Le fonctionnement est le suivant pour moi:
    Je prépare ma requête
    Je l’exécute
    Une boucle pour mettre dans un tableau chaque résultat de la requete (l'un aà la suite de l'autre)
    Grace a json_encode : permettre {"date":"2013-23-5",......} et data_set=json_encode(....)

    Et ensuite dans le script du JS :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var dataSource = new kendo.data.DataSource({
      data: [data_set]
    });
    car la syntaxe est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    var dataSource = new kendo.data.DataSource({
      data: [
        { name: "John Doe", age: 33 }
      ]
    Donc cela correspond bien à la syntaxe de mon data_set (sauf que name n'est pas entre guillemet)
    Mais cela ne fonctionne pas

  9. #89
    Membre très actif
    Femme Profil pro
    Analyse système
    Inscrit en
    Décembre 2012
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Décembre 2012
    Messages : 182
    Par défaut
    Les alias permettent d'avoir les memes noms que les fields
    A oui merci ça marche

    Bon maintenant pour changer la taille de mes colonnes , je dois gérer le fichier CSS donnée par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
       <link href="styles/kendo.common.min.css" rel="stylesheet" />
        <link href="styles/kendo.default.min.css" rel="stylesheet" />
    ?et pour gérer la taille du tableau en fonction des informations de ma base de données je dois changé également le CSS

  10. #90
    Membre très actif
    Femme Profil pro
    Analyse système
    Inscrit en
    Décembre 2012
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Décembre 2012
    Messages : 182
    Par défaut
    je me met au boulot


    Seul truc que je n'ai aps compris (meme si cela fonctionne) est la syntaxe diférente dans datasource...Peut tu m'expliquer?

  11. #91
    Membre Expert
    Avatar de Kaamo
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 165
    Par défaut
    Seul truc que je n'ai aps compris (meme si cela fonctionne) est la syntaxe diférente dans datasource...Peut tu m'expliquer?
    Tu fais bien de poser la question, tu dois être maître de ton code et ne rien laisser au hasard

    Quelle syntaxe différente ? Qu'est-ce qui est différent selon toi ?

    Peux tu poster le code qui fonctionne ? Histoire de voir si on peut l'améliorer et t'expliquer comment

  12. #92
    Invité
    Invité(e)
    Par défaut
    une des grandes spécialités de madusa est de ne pas montrer son code...

    [Edit] Je rectifie : ... d'attendre qu'on lui demande...
    Dernière modification par Invité ; 06/08/2013 à 15h16.

  13. #93
    Membre très actif
    Femme Profil pro
    Analyse système
    Inscrit en
    Décembre 2012
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Décembre 2012
    Messages : 182
    Par défaut
    Donc voici le code qui fonctionne
    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
    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
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    <!DOCTYPE html>
    <html>
     
    <head>
        <title></title>
        <link href="styles/kendo.common.min.css" rel="stylesheet" /><link href="styles/kendo.default.min.css" rel="stylesheet" />
     
        <script src="js/jquery.min.js"></script>
        <script src="js/kendo.all.min.js"></script>
    </head>
     
    <body>
    <?php include("menu.php"); ?>
     
    <?php include("connexionbdd.php"); // query for the definition, type of this problem
    ?>
    <?php 
     
    $sql_pb="SELECT * from problem where id_Pb=1";
    $res_pb=mysql_query($sql_pb);
    $rows_pb=mysql_fetch_assoc($res_pb);
     
     
    ?></br></br></br></br>Definition:<?php echo $rows_pb['def_Pb'];
    $var=$rows_pb['id_Pb_Type']
     
     ?> </br></br>
     <script src="people.js"></script>
     
            <div id="example" class="k-content">
                <div id="clientsDb">
     
                    <div id="grid" style="height:580px"></div>
     
                </div>
     
                <style scoped>
    			<?php //tableau: placement ?>
                    #clientsDb {
                        width:1200px;
     
                        margin-left:5px;
     
                        padding:0px 40px 0px 0px;
     
                    }
                </style>
                <div id="grid"></div>
    <div id="grid"></div>
    <?php 
    $sql_inc="SELECT date_Inc AS date , name_Inc AS name, desc_Inc AS description , id_Loc AS id
                FROM incident
                WHERE id_Pb = 1 
                ORDER BY date_Inc DESC";
                
    $res_inc=mysql_query($sql_inc);
    $data_row = array();
    while($rows_inc=mysql_fetch_assoc($res_inc)){
     
     $data_row[] = $rows_inc;
    }$data_set = json_encode($data_row);
    ?>
     
     
     
    <script>
     
     
    var dataSource = new kendo.data.DataSource({
      data: <?php echo $data_set; ?>
    });
    $("#grid").kendoGrid({
      columns: [
        {width:150, field: "date" },
        { width:300,field: "name" },
    	{ width:500,field: "description" },
    	{ width:200,field: "location" }
      ],
      dataSource: dataSource,
     groupable: true,
                            sortable: true,
                            pageable: {
                                refresh: true,
                                pageSizes: true
                            },
    });
     var grid = $("#grid").data("kendoGrid");
    grid.setDataSource(dataSource);
    </script>
            </div>
      </body>
     
    </html>
    Donc j'ai trouvé un exemple:
    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
    <div id="grid"></div>
    <script>
    $("#grid").kendoGrid({
      columns: [
        { field: "name" },
        { field: "age" }
      ],
      dataSource: [
          { name: "Jane Doe", age: 30 }
      ]
    });
    var dataSource = new kendo.data.DataSource({
      data: [
        { name: "John Doe", age: 33 }
      ]
    });
    var grid = $("#grid").data("kendoGrid");
    grid.setDataSource(dataSource);
    </script>
    ce qui montre que la syntaxe est la suivante pour la méthode Datasource est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    new kendo.data.DataSource({
      data: [
        { name: "John Doe", age: 33 }
      ]
    Or moi je donne $data_set et en faisant un un écho je trouve:
    {"date":"25-06-2013",.....} .

    Donc les guillemets me dérangent...

  14. #94
    Membre très actif
    Femme Profil pro
    Analyse système
    Inscrit en
    Décembre 2012
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Décembre 2012
    Messages : 182
    Par défaut
    pour la requete j'ai essayé ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    "SELECT date_Inc.incident  AS date , name_Inc.incident AS name, desc_Inc.incident,name_Loc.location AS name FROM incident LEFT JOIN location
               ON id_Loc.incident=id_Loc.location
               WHERE id_Pb = 1 
               ORDER BY date_Inc DESC";
    Mais ça ne fonctionne pas

  15. #95
    Invité
    Invité(e)
    Par défaut
    Quelques précisions :

    • Si tu as un message d'erreur, montre-le + montre la ligne concernée
    • "ça ne fonctionne pas" N'EST PAS un message d'erreur


    Pour t'aider au débogage (à trouver à partir de quel endroit ça m...) :
    • en PHP : echo ...; var_dump(...); print_r(...);
    • en JS : alert(...);

  16. #96
    Membre très actif
    Femme Profil pro
    Analyse système
    Inscrit en
    Décembre 2012
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Décembre 2012
    Messages : 182
    Par défaut
    mysql_fetch_assoc() expects parameter 1 to be resource à la ligne while :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $sql_inc="SELECT date_Inc.incident  AS date , name_Inc.incident AS name, desc_Inc.incident,name_Loc.location AS name FROM incident LEFT JOIN location
               ON id_Loc.incident=id_Loc.location
               WHERE id_Pb = 1 
               ORDER BY date_Inc DESC";
     
     
    $res_inc=mysql_query($sql_inc);
    $data_row = array();
    while($rows_inc=mysql_fetch_assoc($res_inc)){
    Ma requete est donc fausse

  17. #97
    Invité
    Invité(e)
    Par défaut
    Ecrit "proprement"/lisiblement, ça donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $sql_inc = "SELECT 
    	date_Inc.incident AS date, 
    	name_Inc.incident AS name, 
    	desc_Inc.incident,
    	name_Loc.location AS name 
    	FROM incident 
    	LEFT JOIN location
    	ON id_Loc.incident=id_Loc.location
    	WHERE id_Pb = 1 
    	ORDER BY date_Inc DESC";
    => On voit TOUT DE SUITE le problème :
    Tu intervertis le nom des tables et celui des champs ! (Le changement, c'est maintenant !)

    Apprends à écrire tes requêtes de cette manière :
    tu verras que le débogage en est NETTEMENT simplifié.
    Dernière modification par Invité ; 06/08/2013 à 15h36.

  18. #98
    Membre très actif
    Femme Profil pro
    Analyse système
    Inscrit en
    Décembre 2012
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Décembre 2012
    Messages : 182
    Par défaut
    je crois que j'ai trouvé mes erreurs

  19. #99
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $sql_inc = "SELECT 
    	incident.date_Inc AS date, 
    	incident.name_Inc AS name, 
    	incident.desc_Inc,
    	location.name_Loc AS name 
    	FROM incident 
    	LEFT JOIN location
    	ON incident.id_Loc = location.id_Loc
    	WHERE incident.id_Pb = 1 
    	ORDER BY incident.date_Inc DESC";
    C'est là que les "ALIAS de tables" se montrent intéressants :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $sql_inc = "SELECT 
    	INC.date_Inc AS date, 
    	INC.name_Inc AS name, 
    	INC.desc_Inc,
    	LOC.name_Loc AS name 
    	FROM incident AS INC 
    	LEFT JOIN location AS LOC
    	ON INC.id_Loc = LOC.id_Loc
    	WHERE INC.id_Pb = 1 
    	ORDER BY INC.date_Inc DESC";

  20. #100
    Membre très actif
    Femme Profil pro
    Analyse système
    Inscrit en
    Décembre 2012
    Messages
    182
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Décembre 2012
    Messages : 182
    Par défaut
    Oui je venais de trouver
    merci!!

+ Répondre à la discussion
Cette discussion est résolue.
Page 5 sur 5 PremièrePremière 12345

Discussions similaires

  1. [PHP-JS] Javascript ou PHP
    Par lynchmaniac dans le forum Langage
    Réponses: 7
    Dernier message: 27/10/2005, 10h10
  2. [PHP-JS] Javascript et PHP: passer une valeur en paramètres
    Par anutka dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 19/10/2005, 12h05
  3. Cherche conseils pour livre HTML, JavaScript et PHP
    Par oodini dans le forum Général Conception Web
    Réponses: 1
    Dernier message: 16/10/2005, 15h45
  4. [PHP-JS] convertir un bout javascript en php ?
    Par Thierry8 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 23/08/2005, 23h42
  5. [PHP-JS] lien javascript vers php
    Par guttts dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 19/08/2005, 23h00

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