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

PHP & Base de données Discussion :

Faire remonter les lignes de la bdd


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2014
    Messages
    483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2014
    Messages : 483
    Par défaut Faire remonter les lignes de la bdd
    Bonjour,

    Mon pb est le suivant.
    Dans un backoffice php j'ai des lignes de bdd qui s'affichent (de la première la plus en haut à la dernière la plus en bas qui est celle qui a été insérée en dernier dans la bdd).
    je dois lorsque l'utilisateur clique sur une petite flèche dirigée vers le haut placée à côté de chaque ligne faire remonter la ligne en question d'une position dans l'affichage des lignes.
    Je ne sais comment m'y prendre.

    merci

  2. #2
    Membre éprouvé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2003
    Messages
    1 309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 309
    Par défaut
    Il faut utiliser JavaScript, pas PHP. Exemple : http://www.developpez.net/forums/d19...gnes-tableaux/

  3. #3
    Membre Expert
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Par défaut
    Salut,

    Si tu veux le faire en PHP tu dois ajouter une colonne (int) dans ta base de données où tu maintiendras dynamiquement la position/l'ordre de chaque ligne. A chaque cliques sur le bouton tu n'auras juste qu'à incrémenter la ligne tout en décrémentant la ligne supérieure.

  4. #4
    Membre très actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2014
    Messages
    483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2014
    Messages : 483
    Par défaut
    thes32 pourrais tu être plus précis dans tes explications?

    merci

  5. #5
    Membre très actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2014
    Messages
    483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2014
    Messages : 483
    Par défaut
    voici mon code: ordre est la colonne rajoutée en plus
    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
     
    <?php
     
    require('connexion_db.php');
     
    if(isset($_GET['page_id'])){
     
      $texte_requete = "UPDATE carrieres SET ordre = ordre - 1 WHERE id=:id";
      $texte_requete1 = "UPDATE carrieres SET ordre = ordre + 1 WHERE id=:id-1";
      $requete = $dbh->prepare($texte_requete);
      $requete->bindValue(':id', $_GET['page_id']);
      $requete1 = $dbh->prepare($texte_requete1);
      $requete1 ->bindValue(':id', $_GET['page_id']);
      $requete->execute();
      $requete1->execute();
     
      header('Location:fichier.php?message=ok');
      exit();
     
    }
     
     
    ?>
    le pb est que il n'y a que la clé primaire d'une bdd qui assure l'ordre des lignes dans une bdd, ici modifier la colonne ordre (remplie (à l'aide d'un trigger) par 1 puis 2 puis 3 pour respectivement la premiere ligne inseree puis la deuxieme puis la troisieme..) aves les requêtes update ne change rien à rien.

  6. #6
    Membre Expert
    Avatar de Dendrite
    Femme Profil pro
    Développeuse informatique
    Inscrit en
    Juin 2008
    Messages
    2 129
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeuse informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juin 2008
    Messages : 2 129
    Billets dans le blog
    8
    Par défaut
    Juste pour développer les deux options.

    C'est un problème typiquement javascript. Christophe a raison sur le fond. Du genre, tu as 2000 clients web, tu as 2000 ordres possibles, tu n'as peut-être pas intérêt à conserver dans ta base de données tes 2000 clients (genre via un cookie) associés à 2000 ordres ? Les fantaisies et préférences du client, typiquement, il suffit de les stocker puis de les traiter sur le navigateur, ça ne regarde pas le serveur, et c'est donc du javascript et pas du PHP.

    Mais je me doute que si tu ne maîtrises que PHP, ça te gave de passer à javascript, mais on va dire que c'est une mauvaise raison, ça.
    Si développeur web n'est ni ton métier ni ta passion, Christophe est sympa et te propose un pis-aller... sinon, tu n'y couperas pas de devoir pratiquer un peu des disciplines suivantes HTML, PHP, Javascript, SQL et CSS. bon courage...
    PDO, une soupe et au lit !
    Partir de la fin est un bon moyen de retrouver son chemin. Bibi - 2020

  7. #7
    Membre très actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2014
    Messages
    483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2014
    Messages : 483
    Par défaut
    je pense que c'est un pb qui peut être résolu en PHP.
    Donc si vous pouvez m'aider en PHP, c'est le bienvenu.

Discussions similaires

  1. gridview : inserer toutes les lignes dans la bdd
    Par vodasan dans le forum ASP.NET
    Réponses: 3
    Dernier message: 03/04/2009, 15h30
  2. Après un filtre, faire réapparaître les lignes cachées
    Par La Zélie dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 25/03/2009, 18h16
  3. [VxiR2] Filtre sur un tableau sans faire sauter les lignes sans données
    Par tatayoyo dans le forum Deski
    Réponses: 3
    Dernier message: 20/03/2009, 10h35
  4. Faire apparaitre les lignes sans enregistrements.
    Par bolderiz dans le forum Designer
    Réponses: 8
    Dernier message: 22/05/2007, 13h44
  5. Faire "remonter" les données dans des requetes imbriquées
    Par Earthwormjim dans le forum Requêtes
    Réponses: 5
    Dernier message: 30/08/2006, 17h37

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