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 :

problème de position d'un tableau


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 43
    Par défaut problème de position d'un tableau
    Bonjour,

    J'aimerai avoir votre aide sur un problème :

    J'aimerai a l'affiche permettre de mettre 2 flèches vers le haut et bas qui change la position des élements de mes résultats.

    Avoir un affichage comme ci dessous :

    J'affiche mes éléments de ma table liste et j'aimerai changer les positions comme ci dessous:

    Liste1 ▼
    Liste2 ▼ ▲
    Liste3 ▼ ▲
    Liste4 ▲


    qui me permettrai de changer la position de mes valeurs.

    Est ce que quelqu un pourrait m'aider?

    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
    $q = mysql_query("SELECT * FROM ihm_liste");
     
    while ($r = mysql_fetch_array($q))
     {
     $nom = $r['nom_liste'];
     $id = $r['id_liste'];
     
     echo '<b><a href="list_users.php?liste='.$id.'">'.$nom.'</a></b><br />';
     echo '<a href="'.$_SERVER['PHP_SELF'].'?modifier=ok&id='.$id.'">Modifier</a> - ';
     echo '<a href="'.$_SERVER['PHP_SELF'].'?supprimer=ok&id='.$id.'">Supprimer</a>';
     echo '<br />';
     }
     echo '<br />';
     echo '<a href="ajout_liste.php">Ajouter</a>';
     
    }
    merci

  2. #2
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Par défaut
    Avant toute chose , il te faut un numero d'ordre en base pour que tu puisse gérer l'ordre d'affichage de tes éléments c'est le cas ?
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 43
    Par défaut
    Il y a un ID sur ma table :

    id_liste
    nom_liste

    Mais l'identifiant peut ne pas se suivre.

    id_liste nom_liste
    1 liste1
    10 liste2
    13 liste3
    16 liste5

  4. #4
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Par défaut
    Je suis d'accord mais imaginons que tu doivent afficher les listes comme ceci (grâce a ton repositionnement) :

    id_liste nom_liste
    16 liste5
    1 liste1
    13 liste3
    10 liste2

    Il te faut bien un numéro d'ordre sinon tu ne pourras pas le savoir ....

    A moins que tu ne veuille seulement le gérer a l'affichage et pour une seule visualisation (sans mémoire donc) , dans ce cas du javascript fera l'affaire.
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 43
    Par défaut
    Merci pour ta réponse,

    mais je veux que ça le prenne en compte en mémoire aussi. Si je met un numéro d'ordre je le gère comment? dans mon php?

    Merci pour ton aide.

  6. #6
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Par défaut
    Si tu mets un numéro d'ordre ça devient plus compliqué mais c'est la seule manière.

    Ce qu'il faut par la suite :

    - Affiche tes tableaux dans l'ordre des numéro d'ordres.
    - Mettre les liens correspondants a tes flèches
    - Quand tu clique sur un lien , tu fais une requête (PHP pur ou Ajax au choix) qui s'occupe de changer le numéro d'ordre du tableau.
    - Ré-afficher ta page

    Dans un soucis de propreté , il faudrait procéder comme suite :

    - Numéroter tes tableaux par dizaine (pour le numéro d'ordre) exemple :

    id_liste nom_liste no_ordre
    1 liste1 10
    10 liste2 20
    13 liste3 30
    16 liste5 40
    - Lors d'une demande de changement de position tu ajoute ou retire 15 au numéro d'ordre exemple :

    Tu veux remonter la liste3 avant la liste 2 , tu ajoute -15 (ou tu enlève 15 comme tu préfère le prononcer) a la liste3 cela donne :

    1 liste1 10
    13 liste3 15
    10 liste2 20
    16 liste5 40
    Et pour éviter des soucis par l'avenir , tu devrais avoir une requête qui se charge de renuméroter tout ce petit monde pour revenir avec des numéros d'ordres plus sympa :

    1 liste1 10
    13 liste3 20
    10 liste2 30
    16 liste5 40
    Idem dans l'autre sens .....

    Si quelqu'un a mieux , qu'il le dise au se taise a jamais
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 43
    Par défaut
    Ca l'air bien compliqué.

    Je vais essayer.

    Merci pour tes explications.

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

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

    J'ai essayé de faire ce que tu m'as dis. Ca marche pour la monter mais quand je veux descendre une valeur ca ne fonctionne pas correctement.

    Structure de ma table :



    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
     
    -- Structure de la table `ihm_user`
    --
     
    CREATE TABLE IF NOT EXISTS `ihm_user` (
      `id_user` int(10) unsigned NOT NULL AUTO_INCREMENT,
      `nom_user` varchar(70) NOT NULL,
      `adresse_ip` varchar(100) NOT NULL,
      `id_liste` int(10) unsigned NOT NULL,
      `ordre` int(11) NOT NULL,
      PRIMARY KEY (`id_user`),
      KEY `id_liste` (`id_liste`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=12 ;
     
    --
    -- Contenu de la table `ihm_user`
    --
     
    INSERT INTO `ihm_user` (`id_user`, `nom_user`, `adresse_ip`, `id_liste`, `ordre`) VALUES
    (1, 'toto', '1.1.1.1', 1, 1),
    (2, 'tata', '2.2.2.2', 2, 4),
    (11, 'tutu', '0.0.0.0', 1, 3),
    (7, 'titi', '127.0.0.1', 2, 2);

    Voici mon code :


    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
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    <?php
     
     
    include("base.php");
    // Remise dans l ordre des users a chaque ouverture de la page
    $reqa = mysql_query("UPDATE ihm_user SET ordre='0' WHERE id_user='1'");
    $plus = "0";
     
    $reqb = mysql_query("SELECT * FROM ihm_user ORDER by ordre");
     
    while($data = mysql_fetch_assoc($reqb))
    {
    $id = ''.$data['id_user'].'';
    $plus++;
    //echo "$plus";
    $reqc = mysql_query("UPDATE ihm_user SET ordre='$plus' WHERE id_user='$id'");
    }
     
     
     
    @$monter = $_POST['monter'];
    @$descendre = $_POST['descendre'];
    @$ordre = $_POST['ordre'];
    @$id = $_POST['id'];
     
     
    if (@$monter != NULL)
    {
    $bas = ''.$ordre.''+1;
    $haut = ''.$ordre.''-1;
     
    $req = mysql_query("UPDATE ihm_user SET ordre='0' WHERE ordre='$haut' ");
    $req = mysql_query("UPDATE ihm_user SET ordre='$haut' WHERE ordre='$ordre' ");
    $req = mysql_query("UPDATE ihm_user SET ordre='$ordre' WHERE ordre='0' ");
    }
     
     
    if (@$descendre != NULL)
    {
    $bas = ''.$ordre.''+1;
    $haut = ''.$ordre.''-1;
     
    $req = mysql_query("UPDATE ihm_user SET ordre='0' WHERE ordre='$bas' ");
    $req = mysql_query("UPDATE ihm_user SET ordre='$bas' WHERE ordre='$ordre' ");
    $req = mysql_query("UPDATE ihm_user SET ordre='$ordre' WHERE ordre='0' ");
    }
     
     
     
     
    @$subordre = $_POST['subordre'];
     
    if($subordre != NULL)
    {
    //echo '<strong>Ordre d\'affichage des utilisateurs:<br><br></strong>';
     
     
    echo '<table width="200" border="1">';
     
     
    $req = mysql_query("SELECT * FROM ihm_user ORDER by ordre");
    while($data = mysql_fetch_assoc($req))
    {
     
    @$nom = ''.$data['nom_user'].'';
    @$id = ''.$data['id_user'].'';
    @$ordre = ''.$data['ordre'].'';
     
    //echo $data['nom_user']." ".$data['ordre']."<br>";
    if ($id == 0){ echo ''; 
     
    }
     
    else {
    echo '<form action="#" method="post">';
    echo '<tr>';
    echo '<td>'.$nom.'</td>';
    echo '<input type="hidden" value="'.$id.'" name="id">';
    echo '<input type="hidden" value="Choisir l\'ordre d\'affichage des utilisateurs" name="subordre">';
    echo '<input type="hidden" value="'.$ordre.'" name="ordre">';
    echo '<td><input type="submit" value="Monter" name="monter"></td>';
    echo '<td><input type="submit" value="Descendre" name="descendre"></td>';
    echo '</tr>';
     
    echo '</form>';
    }
    }
    echo '</table><br><br><br>';
    }
     
    else
    {
    echo '<form action="#" method="post">';
    echo '<input type="submit" value="Choisir l\'ordre d\'affichage des utilisateurs" name="subordre">';
    echo '</form>';
    }
     
    ?>

  9. #9
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Par défaut
    Tu ne m'as pas écouté , pas bien !!!

    - Tu travail avec des entiers 'simples'. Et moi je t'ai dis de bosser avec des multiples de 10 -> première erreur
    - Tu ajoute 1 ou enlève 1 -> deuxième erreur

    Tu as une liste :
    liste ordre
    liste1 1
    liste2 2
    liste3 3
    liste4 4
    liste5 5
    Imaginons que je veuille monter la liste2 je fais (si je suis ce que tu as ecris)

    liste2 -> ordre -1

    je me retrouve avec :

    liste ordre
    liste1 1
    liste2 1
    liste3 3
    liste4 4
    liste5 5
    Et la , c'est le drame .......qui est la première liste liste1 ou liste2 ?

    Idem pour la montée.....

    Tu devrais faire comme je t'ai dis au départ ....
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  10. #10
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Par défaut
    Au passage , j'ai taillé a la hache ton code pour qu'il soit plus propre.
    Par contre j'ai pas tout saisies l'histoire des users donc va falloir adapter :
    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
     
    <?php
     
    include("base.php");
     
    //La valeur a enlever/ajouter a un ordre
    $palier = 15;
     
    //La fonction qui s'occupe de reecrire les numero d'ordre après manip
    function renumeroterOrdres(){
    $reqb = mysql_query("SELECT * FROM ihm_user ORDER by ordre"); 
    $ordre=0;
    	while($data = mysql_fetch_assoc($reqb))
    	{				
    		$reqc = mysql_query("UPDATE ihm_user SET ordre='$ordre'");
    		$ordre = $ordre +10;
    	}
    }
     
    //Assignation de l'ID , si pas d'ID -> -1 on touche a aucun enregistrements
    if (isset($_POST['id']))
    	$id = $_POST['id'];
    else
    	$id = -1;
     
    if (isset($_POST['monter']))
    {
    		$req = mysql_query("UPDATE ihm_user SET ordre=ordre + $palier WHERE id_liste='$id' ");
    		renumeroterOrdres()	
    }elseif (isset($_POST['descendre']))
    {
    		$req = mysql_query("UPDATE ihm_user SET ordre=ordre - $palier WHERE id_liste='$id' ");
    		renumeroterOrdres();
    }
     
     
    @$subordre = $_POST['subordre']; 
    if($subordre != NULL)
    {
    //echo '<strong>Ordre d\'affichage des utilisateurs:<br><br></strong>';
    	echo '<table width="200" border="1">';
     
    	$req = mysql_query("SELECT * FROM ihm_user ORDER by ordre");
    	while($data = mysql_fetch_assoc($req))
    	{
     
    		@$nom = ''.$data['nom_user'].'';
    		@$id = ''.$data['id_user'].'';
    		@$ordre = ''.$data['ordre'].'';
     
    		//echo $data['nom_user']." ".$data['ordre']."<br>";
    		if ($id == 0){ echo '';}
     
    		else {
    		echo '<form action="#" method="post">';
    		echo '<tr>';
    		echo '<td>'.$nom.'</td>';
    		echo '<input type="hidden" value="'.$id.'" name="id">';
    		echo '<input type="hidden" value="Choisir l\'ordre d\'affichage des utilisateurs" name="subordre">';
    		echo '<input type="hidden" value="'.$ordre.'" name="ordre">';
    		echo '<td><input type="submit" value="Monter" name="monter"></td>';
    		echo '<td><input type="submit" value="Descendre" name="descendre"></td>';
    		echo '</tr>';
     
    		echo '</form>';
    		}
    	}
    	echo '</table><br><br><br>';
    }
    else
    {
    	echo '<form action="#" method="post">';
    	echo '<input type="submit" value="Choisir l\'ordre d\'affichage des utilisateurs" name="subordre">';
    	echo '</form>';
    }
     
    ?>
    Il y aurait encore pas mal de choses a charcuter..
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 43
    Par défaut
    J'ai testé mais il marche pas le code.


  12. #12
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Par défaut
    Citation Envoyé par RideKick Voir le message
    Par contre j'ai pas tout saisies l'histoire des users donc va falloir adapter :
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 43
    Par défaut
    id_user c'est ma clé primaire de ma table ihm_user ;

    qui porte un nom, un id_liste(qui fait référence à une autre table) et l'ordre avec id_ordre

    j 'ai remis ton code comme ci dessous mais y a rien qui fonctionne :


    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
    <?php
     
    include("base.php");
     
    //La valeur a enlever/ajouter a un ordre
    $palier = 15;
     
    //La fonction qui s'occupe de recrire les numero d'ordre apreès manip
    function renumeroterOrdres(){
    $reqb = mysql_query("SELECT * FROM ihm_user ORDER by ordre"); 
    	while($data = mysql_fetch_assoc($reqb))
    	{		
    		$ordre=0;
    		$reqc = mysql_query("UPDATE ihm_user SET ordre='$ordre'");
    		$ordre++;
    	}
    }
     
    @$monter = $_POST['monter'];
    @$descendre = $_POST['descendre'];
    @$id = $_POST['id'];
     
    if (@$monter != NULL)
    {	
    	$req = mysql_query("UPDATE ihm_user SET ordre=ordre + $palier WHERE id_user='$id' ");
    	renumeroterOrdres();	
    } 
     
    if (@$descendre != NULL)
    {
    	$req = mysql_query("UPDATE ihm_user SET ordre=ordre - $palier WHERE id_user='$id' ");
    	renumeroterOrdres();
    }  
     
    @$subordre = $_POST['subordre'];
     
    if($subordre != NULL)
    {
    //echo '<strong>Ordre d\'affichage des utilisateurs:<br><br></strong>';
    	echo '<table width="200" border="1">';
     
    	$req = mysql_query("SELECT * FROM ihm_user ORDER by ordre");
    	while($data = mysql_fetch_assoc($req))
    	{
     
    		@$nom = ''.$data['nom_user'].'';
    		@$id = ''.$data['id_user'].'';
    		@$ordre = ''.$data['ordre'].'';
     
    		//echo $data['nom_user']." ".$data['ordre']."<br>";
    		if ($id == 0){ echo '';}
     
    		else {
    		echo '<form action="#" method="post">';
    		echo '<tr>';
    		echo '<td>'.$nom.'</td>';
    		echo '<input type="hidden" value="'.$id.'" name="id">';
    		echo '<input type="hidden" value="Choisir l\'ordre d\'affichage des utilisateurs" name="subordre">';
    		echo '<input type="hidden" value="'.$ordre.'" name="ordre">';
    		echo '<td><input type="submit" value="Monter" name="monter"></td>';
    		echo '<td><input type="submit" value="Descendre" name="descendre"></td>';
    		echo '</tr>';
     
    		echo '</form>';
    		}
    	}
    	echo '</table><br><br><br>';
    }
    else
    {
    	echo '<form action="#" method="post">';
    	echo '<input type="submit" value="Choisir l\'ordre d\'affichage des utilisateurs" name="subordre">';
    	echo '</form>';
    }
     
    ?>
    Je suis perdu...

  14. #14
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Par défaut
    mea culpa , jai fais une erreur de copie au passage :

    doit etre :

    pour le reste, ça devrait fonctionner puisque id_user sert une seule fois et son utilisation est caduque ....

    Edit : reprend le code que je t'ai fourni , j'ai ajouté quelques modifs
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  15. #15
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 43
    Par défaut
    J'ai repris ton code en faisant les modifications que tu m'as demander mais rien ne se passe.

    Merci pour ton aide en tout cas.

  16. #16
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Par défaut
    Citation Envoyé par RideKick Voir le message
    Edit : reprend le code que je t'ai fourni , j'ai ajouté quelques modifs
    Et dis moi ce qui se passe , passe pas .
    Tu peux aussi vérifier dans la BDD que les numéro d'ordres changent bien (ou pas)
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  17. #17
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 43
    Par défaut
    Ca me les remet a 0


    J'ai remis 10 sur le if ($id == 10){ echo '';}

    Dans ma BD sur les ordres je met bien 10,20,30... ?

    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
    <?php
     
    include("base.php");
     
    //La valeur a enlever/ajouter a un ordre
    $palier = 15;
     
    //La fonction qui s'occupe de recrire les numero d'ordre apreès manip
    function renumeroterOrdres(){
    $reqb = mysql_query("SELECT * FROM ihm_user ORDER by ordre"); 
    	while($data = mysql_fetch_assoc($reqb))
    	{		
    		$ordre=0;
    		$reqc = mysql_query("UPDATE ihm_user SET ordre='$ordre'");
    		$ordre=$ordre+10;
    	}
    }
     
    @$monter = $_POST['monter'];
    @$descendre = $_POST['descendre'];
    @$id = $_POST['id'];
     
    if (@$monter != NULL)
    {	
    	$req = mysql_query("UPDATE ihm_user SET ordre=ordre + $palier WHERE id_user='$id' ");
    	renumeroterOrdres();	
    } 
     
    if (@$descendre != NULL)
    {
    	$req = mysql_query("UPDATE ihm_user SET ordre=ordre - $palier WHERE id_user='$id' ");
    	renumeroterOrdres();
    }  
     
    @$subordre = $_POST['subordre'];
     
    if($subordre != NULL)
    {
    //echo '<strong>Ordre d\'affichage des utilisateurs:<br><br></strong>';
    	echo '<table width="200" border="1">';
     
    	$req = mysql_query("SELECT * FROM ihm_user ORDER by ordre");
    	while($data = mysql_fetch_assoc($req))
    	{
     
    		@$nom = ''.$data['nom_user'].'';
    		@$id = ''.$data['id_user'].'';
    		@$ordre = ''.$data['ordre'].'';
     
    		//echo $data['nom_user']." ".$data['ordre']."<br>";
    		if ($id == 10){ echo '';}
     
    		else {
    		echo '<form action="#" method="post">';
    		echo '<tr>';
    		echo '<td>'.$nom.'</td>';
    		echo '<input type="hidden" value="'.$id.'" name="id">';
    		echo '<input type="hidden" value="Choisir l\'ordre d\'affichage des utilisateurs" name="subordre">';
    		echo '<input type="hidden" value="'.$ordre.'" name="ordre">';
    		echo '<td><input type="submit" value="monter" name="monter"></td>';
    		echo '<td><input type="submit" value="descendre" name="descendre"></td>';
    		echo '</tr>';
     
    		echo '</form>';
    		}
    	}
    	echo '</table><br><br><br>';
    }
    else
    {
    	echo '<form action="#" method="post">';
    	echo '<input type="submit" value="Choisir l\'ordre d\'affichage des utilisateurs" name="subordre">';
    	echo '</form>';
    }
     
    ?>

  18. #18
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Par défaut
    Citation Envoyé par tawba Voir le message
    Ca me les remet a 0
    Reprends le code fournit sur la page précédente , ça faisait partie des erreurs de recopiage .

    Tout devrait rentrer dans l'ordre.
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  19. #19
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 43
    Par défaut
    Dis moi dans ma table les champs ordre doivent prendre quelles valeurs?

    je peux commencer par 0 après 1 , 2 etc...

    Car quand je teste ca me met tout a 20.

  20. #20
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Par défaut
    Tu devrais avoir 10 20 30 etc ....

    Fais voir le code que tu utilise stp
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

Discussions similaires

  1. [débutant]problèmes d'affichage dans un tableau
    Par Hastur dans le forum Balisage (X)HTML et validation W3C
    Réponses: 12
    Dernier message: 16/08/2005, 12h00
  2. problème de d'indice de tableau
    Par Pymm dans le forum ASP
    Réponses: 2
    Dernier message: 27/07/2005, 16h18
  3. Problème d'écriture dans un tableau
    Par Hokagge dans le forum MFC
    Réponses: 46
    Dernier message: 08/07/2005, 16h47
  4. Problème de montage d'un tableau en HTML...
    Par David.V dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 04/02/2005, 08h38
  5. Réponses: 25
    Dernier message: 16/07/2003, 20h41

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