Yuko

Yuko -  
avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je possède un système de commande (voir http://shop.shaiko-group.com)
Quand une personne commande, sur mon panel admin je vois la commande du type.

Seulement, je reçois énormément de commande et tout s'affiche sur une seule page.
Je voudrais savoir comment il faut faire pour que des pages se créent disons toutes les 15 commandes

Merci d'avance
Configuration: Windows Vista
Firefox 3.5.3

8 réponses

  1. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    <?php
    mysql_connect('host','login','password');
    mysql_select_db('db');
    
    if(preg_match("#^[0-9]+$#i",$_GET['page'])) {
        $page = $_GET['page'];
    } else {
        $page = 1;
    }
    $nbParPage = 15;
    $premier = ($page - 1) * $nbParPage;
    
    $sql = 'SELECT * FROM table LIMITE '.$premier.', '.$nbParPage;
    $req = mysql_query($sql);
    while($commande = mysql_fetch_assoc($req)) {
        echo '...<br/>'."\n";
    }
    
    $nbEnregistrement = @mysql_num_rows($req);
    $nbPage = ceil($nbEnregistrement / $nbParPage);
    
    for($i = 0 ; $i <= $nbPage ; $i++) {
        echo '<a href="page.php?page='.$i.'">'.$i.'</a> ';
    }
    ?>
    Tu peux aussi utiliser cette fonction
    0
  2. Yuko
     
    Bonjour, merci pour ta réponse

    Je possède déjà la page, tu pourrais intégré le code sur celle-ci (car bon, le php, pas mon truc)

    <?php
    session_start();
    include 'config.php';
    if(isset($_GET['p'])) $p = $_GET['p'];
    else $p=1;
    $tresor = mysql_query("SELECT * FROM membres WHERE id='" .$_SESSION['id']. "'");
    $niveau = mysql_fetch_array($tresor);
    if(isset($_SESSION['id']) && $niveau['niveau'] == 1)
    {
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"><head><title>Shaiko Shop</title><LINK REL="SHORTCUT ICON" href="images/favicon.ico">

    <meta http-equiv="Content-Language" content="fr" />
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <link type="text/css" rel="stylesheet" media="screen" href="style.css" /></head>
    <body>
    <div id="site">
    <div id="header"></div>
    <div id="sous-header">
    <?php include 'menu_haut.php'; ?>
    </div>
    </div>
    <div id="corp">
    <div id="left">
    <div id="contenu-left">
    <?php include 'phrase_haut.php'; ?>

    <?php include 'menu_gauche.php'; ?>
    <br />
    <?php include 'phrase_bas.php'; ?>
    </div>
    <div id="right">
    <div id="contenu-right">
    <div id="arbo"> <strong>Vous êtes ici :</strong>
    <i>Les commandes des joueurs</i> </div>
    <?php
    $seb = mysql_query("SELECT * FROM allopass");
    if($p==1)
    {
    ?>
    <table align="center" width="750" class="tab">
    <tr>
    <th align="center">Pseudo</th>
    <th align="center">Personnage</th>
    <th align="center">Produit</th>
    <th align="center">Nouveau nom</th>
    <th align="center">Couleur</th>
    <th align="center">Sexe</th>
    <th align="center">Date</th>
    <th align="center">Code</th>
    <th align="center">Etat</th>
    </tr>
    <?php
    while($fr = mysql_fetch_array($seb))
    {
    ?>
    <tr>
    <td align="center"><?php echo $fr['pseudo']; ?></td>
    <td align="center"><?php echo $fr['personnage']; ?></td>
    <td align="center"><?php echo $fr['produit']; ?></td>
    <td align="center"><?php echo $fr['nouveau_nom']; ?></td>
    <td align="center"><?php echo $fr['couleur']; ?></td>
    <td align="center"><?php echo $fr['sexe']; ?></td>
    <td align="center"><?php echo date("d/m/Y - H:i:s", $fr['date']); ?></td>
    <td align="center"><?php echo $fr['code']; ?></td>
    <td align="center"><a href="commandes.php?p=2&code=<?php echo $fr['code']; ?>"><?php echo $fr['etat']; ?></a></td>
    </tr>
    <?php
    }
    }

    if($p==2)
    {
    ?>
    Vous voulez changer d'etat de commande:
    <form action="" method="post">
    <select name="etat2">
    <option value="en_cours">En cours</option>
    <option value="annule">Annule</option>
    <option value="valide">Valide</option>
    </select>
    <input type="submit" value="envoyer" name="envoyer" />
    </form>

    <?php
    if(isset($_POST['envoyer']))
    {

    if($_POST['etat2'] == "en_cours")
    {
    mysql_query("UPDATE allopass SET etat ='En cours' WHERE code='" .$_GET['code']. "'");
    echo 'etat change';
    }
    elseif($_POST['etat2'] == "annule")
    {
    mysql_query("UPDATE allopass SET etat ='Annule' WHERE code='" .$_GET['code']. "'");
    echo 'etat change';
    }
    elseif($_POST['etat2'] == "valide")
    {
    mysql_query("UPDATE allopass SET etat ='Valide' WHERE code='" .$_GET['code']. "'");
    echo 'etat change';
    }

    }
    }
    ?>
    </table>
    </div>
    </div>
    </div>
    </div>
    <span class="spacer">-</span>
    <div id="footer">
    <?php include 'copyright.php'; ?>
    </div>
    </body></html>
    <?php
    }
    else
    echo '<META HTTP-EQUIV="Refresh" CONTENT="0;URL=\'erreur.php?erreur=5\'">';
    ?>

    Merci d'avance
    0
  3. Yuko
     
    J'ai essayer de le faire grâce à la page:
    https://www.commentcamarche.net/faq/20420-php-pagination

    Seulement, j'ai un soucis.

    Utilisation:
    Pour utiliser cette fonction, il faut déjà être connecté à la base de données.
    Voici comment l'appeler : pagination($page,$table,$nombre_entree_par_page,$nombre_lien_max);
    $page : la page actuelle ($_GET['page'] par exemple)
    $table : table sur laquelle la pagination doit être faite
    $nombre_entree_par_par : C'est assez clair : le nom d'entrées q'affiche une page
    $nombre_lien_max : Nombre max. de lien après et avant la page actuelle.

    Je ne sais pas du tout quoi faire, pour les 4...
    merci de m'éclairer
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    C'est clairement expliqué ...
    Pour $nombre_lien_max, voici un exemple si cette variable vaut 3 :
    [Précédent] [5] [6] [7] [8] [9] [10] [11] [Suivant]
    0
  6. Yuko
     
    Comme j'ai plus le dire plus haut, le php et moi ça fait 2... (compte m'y mettre très vite!)

    Tu pourrais m'aider à régler mon soucis ? Il faut créer des tables, et je n'y arriverais pas tout seul...

    Merci
    0
  7. Yuko
     
    Vraiment bloquer, j'ai essayer énormément de chose, toujours pareil

    Help me plz :(
    0
  8. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    Si tu ne connais pas le PHP, ce n'est pas t'aider mais faire le travail à ta place, hors ici, c'est un forum d'entraide.
    0