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

Langage PHP Discussion :

datagrid et php


Sujet :

Langage PHP

  1. #1
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 12
    Par défaut datagrid et php
    Bonjour a tous,

    Comment fait-on pour créer un datagrid en php ? ou du moins comment fait-en pour saisir plusieurs ligne dans une BD mysql a partir de php ? j'ai pensé au datagrid mais à parement il est payant !!! solution qui ne m'intéresse pas !
    j'ai trouvé une version libre sur le lien http://www.brothersoft.com/php-datagrid-52016.html mais le problème je ne trouve pas comment utiliser ? exemple ou copié les class ?

    si vous avez une réponses faite-moi part

    bonne journée a tous.

  2. #2
    Inactif
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 179
    Par défaut
    comment fait-en pour saisir plusieurs ligne dans une BD mysql a partir de php
    mysqli ou PDO, avec du INSERT...

  3. #3
    Membre confirmé Avatar de sigap
    Inscrit en
    Avril 2002
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 113
    Par défaut
    Ce que je te propose c'est plus une idée qu'une solution.
    - Tu affiches un tableau vide ou chargé de données,
    - Grace au javascript tu crées un champs texte flottant et a chaque fois que tu cliqueras sur une cellule du tableau, grace au JS, l'input se positionnera a l'emplacement de ton clic avec les dimensions de la cellule du tableau et importera dans son contenu la valeur de la cellule cliquée.
    - Une fois que tu auras quitté la cellule, le contenu sera mis a jour par Javascript d'abord (pour satisfaire la vue) et puis par Ajax en background (pour satisfaire ta base de données).

    Techniquement c'est faisable. C'est une vieille astuce importée de la gestion des MSFlexGrid de VB6.

    Mais je n'ai jamais essayé en mode web donc... bonne chance.


    • Le controle sera invisible au debut et aura pour dimensions celles de la cellule ou il sera appelé

    • vois l'aspect visuel et le positionnement avec le css et les DIV

  4. #4
    Membre Expert
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Par défaut
    Utilise des textareas dans chaque cellule de ton tableau, non ?
    Le textarea peut à la fois afficher et éditer les données... Ça doit même pouvoir fonctionner sans Javascript...
    Bien entendu, il faut que tu les nommes tous ces champs automatiquement,
    c'est-à-dire de génèrer ton tableau avec 2 boucles imbriquées (x et y).
    Mais le problème qui risque de se poser est la taille des données postées par tous ces champs (limite de 8Mo de données). Sinon reste la solution proposée par sigap avec Javascript.

    L'utilisation d'Ajax est aussi envisageable...

  5. #5
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 12
    Par défaut
    Merci pour vos reponses.

    enfaite j'ai pensé a ta solution sub0, dans mon programme ya une boucle qui me crée les lignes du tableau (mon tableau et dans un formulaire ) et pour chaque cellule un champ de texte qui reçoit les données. j'ai nommé les champs de façon automatique, genre string.nombre_qui_s'incremente , mais le problème c'est quand je recupère la valeur des champs de saisie avec la méthode POST, il ne reconnait pas les noms des champs de saisie ! une erreur du genre "Notice: Undefined index: nom_champ_de_saisie.

    la solution de sigap va me demander de la documentation alors je vais encore essayé de trouvé pourquoi ça marche pas ici.

    bonne continuation.

  6. #6
    Membre Expert
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Par défaut
    Fais voir cette partie de code avec la boucle.
    Sinon, je ne pourrais pas t'aider.

    Fais voir aussi comment tu récupères les champs postés.

  7. #7
    Membre confirmé Avatar de sigap
    Inscrit en
    Avril 2002
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 113
    Par défaut
    Bonjour,
    pour incrementer un nom de variable tu n'as pas a faire une concatenation du genre string.nombre_qui_s_incremente
    Fais plutot string$nombre_qui_s_incremente

    Le point (.) est un operateur de concatenation qui ne saurait donner le resultat attendu.

    A+

  8. #8
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 12
    Par défaut
    bonjour,

    voici le bout de code qui permet de creer les lignes et les champs de saisie (exemple pour un seul champs de saisi):

    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
    <?php $apInsc=0;  do {?> // $apInsc est la var à incrementer
     
        <tr>
    //affiche un champ de la bd elle ne rentre pas dans mon problème
     <td><?php echo get_libelle($result['code_action'], 'actions', 'code_action', 'libelle_action')?></td>
         ....................
     
      <td><label></label>
              <label></label>
              <label></label>      <label>
    // cellule qui contient un champ de saisie
     
            <?php echo '<input name="ap_inscrit"."$apInsc" type="text" id="ap_inscrit" size="17" />' ;  $apInsc++;?>
          </label></td>
     
        </tr>
        <?php }while ($result = mysql_fetch_assoc ($query)); ?>
    *Normalement les champs de saisi doivent etre nommés ap_inscrit0, ap_inscrit1, ...

    dans un autre fichier php j'essaye de récupérer la valeur des champs avec la methode post :

    $ap_inscrit=$_POST['ap_inscrit0'];

    et lorsque je fait echo $ap_inscrit j'ai l'erreur : Undefined index: ap_inscrit0.

    voila j'espère que c claire.

    j'ai essayé ta methode sigap "string$nombre_qui_s_incremente" mais ça marche pas aussi , et j'ai pas compris pourquoi tu a dis "Le point (.) est un operateur de concatenation qui ne saurait donner le resultat attendu.
    " car le name du champ de saisi a besoin d'un string et qd on fait "string".$var c'est une chaine de caractère !

    merci pour votre aide.

  9. #9
    Membre Expert
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Par défaut
    Je vois déjà une erreur de syntaxe ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo '<input name="ap_inscrit"."$apInsc" type="text" id="ap_inscrit" size="17" />' ;  $apInsc++;?>
    Correction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo '<input name="ap_inscrit'.$apInsc.'" type="text" id="ap_inscrit'.$apInsc.'" type="text"  size="17" />' ;  $apInsc++;?>
    La propriété Id doit être pareil que Name.

  10. #10
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 12
    Par défaut
    Salut,

    Merci sub0 pour ta correction, ta syntaxe marche tres bien. j'ai pu récupérer la valeur des champs de saisie dans mon fichier php.

    maintenant je peut au moins continuer à programmer.

    merci beaucoup et bonne continuation à vous.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 16/09/2008, 18h08
  2. Afficher des données venant de PHP ailleurs que dans un DataGrid
    Par nonodup2 dans le forum ActionScript 3
    Réponses: 1
    Dernier message: 02/09/2008, 16h50
  3. [PEAR][DB] Un Datagrid en PHP ?
    Par MiJack dans le forum Bibliothèques et frameworks
    Réponses: 8
    Dernier message: 11/04/2008, 15h54
  4. Datagrid > Formatage des données reçues par PHP
    Par purple21 dans le forum Flash
    Réponses: 3
    Dernier message: 28/06/2007, 12h33
  5. [MySQL] Datagrid et PHP ?
    Par niaxon dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 24/11/2005, 16h35

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