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 :

Tri de resultats a partir d'une <select>


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé
    Inscrit en
    Janvier 2007
    Messages
    425
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 425
    Par défaut Tri de resultats a partir d'une <select>
    Bonjour,

    J'ai mis 3 select:

    1- pour selectionner mon livre (livre),
    2- pour selectionner la page de (de page),
    3- la limite de ma selection (juska la page).

    dans ma 2eme select, quand je la selectionne ca doit charge la page et attribuer un nombre superieur ou egale a la 3eme select.

    par exemple: de page 1 jusqu a la page 5

    mais je peux pas mettre de page 4 jusqu a la page 2, on ne peut pas lire un livre en marche arriere. mon code est:

    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
     
    <html>
    <head>
    <title>Untitled</title>
    </head>
    <body>
      <?php
     
    // configuration
     
    $link = mysql_connect ($host,$user,$pass);
    mysql_query("SET CHARACTER SET 'utf8';", $link)or die('Erreur: '.mysql_error());
    // selection de la DB
    mysql_select_db($db) or die ('Erreur: '.mysql_error());
     
    ?>
    <form action="<? $_SERVER['PHP_SELF'] ?>" METHOD="post"> 
    <table width="500" border="0" align="center">
      <tr>
        <td>
        <?php
     
    $select = 'SELECT * FROM livres ORDER BY ID ASC';
    $result = mysql_query($select,$link)  or die ('Erreur: '.mysql_error() );
    $total = mysql_num_rows($result);
    // si les information sont inserees on les extrait
    // si on a récupéré un résultat on l'affiche.
    if($total) {
    ?>
    <form action="<? $_SERVER['PHP_SELF'] ?>" METHOD="post">
    <select name="livre">
    <?  
        while($row = mysql_fetch_array($result)) {
        $livre = $row['livre'];
    ?>
    <option><?php echo $livre; ?></option>
    <?
    } // fin de while
    ?>
    </select>
    <?
    } // fin de if
    else 'rien de rien';
    ?>
    </td>
    <td>
    <?
    // un test sur le livre qui a comme id = 1
    $select1 = 'SELECT nbre_pages FROM livres WHERE id="1"';
    $result1 = mysql_query($select1,$link)  or die ('Erreur: '.mysql_error() );
    $total1 = mysql_num_rows($result1);
     
    // si les information sont inserees on les extrait
    if($total1) {
     
        while($row1 = mysql_fetch_array($result1)) {
        $nbre_pages = $row1['nbre_pages'];
    }
    ?>
    <form>
    <select size="1">
    <option>de</option>
    <?php
    for ($i=1; $i<=$nbre_pages; $i++)
    {
      echo '<option>' .$i. '</font></option>';
    }
    ?>
    </td>
    <td>
    <select>
    <option>a</option>
    <?php
     
    // cette j doit etre egale ou superieur a i
    for ($j>=$i; $j<=$nbre_pages; $j++)
    {
      echo '<option>' .$j. '</font></option>';
    }
    ?>
    </select>
    </td>
    </tr>
    </table>
    </form>
    <?
    }
    ?>

  2. #2
    Membre averti
    Inscrit en
    Février 2007
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 22
    Par défaut
    Tout d'abord je te conseille de virer tes balises </font> dans tes <option> qui ne semblent pas servir.
    Ensuite dans le second <select>, tu rajoutes <select id="de" onchange="adapt_page()">
    Et enfin, dans le troisième <select> tu rajoutes <select id="juska"> et dans ses <option> tu mets <option value="<?php echo $j;?>"><?php echo $j; ?></option>

    Reste la partie javascript (à mettre à part dans un fichier js appelé dans le header ou bien directement dans la même page entre les balises <script type="text/javascript"></script>) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    function adapt_page()
    {
        var debut = document.getElementById('de').options[document.getElementById('de').selectedIndex].value;
        var optionList_juska = document.getElementById('juska');
        for (var i = optionList_juska.options.length-1; i > 0; i--)  // on ne prend pas l'index 0 car c'est là où il y ton texte
        {
            if (optionList_juska.options[i].value < debut)
                optionList_juska.remove(i);
        }
    }
    Voilà, voilà. Y'a certainement 1 ou 2 bugs d'inattention mais le principe est là

Discussions similaires

  1. [Google Maps] API V3 - affichage infobulle à partir d'une balise <select>
    Par md dans le forum APIs Google
    Réponses: 3
    Dernier message: 13/09/2011, 09h51
  2. sélectionner Une ComboBox et Afficher le Resultat a partir d'une BD dans TextField
    Par KMeriam dans le forum Interfaces Graphiques en Java
    Réponses: 1
    Dernier message: 01/09/2010, 17h21
  3. [XL-2000] Faire un tri sur un tableau à partir d'une colonne de celui-ci
    Par noobie dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 06/05/2010, 14h28
  4. Update d'une table à partir d'une requéte selection
    Par Xorbane dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 16/03/2008, 18h30
  5. [SQL]Creer une table a partir d'une requete SELECT * INTO
    Par aliboubou dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 03/04/2007, 11h30

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