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 :

id automatique ?


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Angelik
    Profil pro
    Inscrit en
    Août 2006
    Messages
    253
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 253
    Par défaut id automatique ?
    Bonjour tout le monde !

    Mon application enregistre des inscriptions avec un numéro d'id

    Exemple : 1,2,3,4,...,10 ect

    Cependant, je suis amenée à supprimer par moment des inscriptions et c'est là que ça coince. En effet si je supprime l'inscription id = 4, je me retrouve avec un trou dans ma suite. Ex: 1,2,3,5,6,...,10 or j'aimerais qu'automatiquement ma liste d'inscription redevienne 1,2,3,4,5,...,10.

    Pareil, si en toute fin de liste j'enregistre un membre (id=23 par exemple) et que je le supprime, la prochaine inscription sera id=24 au lieu d'être id=23



    Pourquoi ? Est-il possible de modifier cela ? Si oui comment ?

    Merci d'avance

  2. #2
    Membre éclairé
    Inscrit en
    Octobre 2006
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 360
    Par défaut
    j'ai une solution pour toi mais je c'est pas si elle va te convenir


    je t'explique

    tu crait une nouvelle table (pour te donner une image tu va lapeler poubelle lol)

    chaque foi que tu veut suprimer une ID ,avant tu l'enregistre dans cette table et ansuite tu fait ta supression.
    lord d'un nouvel enregistrement tu regarde si dans la table poubelle il y a une ID disponible (s'il y en a plusieur tu selectione la plus petit valeur)
    s'il n'y en a pas tu vas dans ta table normal et tu cherche ta valeur la plus grande et tu fait +1

    ne conspte n'est pas tres difficille a comprendre mais il oblige a créé une table suplementere

    un petit conseil a chaque foi que tu utilise une ID de la table poubelle n'oubli pas de le suprimer
    je te le presise car moi la premiere foi c'est ce qui m'est arriver

    si ta besoin d'aide pour les requetes je devrais pouvoir t'aider
    t'utilise quoi comme BDD?

  3. #3
    Membre éclairé Avatar de Angelik
    Profil pro
    Inscrit en
    Août 2006
    Messages
    253
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 253
    Par défaut
    Coucou

    J'ai saisi l'idée générale mais en pratique je suis un peu larguée j'avoue En fait, même en créant une table supplémentaire, ça m'oblige malgré tout à modifier l'id manuellement ?

    Sinon j'utilise phpMyAdmin et ma requête actuelle pour l'insertion dans la table est de type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $query = mysql_query("INSERT INTO $membre (id,pseudo,nom,prenom,spec,photoarticle,url,email,cat) VALUES ('$id','$pseudo','$nom','$prenom','$spec','$largefile','$url','$email','$cat')");
    Voilà

  4. #4
    Membre éclairé
    Inscrit en
    Octobre 2006
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 360
    Par défaut
    ça m'oblige malgré tout à modifier l'id manuellement ?
    tu m'avait pas parler de modifier l'id mais de faire en sorte que lorsque tu a par exemple
    1,2,3,4,5, 7,8

    faire en sorte que ton prochain ajout soi l'id 6 et non 9

    c'est bien se que tu veut?

  5. #5
    Membre éclairé
    Inscrit en
    Octobre 2006
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 360
    Par défaut
    montre moi ton code et je te montrerer les requettes

    enfin si j'y arrive toujour

    lol

  6. #6
    Membre éclairé Avatar de Angelik
    Profil pro
    Inscrit en
    Août 2006
    Messages
    253
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 253
    Par défaut
    oui c'est juste mais j'aimerais que l'image (id=6) s'intercale entre l'id 7 et l'id 8 dans ton exemple. En fait, chaque inscription est représentée par une image. Tu vois ?

  7. #7
    Membre éclairé
    Inscrit en
    Octobre 2006
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 360
    Par défaut
    dans la base de donner je ne c'est pas s'il est possible de faire un enregistrement la où tu veux

    avec ma m'ethode tu risque d'avoir dans ta base
    1,2,4,5,3,6,8,7

    mais lorsque tu fais ton affichage tu fait order by id est tu obtien
    1,2,3,4,5,6,7,8

    cela te convient??

  8. #8
    Membre éclairé Avatar de Angelik
    Profil pro
    Inscrit en
    Août 2006
    Messages
    253
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 253
    Par défaut
    En fait pour le code rien de bien compliqué le voici :

    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    <?php
    include "configuration.php";
    ?>
     
    <form action="ajouter_membre_2.php" method="post" enctype="multipart/form-data">
     
    	<table border="0">
    	<tr>
    		<td colspan="2" align="center">Ajouter un membre !  </td>
    	</tr>
    	<tr>
    		<td>pseudo</td>
    		<td><input type="text" name="pseudo" size="25" value="<? echo "$pseudo"; ?>"></td>
    	</tr>
    	<tr>
    		<td>nom</td>
    		<td><input type="text" name="nom" size="25" value="<? echo "$nom"; ?>"></td>
    	</tr>
             <tr>
    		<td>...</td>
    		<td>...</td>
    	</tr>
             <tr>
    		<td colspan="2"><input type="submit" value="Envoyer!"></td>
    	</tr>
    	</table>
     
    	</form>
     
    <?php
     
    $query = mysql_query("INSERT INTO parrain (id,parrain) VALUES ('$id','$parrain')");
     
    $query = mysql_query("INSERT INTO $membre (id,pseudo,nom,prenom,spec,photoarticle,url,email,cat) VALUES ('$id','$pseudo','$nom','$prenom','$spec','$largefile','$url','$email','$cat')");
     
    ?>

Discussions similaires

  1. [VB6] [Interface] Redimensionnement automatique
    Par ychalan dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 30/09/2002, 18h32
  2. BDE : Configurer automatiquement le NETDIR
    Par Harry dans le forum Paradox
    Réponses: 10
    Dernier message: 29/07/2002, 11h33
  3. Génerer automatiquement plusieurs fichier .doc
    Par brunovitch dans le forum QuickReport
    Réponses: 3
    Dernier message: 09/07/2002, 08h19
  4. Re-dimensionnement automatique de composants
    Par ludo_7 dans le forum C++Builder
    Réponses: 10
    Dernier message: 16/05/2002, 16h35

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