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 :

Formulaire et tableaux


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2004
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 194
    Par défaut Formulaire et tableaux
    Bonjour, j'ai besoin de vos conseil pour l'élaboration d'un script :
    Au départ j'ai :
    - un tableau qui m'affiche le résultat de ma requête (qui pioche dans plusieurs tables)
    - certaines colonnes sont modifiables par l'utilisateur
    - une plateforme intranet Php/Oracle full procédurale (mais de l'objet serait le bienvenu)

    Ce que je cherche :
    un moyen de sauvegarder les données ainsi modifiées de la manière la plus légère qui soit et la plus simple à mettre en place, sachant que l'utilisateur affichera souvent plus de 2000 lignes.

    Sachant que pour la sauvegarde j'aurais certainement besoin de définir presque toutes les valeurs d'une ligne dans la clause WHERE de ma requête UPDATE mis à part celles que je peut modifier.

    Voilà si vous avez des idées je suis preneur.
    Merci

  2. #2
    Membre expérimenté Avatar de onirisme
    Homme Profil pro
    Ingénieur commercial
    Inscrit en
    Novembre 2004
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur commercial
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2004
    Messages : 221
    Par défaut
    Bonjour,

    Si tu veux que ton tableau soit modifiable par l'utilisateur, tu peux utiliser Ajax (avec de l'huile de coude, ça fait des miracles...).

    Petit conseil : 2000 lignes, c'est beaucoup
    Peut-être devrais-tu penser à limiter le nombre de lignes affichée et paginer ton tableau.

    Bon à part ça, commence par structurer ton projet (pas assez d'éléments) .Quel est l'objectif final? Tu parles de simplicité de mise en place ;Qu'entends-tu par là?

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2004
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 194
    Par défaut
    Citation Envoyé par onirisme Voir le message
    Bonjour,

    Si tu veux que ton tableau soit modifiable par l'utilisateur, tu peux utiliser Ajax (avec de l'huile de coude, ça fait des miracles...).
    Ouais si c'est performant, mais si tu avais un exemple de tableau dont les cellules sont modifiables ça serait intéressant ! Surtout que j'ai pas de connaissance dans l'ajax...

    Citation Envoyé par onirisme Voir le message
    Petit conseil : 2000 lignes, c'est beaucoup
    Peut-être devrais-tu penser à limiter le nombre de lignes affichée et paginer ton tableau.
    en fait 2000 lignes c'est rien du tout j'en ai même afficher 18000 ! mais voilà je ne peut pas penser à de la pagination, bien que j'ai longuement (et insisté) auprès de mon chef de projet pour la mettre en place, c'est NIET. C'est la contrainte de production qu'il me dit.

    Citation Envoyé par onirisme Voir le message
    Bon à part ça, commence par structurer ton projet (pas assez d'éléments) .Quel est l'objectif final? Tu parles de simplicité de mise en place ;Qu'entends-tu par là?
    Simplicité j'entends par là que ça n'alourdis pas trop le code, que cela soit facile de piquer ce code pour s'en servir pour une autre page sur laquelle on modifierais quelques infos...

    Sinon je me reprend un peu :
    -une grosse requète qui renvoie de nombreuses lignes.
    -des boucles qui génèrent le code HTML pour organiser les données de ma requète sous forme d'un tableau.
    -en même temps j'insère des input (de tout type) dans les cellules de mon tableau (le tableau HTML je parle) afin que mes cellules soient modifiables.
    -enfin sauvegarde des données modifiées.

  4. #4
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 494
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 494
    Par défaut
    en fait 2000 lignes c'est rien du tout j'en ai même afficher 18000 ! mais voilà je ne peut pas penser à de la pagination, bien que j'ai longuement (et insisté) auprès de mon chef de projet pour la mettre en place, c'est NIET. C'est la contrainte de production qu'il me dit.
    C'est surtout contre productif

    Pour afficher le tableau j'utilise cette fonction :
    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
    48
     
    <?php
    function array2table($arr,$width)
       {
       $count = count($arr);
       if($count > 0){
           reset($arr);
           $num = count(current($arr));
           echo "<table width=\"$width\">\n";
           echo "<tr>\n";
           foreach(current($arr) as $key => $value){
               echo "<th>";
               echo $key;
               echo "</th>\n";   
               }  
           echo "</tr>\n";
           while ($curr_row = current($arr)) {
               echo "<tr>\n";
               $col = 1;
               while (false !== ($curr_field = current($curr_row))) {
                   echo "<td>";
                   echo $curr_field;
                   echo "</td>\n";
                   next($curr_row);
                   $col++;
                   }
     
               while($col <= $num){
                   echo "<td>&nbsp;</td>\n";
                   $col++;       
               }
               echo "</tr>\n";
               next($arr);
               }
           echo "</table>\n";
           }
       }
     
    ...
    $result = mysql_query($query, $connexion);
     
    while($row = mysql_fetch_assoc($result))
    		{
      			$array[] = $row;
      		}
     
    		array2table($array,600);
    ?>
    par exemple.

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2004
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 194
    Par défaut
    Citation Envoyé par blueice Voir le message
    C'est surtout contre productif
    si seulement j'avais les bon arguments.... enfin

    Le tableau j'arrive sans anicroche à l'afficher là ou je voudrais de l'aide c'est dans la mise à jour des champs qui on été modifié dans mon tableau HTML via les inputs placé dans les cellules qui sont modifiables...
    ex:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <table>
    <tr>
      <td> ID : 123456</td>
      <td><input type="text" name="NOM" value="Toto"><input type="hidden" name="H_NOM" value="Bob"></td>
      <td><input type="text" name="AGE" value="35"><input type="hidden" name="H_AGE" value="45"></td>
    <tr>
    </table>
    bon il s'agit d'un exemple très simple pour une ligne !
    alors moi je voudrais un moyen de récupérer mes champs pour chaque lignes en testant via le champs hidden s'il y a modification ou nom.
    J'imagine que je doit ajouter la même valeur à chaque input d'une même ligne mais différent pour chaque ligne.
    Genre
    NOM_1 -> NOM de la ligne 1
    AGE_2 -> AGE de la ligne 2

    pour pouvoir récupérer tout ça lors de la sauvegarde des infos.

    Je sais je suis pas très clair. Mais je vois pas comment vous l'expliquer mieux.

    EDIT : je suis en train de regarder un peu AJAX, tout semble bien simple sauf que je ne voit pas trop comment mettre à jour mes champs de cette manière...

    EDIT 2 : Néanmoins qu'est-ce qui est le plus performant de :
    1 - générer un fichier XML via le résultat de ma requête
    puis afficher ces informations dans un tableau HTML
    (un peu comme ici : http://nicolaspied.developpez.com/ajax-premiers-pas/)

    2 - générer directement le code HTML via Php sans utiliser AJAX

  6. #6
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 494
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 494
    Par défaut
    Tu veux extraire des données issues de la BDD dans un tableau et permettre de les éditer ?
    Donc tu peux placer des "input" avec comme valeur la valeur du champs et la fin de la ligne mettre un submit...

    Mais c'est plutôt bancal, je verrais plutôt un double clic sur la valeur pour l'éditer et une mise à jour lors de la sortie du champ

    Donc AJAX...

Discussions similaires

  1. Vérification formulaire contenant tableaux variables text et checkbox
    Par Jeannotc dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 20/06/2013, 14h39
  2. formulaires et tableaux
    Par monforte dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 06/12/2007, 12h07
  3. [Tableaux] tableau dans un formulaire
    Par Elo13 dans le forum Langage
    Réponses: 4
    Dernier message: 26/09/2005, 18h28
  4. [Tableaux] Alignement des champs d'un formulaire
    Par jack554 dans le forum Langage
    Réponses: 7
    Dernier message: 15/09/2005, 16h30
  5. tableaux et formulaires
    Par papyphp dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 11/04/2005, 10h06

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