Vous n'êtes pas identifié(e).
Pages :: 1
Bonjour tout le monde, je débute en php et j'aurai une petite question :
J'ai un tableau de produits en php : produits.php qui vient d'une table dans PHPmyadmin.
Pour l'instant ça va le tableau s'affiche bien mais j'aimerai faire des "tris" dans ce tableau comme par exemple tiré par prix croissant comme sur les sites de ventes.
J'ai cherché et je n'est pas trouvé d'information.
Merci de votre aide.
Pour info voila mon code produits.php
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Liste des produits</title>
</head>
<body>
<?php
echo '<h2>Liste des produits présentées en tableau<br /><br /></h2>';
$base = mysqli_connect ('localhost', 'root', '')
or die("Impossible de se connecter : " . mysqli_error());
mysqli_select_db ($base,'p&v bike') ;
$sql = "SELECT Designationpr, Prixpr, Idpr FROM produits";
$req = mysqli_query($base,$sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysqli_error($base));
// Affichage de l'entête du tableau
echo "<table border=\"0\" cellpadding=\"1\">";
echo "<tr>";
for ($champ=0; $champ < mysqli_field_count($base); $champ++)
{
$nom_du_champ = mysqli_fetch_field_direct($req, $champ);
echo "<td width=\"150\" align=\"center\" bgcolor=\"#999999\">$nom_du_champ->name</td>";
}
echo "</tr>";
// affichage des voitures
while ($data = mysqli_fetch_array($req))
{
echo "<tr>"; // nouvelle ligne du tableau
echo "<td align=\"center\">".utf8_encode($data['Designationpr'])."</td>";
echo "<td align=\"center\">".utf8_encode($data['Prixpr'])."</td>";
echo "<td align=\"center\">".utf8_encode($data['Idpr'])."</td>";
echo "</tr>"; // fin de la ligne du tableau
}
// terminer la table
echo "</table>";
// Libèration de la mémoire utilisée pour cette requête dans sql
//$data de PHP lui est toujours accessible !
mysqli_free_result ($req);
// Fermeture de sql
mysqli_close ($base);
?>
</body>
</html>
Hors ligne
Bonjour,
$sql = "SELECT Designationpr, Prixpr, Idpr FROM produits";
devient
$sql = "SELECT Designationpr, Prixpr, Idpr FROM produits order by Prixpr";
a++
Hors ligne
Merci pour ta réponse,
Enfaite j'aimerais que l'utilisateur puisse choisir lui même le trie et changer à sa guise, j'ai trouvé comme code celui ci mais il me met des erreurs pour les lignes en gras pouvez-vous m'aider svp :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<?php
// Connexion à la base de donnée
$base = mysqli_connect ('localhost', 'root', '')
or die("Impossible de se connecter : " . mysqli_error());
mysqli_select_db ($base,'p&v bike') ;
// Le nom de notre table
$tablename = 'produits';
// Tri sur colonne
$tri_autorises = array('Idpr','Designationpr','Prixpr');
$order_by = in_array(isset($_GET['order']),$tri_autorises) ? $_GET['order'] : 'Idpr';
// Sens du tri
$order_dir = isset($_GET['inverse']) ? 'DESC' : 'ASC';
// Préparation de la requête
$sqli = "
SELECT Designationpr, Prixpr, Idpr
FROM produits
ORDER BY {$order_by} {$order_dir}
";
$result = mysqli_query($sqli);
// Notre fonction qui affiche les liens
function sort_link($text, $order=false)
{
global $order_by, $order_dir;
if(!$order)
$order = $text;
$link = '<a href="?order=' . $order;
if($order_by==$order && $order_dir=='ASC')
$link .= '&inverse=true';
$link .= '"';
if($order_by==$order && $order_dir=='ASC')
$link .= ' class="order_asc"';
elseif($order_by==$order && $order_dir=='DESC')
$link .= ' class="order_desc"';
$link .= '>' . $text . '</a>';
return $link;
}
// Affichage
?>
<style type="text/css">
a.order_asc,
a.order_desc:hover {
padding-right:15px;
background:transparent url(s_asc.png) right no-repeat;
}
a.order_desc,
a.order_asc:hover {
padding-right:15px;
background:transparent url(s_desc.png) right no-repeat;
}
</style>
<table>
<tr>
<th><?php echo sort_link('Idpr', 'idpr') ?></th>
<th><?php echo sort_link('Designationpr', 'designationpr') ?></th>
<th><?php echo sort_link('Prixpr', 'prixpr') ?></th>
</tr>
<?php while( $row=mysqli_fetch_assoc($result) ) : ?>
<tr>
<td><?php echo $row['Idpr'] ?></td>
<td><?php echo $row['Designationpr'] ?></td>
<td><?php echo $row['Prixpr'] ?></td>
</tr>
<?php endwhile ?>
</table>
Hors ligne
Pages :: 1