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 :

Mise à jour d'une variable php


Sujet :

PHP & Base de données

  1. #1
    Mut
    Mut est déconnecté
    Membre averti Avatar de Mut
    Homme Profil pro
    Inscrit en
    Mars 2003
    Messages
    931
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Mars 2003
    Messages : 931
    Points : 307
    Points
    307
    Par défaut Mise à jour d'une variable php
    Bonjour,

    J'ai une page php qui affiche des données issues d'une base de données dans un ordre quelquonque. Je souhaiterais donner la possibilité à l'utilisateur de pouvoir trier ces données comme il le souhaite. J'ai donc prévu des liens hypertextes représentant les catégories possibles à trier.

    Dans le principe, je souhaitais lors du clic sur le lien hypertexte, modifier la requete SQL et recharger la page.

    Est ce possible ?

    Merci

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Maroc

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

    Informations forums :
    Inscription : Mai 2009
    Messages : 736
    Points : 1 101
    Points
    1 101
    Par défaut
    Oui

  3. #3
    Mut
    Mut est déconnecté
    Membre averti Avatar de Mut
    Homme Profil pro
    Inscrit en
    Mars 2003
    Messages
    931
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Mars 2003
    Messages : 931
    Points : 307
    Points
    307
    Par défaut
    Merci pour cette réponse contructive

  4. #4
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Maroc

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

    Informations forums :
    Inscription : Mai 2009
    Messages : 736
    Points : 1 101
    Points
    1 101
    Par défaut
    Ce que tu dois faire c'est de passer dans l'url disant 2 valeur, orderby et sortby.

    Dans ton code tu dois leur donné une valeur par defaut.

    est si $_GET['orderby'] existe tu le change par celui dans l'url.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $orderBy = 'id';
    $sortBy = 'desc'
     
    if (isset($_GET['orderby'])) $orderBy = $_GET['orderby'];
    if (isset($_GET['sortby'])) $sortBy = $_GET['sortby'];
     
    $query = "select * from table order by " . $orderBy . ' ' . $sortBy;
    ?>
    <a href="?orderby=categorie&sortby<?php if ($sortBy == 'asc') echo 'desc' else echo 'asc'?>">categorie</a>

  5. #5
    Mut
    Mut est déconnecté
    Membre averti Avatar de Mut
    Homme Profil pro
    Inscrit en
    Mars 2003
    Messages
    931
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Mars 2003
    Messages : 931
    Points : 307
    Points
    307
    Par défaut
    Effectivement, c'est à peu près ce que j'ai fait. Je passe en paramètre une variable dans le lien que je récupère par la méthode "get" et ça fonctionne.

    Merci

    Une petite précision...La méthode GET n'est elle pas "dangereuse" niveau sécurité du site ? J'ai mis une vérification de la variable récupérer mais je ne sais pas si c'est suffisant...

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Citation Envoyé par Mut Voir le message
    Effectivement, c'est à peu près ce que j'ai fait.
    Alors pourquoi tu ne montres pas ton code ??
    C'est la moindre des choses !

    N.B. Dans son 1er message, m4riachi a correctement répondu à la question que tu avais posée.
    A toi d'être plus précis !

  7. #7
    Mut
    Mut est déconnecté
    Membre averti Avatar de Mut
    Homme Profil pro
    Inscrit en
    Mars 2003
    Messages
    931
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Mars 2003
    Messages : 931
    Points : 307
    Points
    307
    Par défaut
    Je n'ai pas mis le code car le sien est plus complet et donc le mien moins utile (à mon sens)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Trier par &nbsp; &nbsp; &nbsp; <a href="page.php?champtri=nom" onclick="submit()">Nom</a>  - <a href="page.php?champtri=ville" onclick="submit()">Ville</a>  - <a href="page.php?champtri=Age" onclick="submit()">Age</a>
    Ceci représente donc les liens hypertext

    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
     
    $sql='SELECT nom,age,ville FROM Table1';
     
    if (isset($_GET['champtri'])) {
    	switch($_GET['champtri']){
    	case 'age':
    	$sql='SELECT nom,age,ville FROM Table1 ORDER BY age';
    	break;
    	case 'nom:
    	$sql='SELECT nom,age,ville FROM Table1 ORDER BY nom';
    	break;
    	case 'ville':
    	$sql='SELECT nom,age,ville FROM Table1 ORDER BY ville';
    	break;
    	/*default:
     
    	}
    }
    Et ceci le traitement de la variable.


    En ce qui concerne la première réponse, elle était certe "correct" mais il n'était pas bien compliqué d'en déduire que dans le cas d'une réponse positive, une description d'une méthode même sommaire aurait été plus judicieuse. (ce qu'il a fait par la suite et je l'en remercie beaucoup).

  8. #8
    Invité
    Invité(e)
    Par défaut
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if (!empty($_GET['champtri']) && in_array($_GET['champtri'], array('age','nom','ville'))) {
    	$sql = 'SELECT nom,age,ville FROM Table1 ORDER BY '.$_GET['champtri'];
    } else {
    	$sql = 'SELECT nom,age,ville FROM Table1';
    }
    Ou encore :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $sql = 'SELECT nom,age,ville FROM Table1';
    if (!empty($_GET['champtri']) && in_array($_GET['champtri'], array('age','nom','ville'))) {
    	$sql .= ' ORDER BY '.$_GET['champtri'];
    }
    N.B. la vérification in_array(...) évite les injections SQL (une variable GET étant très facilement modifiable).
    Citation Envoyé par Mut Voir le message
    ...mais il n'était pas bien compliqué d'en déduire que dans le cas d'une réponse positive, une description d'une méthode même sommaire aurait été plus judicieuse...
    C'est quand même A TOI de donner DES LE DEPART toutes les informations nécessaires à la résolution du problème.
    D'autant que c'est TON code qu'on est censé CORRIGER (et pas écrire !).
    Et ça éviterait des bavardages inutiles...

  9. #9
    Mut
    Mut est déconnecté
    Membre averti Avatar de Mut
    Homme Profil pro
    Inscrit en
    Mars 2003
    Messages
    931
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Mars 2003
    Messages : 931
    Points : 307
    Points
    307
    Par défaut
    Super, merci pour l'optimisation !
    (il manque une parenthèse à la fin de l'instruction "if")


    Merci

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

Discussions similaires

  1. [AJAX] Mise à jour d'une variable php avec Ajax
    Par amine2208 dans le forum AJAX
    Réponses: 5
    Dernier message: 03/07/2014, 02h49
  2. mise à jour d'une variable
    Par N_BaH dans le forum Shell et commandes GNU
    Réponses: 7
    Dernier message: 26/04/2009, 07h19
  3. Réponses: 4
    Dernier message: 21/11/2008, 17h02
  4. Mise à jour d'une variable après choix dans une combobox
    Par ~Brouette~ dans le forum Langage
    Réponses: 1
    Dernier message: 21/12/2007, 12h09
  5. Problème de mise à jour d'une variable
    Par Claire07 dans le forum Access
    Réponses: 2
    Dernier message: 19/06/2006, 22h40

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