Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/07/2008, 13h24   #1
Invité de passage
 
Inscription : mai 2008
Messages : 12
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 12
Points : 3
Points : 3
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.
sabrina07 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2008, 15h34   #2
Inactif
 
Inscription : mai 2008
Messages : 179
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 179
Points : 179
Points : 179
Citation:
comment fait-en pour saisir plusieurs ligne dans une BD mysql a partir de php
mysqli ou PDO, avec du INSERT...
sielfried est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/07/2008, 17h21   #3
Membre habitué
 
Avatar de sigap
 
Inscription : avril 2002
Messages : 113
Détails du profil
Informations forums :
Inscription : avril 2002
Messages : 113
Points : 107
Points : 107
Envoyer un message via Yahoo à sigap
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
__________________
Je suis ce que je suis grace à ce que nous sommes tous
sigap est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/07/2008, 03h56   #4
Expert Confirmé
 
Avatar de Sub0
 
Homme
Inscription : décembre 2002
Messages : 3 468
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 39

Informations forums :
Inscription : décembre 2002
Messages : 3 468
Points : 3 115
Points : 3 115
Envoyer un message via MSN à Sub0 Envoyer un message via Skype™ à Sub0
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...
Sub0 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/07/2008, 16h26   #5
Invité de passage
 
Inscription : mai 2008
Messages : 12
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 12
Points : 3
Points : 3
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.
sabrina07 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/07/2008, 19h27   #6
Expert Confirmé
 
Avatar de Sub0
 
Homme
Inscription : décembre 2002
Messages : 3 468
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 39

Informations forums :
Inscription : décembre 2002
Messages : 3 468
Points : 3 115
Points : 3 115
Envoyer un message via MSN à Sub0 Envoyer un message via Skype™ à Sub0
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.
Sub0 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/07/2008, 08h30   #7
Membre habitué
 
Avatar de sigap
 
Inscription : avril 2002
Messages : 113
Détails du profil
Informations forums :
Inscription : avril 2002
Messages : 113
Points : 107
Points : 107
Envoyer un message via Yahoo à sigap
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+
__________________
Je suis ce que je suis grace à ce que nous sommes tous
sigap est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/07/2008, 12h08   #8
Invité de passage
 
Inscription : mai 2008
Messages : 12
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 12
Points : 3
Points : 3
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 :
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.
sabrina07 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/07/2008, 15h26   #9
Expert Confirmé
 
Avatar de Sub0
 
Homme
Inscription : décembre 2002
Messages : 3 468
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 39

Informations forums :
Inscription : décembre 2002
Messages : 3 468
Points : 3 115
Points : 3 115
Envoyer un message via MSN à Sub0 Envoyer un message via Skype™ à Sub0
Je vois déjà une erreur de syntaxe ici :
Code :
<?php echo '<input name="ap_inscrit"."$apInsc" type="text" id="ap_inscrit" size="17" />' ;  $apInsc++;?>
Correction :
Code :
<?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.
Sub0 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/07/2008, 16h55   #10
Invité de passage
 
Inscription : mai 2008
Messages : 12
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 12
Points : 3
Points : 3
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.
sabrina07 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h28.


 
 
 
 
Partenaires

Hébergement Web