Cod: Selectaţi tot
<?php session_start();
include("admin/logare/bazadb.php");
include("admin/logare/login.php");
include("includes/functions.inc.php");
include("includes/header.php");
if (isset($_POST['rowsperpage'])){
$_SESSION['rowsperpage'] = $_POST['rowsperpage'];
$rowsperpage = $_POST['rowsperpage'];
}
else if (isset($_SESSION['rowsperpage']) && is_numeric($_SESSION['rowsperpage'])){
$rowsperpage = (int) $_SESSION['rowsperpage'];
}
else {
$rowsperpage = 30;
}
// Afla cate linii sunt in tabel (MODIFICATI 'nume_tb') din baza de date
$sql = "SELECT COUNT(*) FROM `produse`";
$result = mysql_query($sql, $conn) or trigger_error(E_USER_ERROR);
$r = mysql_fetch_row($result);
$numrows = $r[0];
// Stabileste numarul de linii din tabel afisate in pagina
// afla numarul total necesar de pagini
$totalpages = ceil($numrows / $rowsperpage); // ceil face rotunjire la int. maxim
// Obtine pagina curenta sau seteaza default
if (isset($_GET['currentpage']) && is_numeric($_GET['currentpage'])) {
// seteaza variabila ca int
$currentpage = (int) $_GET['currentpage'];
} else {
// pagina care este initial afisata (pagina default)
$currentpage = 1;
}
// daca pagina curenta e mai mare decat total pagini...
if ($currentpage > $totalpages) {
// seteaza pagina curenta la ultima pagina
$currentpage = $totalpages;
}
// daca pagina curenta e mai mica decat prima pagina...
if ($currentpage < 1) {
// seteaza pagina curenta la prima pagina
$currentpage = 1;
}
// lista cu pagini, in functie de pagina curenta
$offset = ($currentpage - 1) * $rowsperpage;
$default_sort = 'pr_nume';
$allowed_order = array ('pr_nume');
if (!isset ($_GET['order']) || !in_array ($_GET['order'], $allowed_order))
{
$order = $default_sort;
}
else
{
$order = $_GET['order'];
}
// obtine datele din tabel (MODIFICATI 'nume_tb') din baza de date
$sql = "SELECT * FROM `produse` ORDER BY $order LIMIT $offset, $rowsperpage";
$result = mysql_query($sql, $conn) or trigger_error(E_USER_ERROR);
// parcurgerea matricei cu datele obtinute
while ($list = mysql_fetch_assoc($result)) {
// Stocheaza datele returnate de MySQL in variabile array pt. fiecare coloana
$pr_id[] = $list['pr_id'];
$pr_nume[] = $list['pr_nume'];
$pr_cat[] = $list['pr_cat'];
$pr_autor[] = $list['pr_autor'];
$pr_frecventa[] = $list['pr_frecventa'];
$pr_pret[] = $list['pr_pret'];
$pr_nume_fis[] = $list['pr_nume_fis'];
}
mysql_close(); // Incheie conexiunea cu mysql
/*** Afisarea datelor obtinute ***/
// Parcurge variabilele array setate in bucla WHILE
echo '<table align="center" style="width: 600px; margin-bottom: 10px;" border="1px">
<thead>
<tr>
<th scope="col">ID</th>
<th scope="col">Nume</th>
<th scope="col">Gen Muzical</th>
<th scope="col">Autor</th>
<th scope="col">Frecventa</th>
<th scope="col">Pret</th>
</tr>
</thead>
<tbody>';
for($i=0; $i<count($pr_id); $i++) {
// Aici puteti adauga cod HTML pentru aspectul grafic al afisarii
echo "<tr>";
echo "<td>" . $pr_id[$i] . "</td>";
echo "<td>" . $pr_nume[$i] . "</td>";
echo "<td>" . $pr_cat[$i] . "</td>";
echo "<td>" . $pr_autor[$i] . "</td>";
echo "<td>" . $pr_frecventa[$i] . " kb/s</td>";
echo "<td>" . $pr_pret[$i] . "</td>";
echo '<td><input type="button" value="Play" onClick="callAS3(\'songs/'.$pr_nume_fis[$i].'\')">';
if($logged_in) {
echo '<td><a href="cart.php?action=add&itemid='.$pr_id[$i].'">Adauga in cos</a></td>';
echo '<td><a href="detalii_negativ.php?id='.$pr_id[$i].'">Detalii</a></td>';
}else{
echo '<td><a href="register.php">Adauga in cos</a></td>';
echo '<td><a href="register.php">Detalii</a></td>';
}
echo "</tr>";
}
echo "</tbody></table>";
/*** Construirea link-urilor pt. paginare ***/
// raza nr. link-uri din jurul celui curent
$range = 3;
// Link-uri inapoi, daca pagina curenta nu e prima
if ($currentpage > 1) {
// arata << pt. link la prima pagina
echo " <a href='{$_SERVER['PHP_SELF']}?currentpage=1'><img src=\"includes/style/img/sageti/begin.jpg\" border=\"0px\" /></a> ";
// obtine nr. pagina din urma
$prevpage = $currentpage - 1;
// arata < pt. link la o pagina in urma
echo " <a href='{$_SERVER['PHP_SELF']}?currentpage=$prevpage'><img src=\"includes/style/img/sageti/prev.jpg\" border=\"0px\" /></a> ";
}
// definirea link-urilor din raza paginii curente
for ($x = ($currentpage - $range); $x < (($currentpage + $range) + 1); $x++) {
// daca e un nr. de pagina valid ...
if (($x > 0) && ($x <= $totalpages)) {
// daca nr. e pagina curenta ...
if ($x == $currentpage) {
// afiseaza nr. pagina fara a fi link
echo ' <span style="font-size: 16px"><b>['.$x.']</b></span> ';
// daca nr. nu e pagina curenta ...
} else {
// il face link
echo " <a href='{$_SERVER['PHP_SELF']}?currentpage=$x'>$x</a> ";
}
}
}
// Daca pagina curenta nu e ultima, afiseaza link inainte si spre ultima pagina
if ($currentpage != $totalpages) {
// obtine pagina urmatoare
$nextpage = $currentpage + 1;
// arata > pt. urmatoarea pagina
echo " <a href='{$_SERVER['PHP_SELF']}?currentpage=$nextpage'><img src=\"includes/style/img/sageti/next.jpg\" border=\"0px\" /></a> ";
// arata >> pt. ultima pagina
echo " <a href='{$_SERVER['PHP_SELF']}?currentpage=$totalpages'><img src=\"includes/style/img/sageti/end.jpg\" border=\"0px\" /></a> ";
}
echo '<form action="'. $_SERVER['PHP_SELF'] . '" method="post">
<table>
<tr>
<td valign="bottom">
<input type="submit" name="rowsperpage" class="rowsperpage20" value="20">
</td>
<td valign="bottom">
<input type="submit" name="rowsperpage" class="rowsperpage50" value="50">
</td>
<td>
<input type="submit" name="rowsperpage" class="rowsperpage80" value="80">
</td>
</tr>
</table>
</form>
';
include("includes/footer.php");
?>
$pr_nume este numele produsului
$pr_cat este numele categoriei produsului
$pr_pret este pretul produsului
as vrea sa stiu cum pot face sortarea produselor crescator/descrescator dupa nume, pret si ultimele produse adaugate in baza de date.
un exemplu bun ar fi la eMAG:
http://www.emag.ro/foto_digitale