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 :

[Conception] Comment mettre à jour le champ "ID"


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 111
    Points : 60
    Points
    60
    Par défaut [Conception] Comment mettre à jour le champ "ID"
    Voilà j'ai une table avec une clé primaire id

    j'aimerai en cliquant sur un bouton ou lien, mettre a jour l'id pour qu'il soit croissant et sans trou : 1 2 3 4 5 6

    car il se peut que je supprime des lignes: 1 2 3 5 6
    et donc jaimerai mettre a jour pour donné : 1 2 3 4 5

    Comment faire quel code faut il ?

    si quelqu'un pourrait me donner un exemple

  2. #2
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    Je ne voit aucune bonne raison de le faire !!!

    Si c'est un id, il y a certainement des clés etrangères y faisant référence.
    Cela veut dire qu'il faut que tu le rechange partout ....

    Ca va etre super lourd et inutile, a moins que tu ai atteint la limite pour les valeurs générées.

  3. #3
    Membre confirmé Avatar de papyphp
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    438
    Détails du profil
    Informations personnelles :
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 438
    Points : 587
    Points
    587
    Par défaut
    Salut,

    Je ne vois pas l'utilité d'une telle manipulation.

    Si c'est impératif dans ta conception, tu supprimes le champ id
    puis tu le recrée en autoincrémant.

  4. #4
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 111
    Points : 60
    Points
    60
    Par défaut
    Parce que j'utilise un javascript qui affiche des donnés, ce javascript recupere les données dans un tableau:

    t[0] = donnée1
    t[1] = donnée2
    t[x] = donnéex

    et donc moi j'ai utilisé l'id de la table

    t[id] = donnéeid

    mais je pense faire une limite, il y aura peut etre 20 lignes maxi ptetre moins dans la table.

    Donc quel serait la bonne solution d'apres vous ?

  5. #5
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    ben fait un tableau associatif au lieu d'un tableau indexé numérique
    dans tes crochets tu fais un String(valeur) (String est une fonction javascript)

  6. #6
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 111
    Points : 60
    Points
    60
    Par défaut
    je vois pas trop le truc avec String(valeur).

    sinon voilà un extrait du code, peut etre qu'une solution plus concret m'aidera (suis qu'un novice en programation)

    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    if (dbrows(dbquery("SELECT * FROM ".$db_prefix."pubs")) > 0) {
    echo " <script language='JavaScript1.2' type='text/javascript'>
    scroll_message = new Array;
     
    scroll_message[0]='<a href=\"#\">Votre Titre ici...</FONT></a><br>Votre description ici...';</script>";
     
    $szer=$theme_width_r-10;
    $result = dbquery("SELECT * FROM ".$db_prefix."pubs");
    while ($data=dbarray($result)) {
    echo " <script language='JavaScript1.2' type='text/javascript'>
    scroll_message[".$data['pub_id']."]='<a href=\"".$data['pub_link']."\">".$data['pub_name']."</FONT></a><br>".$data['pub_desc']."';</script>";
     
    }
    echo "
    		<center><script language='JavaScript1.2' type='text/javascript'>
    scroll_largeur = 400;
    scroll_hauteur = 60;
    scroll_bgcolor = '#FFFFFF';
    /* Mettre ici le chemin de l'image de fond */
    scroll_background = '';
    /* Mettre ici le temps en secondes */
    scroll_pause_seconde = 5;
     
    function d(texte)
    	{
    	document.write(texte);
    	}
     
    d('<DIV ID=scroll_relativ STYLE=\"position:relative;width:'+scroll_largeur+';height:'+scroll_hauteur+';border-style:solid;border-width:1;border-color:#000000;background-color:'+scroll_bgcolor+';background-image:url('+scroll_background+')\">');
    d('<DIV ID=scroll_cadre STYLE=\"position:absolute;width:'+(scroll_largeur-8)+';height:'+(scroll_hauteur-8)+';top:4;left:4;clip:rect(0 '+(scroll_largeur-8)+' '+(scroll_hauteur-8)+' 0)\">');
    d('<div id=scroller_1 style=\"position:absolute;width:'+(scroll_largeur-8)+';left:0;top:0;\">'+scroll_message[0]+'</DIV>');
    d('<div id=scroller_2 style=\"position:absolute;width:'+(scroll_largeur-8)+';left:0;top:'+scroll_hauteur+';\">'+scroll_message[1]+'</DIV>');
    d('</DIV></DIV>');
     
    scroll_mode =1;
    scroll_actuel = 0;
     
    function scroll_start()
    	{
    	if(scroll_mode == 1)
    		{
    		scroller_haut = 'scroller_1';
    		scroller_bas = 'scroller_2';
    		scroll_mode = 0;
    		}
    	else
    		{
    		scroller_bas = 'scroller_1';
    		scroller_haut = 'scroller_2';
    		scroll_mode = 1;
    		}
    	scroll_nb_message = scroll_message.length-1;
    	if(scroll_actuel == scroll_nb_message)
    		scroll_suivant = 0;
    	else
    		scroll_suivant = scroll_actuel+1;
    	if(document.getElementById)
    		document.getElementById(scroller_bas).innerHTML = scroll_message[scroll_suivant];
    	scroll_top = 0;
    	if(document.getElementById)
    		setTimeout('scroll_action()',scroll_pause_seconde*1000)
    	}
     
    function scroll_action()
    	{
    	scroll_top -= 1;
    	document.getElementById(scroller_haut).style.top = scroll_top;
    	document.getElementById(scroller_bas).style.top = scroll_top+scroll_hauteur;
    	if((scroll_top+scroll_hauteur) > 0)
    		setTimeout('scroll_action()',10)
    	else
    		scroll_stop()
    	}
     
    function scroll_stop()
    	{
    	scroll_actuel = scroll_suivant;
    	scroll_start()
    	}
     
    window.onload = scroll_start;
    </SCRIPT></center>";
    }

  7. #7
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    scroll_message[String(".$data['pub_id'].")]
    apres si tu le parcour avec une boucle for, faudra la modifier en :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    for(i in scroll_message)
        ......scroll_message[i].....

  8. #8
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 111
    Points : 60
    Points
    60
    Par défaut
    heu j'arrive pas bien a comprendre...

    String(".$data['pub_id'].") sa retourne un caratere, si id = 1 sa donne '1'

    c'est çà ?

    parceque le javascript accepte que des valeurs suivis, meme si cest '1' '2', si j'ai pas '3' apres il marche pas, j'ai undefined qui s'affiche

    bon toujours avec la boucle while, la boucle for cité dans ton post je comprend pas non plus

  9. #9
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 111
    Points : 60
    Points
    60
    Par défaut
    C'est bon j'ai reglé!

    tout marche

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

Discussions similaires

  1. Comment mettre à jour un champ BLOB avec une TIBQUERY ?
    Par colorid dans le forum Bases de données
    Réponses: 4
    Dernier message: 26/02/2008, 19h00
  2. [Conception] Comment mettre à jour en ligne un page ?
    Par DrJul dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 30/10/2006, 18h12
  3. Comment mettre à jour 1 champ d'une table via une autre tabl
    Par cpasmoibiensur dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 05/02/2006, 13h33

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