Yuko

Yuko -  
avion-f16 Messages postés 20368 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

8 réponses

Yuko
 
Up ?
0
avion-f16 Messages postés 20368 Date d'inscription   Statut Contributeur Dernière intervention   4 509
 
<?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
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
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
avion-f16 Messages postés 20368 Date d'inscription   Statut Contributeur Dernière intervention   4 509
 
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
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
Yuko
 
Vraiment bloquer, j'ai essayer énormément de chose, toujours pareil

Help me plz :(
0
avion-f16 Messages postés 20368 Date d'inscription   Statut Contributeur Dernière intervention   4 509
 
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