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 :

[SQL] Intervertir les données de 2 enregistrements


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 139
    Par défaut [SQL] Intervertir les données de 2 enregistrements
    Bonjour,

    Connaissez-vous une fonction permettant d'intervertir 2 enregistrements d'une base de donnée ?
    id------------prenom------------nom

    1------------Georges------------Duppond
    2------------Jacques------------Machin

    J'intervertis et j'obtiens :

    id------------prenom------------nom

    1------------Jacques------------Machin
    2------------Georges------------Dupfpond

    Merci d'avance.

  2. #2
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    J'aurai tendance a donner deux solutions :

    1/ ton id est pas en auto-increment => tu échanges les id (a l'aide de deux requete SQL tu changes ces id)

    2/ ton id est en auto-increment => tu récupères les deux enregistrements (avec un SELECT) et tu fais deux UPDATE pour inverser les deux lignes.

    Parce que je ne vois pas de fonctions natives capables de faire ça.

  3. #3
    Membre expérimenté
    Avatar de maxime.ohayon
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    113
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mai 2007
    Messages : 113
    Par défaut
    Je ne pensais pas que cela etait utile d'inverser deux enregistrement.

    Max

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 139
    Par défaut
    1/ ton id est pas en auto-increment => tu échanges les id (a l'aide de deux requete SQL tu changes ces id)
    Mon id est en auto increment, je n'y avais pas pensé. Je n'ai rien qu'à inverser les id !

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 139
    Par défaut
    Mais comment connaître le champ qui précède, ou celui qui suit ?

  6. #6
    Membre expérimenté
    Avatar de maxime.ohayon
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    113
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mai 2007
    Messages : 113
    Par défaut
    Je ne comprends tjs pas pourquoi tu veux intervertir deux enregistrements c'est un peu bete non ?

    max

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 139
    Par défaut
    Je développe un site où on peux ajouter des pages.
    Par exemple, j'ajoute "ACCUEIL", "CONTACT", "PLAN DU SITE"... c'est pour en fait trier mes pages.
    J'ai créé mes pages. J'ai :
    ACCUEIL
    CONTACT
    PLAN DU SITE
    Si je veux que le lien "PLAN DU SITE" soit avant le lien "CONTACT", il faut que j'intervertisse leur id.

  8. #8
    Membre chevronné Avatar de Asmodean
    Profil pro
    Inscrit en
    Février 2006
    Messages
    311
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 311
    Par défaut
    Ou tu utilise un champ supplémentaire qui sert justement a les classer.

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 139
    Par défaut
    C'est galère avec un champ supplèmentaire. J'ai trouvé comment voir le champ précédent :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $result = mysql_query("SELECT * FROM see_pages ORDER BY page_id ASC;");
    for($i=0; $row=mysql_fetch_array($result); $i++)
    {
    	if($row['page_id'] == $id)
    	{
    		$id_prec = $temp;
    	}
    	else
    	{
    		$temp = $row['page_id'];
    	}
    }
    echo "<br />$id";
    Je ne sais pas si il y a moins lourd, mais avec 10-15 pages max, ça marche !

    [EDIT] J'ai corrigé, il y avait une erreur.

  10. #10
    Membre expérimenté
    Avatar de maxime.ohayon
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    113
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mai 2007
    Messages : 113
    Par défaut
    Salut
    tu rajoute un champs ordre qui stockera l'ordre d'apparition de tes rubriques, il ne faut pas toucher à tes id se sont tes clés primaires.

    Max

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 26/05/2008, 08h07
  2. [SQL] Importer les données d'un base SQL
    Par chrosnir dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 20/12/2007, 15h27
  3. [SQL] Classer les données d'un tableau
    Par EvilAngel dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 21/08/2006, 18h45
  4. [SQL] Afficher les données d'une requete SQL
    Par griese dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 22/06/2006, 11h22
  5. Génération de script SQL avec les données
    Par borgfabr dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 05/03/2004, 13h57

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