Pagina 1 din 1
Afisarea datelor din scriptul de paginare
Scris: Vin Iun 25, 2010
de claUdiu
Cod: Selectaţi tot
<?php
// Script de paginare, de la https://marplo.net
// Datele pt. conectare la baza de date
// MODIFICATI
$host = "localhost"; // server MySQL
$utilizator = "imagehostingg";
$parola = "imagehostingg";
$numebd = "imagehostingg"; // nume baza de date
// Conectarea la baza de date
$conn = mysql_connect($host, $utilizator, $parola);
if (!$conn) {
echo 'Conectare nereusita la MySQL';
exit;
}
// Selectarea bazei de date
if (!mysql_select_db($numebd, $conn)) {
echo 'Baza de date nu a putut fi selectata deoarece : '. mysql_error();
exit;
}
// Setarea pentru format UTF-8
$sql = "SET NAMES 'utf8'";
mysql_query($sql, $conn);
// Afla cate linii sunt in tabel (MODIFICATI 'nume_tb') din baza de date
$sql = "SELECT COUNT(*) FROM `fisiere";
$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
$rowsperpage = 15;
// 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['pagina']) && is_numeric($_GET['pagina'])) {
// seteaza variabila ca int
$currentpage = (int) $_GET['pagina'];
} 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;
// obtine datele din tabel (MODIFICATI 'nume_tb') din baza de date
$sql = "SELECT * FROM `fisiere` 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)) {
// - MODIFICATI numele coloanelor tabelului ('id' si 'texte')
// Stocheaza datele returnate de MySQL in variabile array pt. fiecare coloana
$fisier[] = $list['fisier'];
$cod_fisier[] = $list['cod_fisier'];
$data[] = $list['data'];
$ora[] = $list['ora'];
$descarcari[] = $list['descarcari'];
}
mysql_close(); // Incheie conexiunea cu mysql
/*** Afisarea datelor obtinute ***/
// Parcurge variabilele array setate in bucla WHILE
for($i=0; $i<count($id); $i++) {
// Aici puteti adauga cod HTML pentru aspectul grafic al afisarii
echo '<table border=0 class=margins cellspacing=1 width=75%>
<tr>
<th bgcolor="#454545"><font color="white" size="2"><b>Numele fisierului</b></th></font>
<th bgcolor="#454545"><font color="white" size="2"><b>Descarcari</b></th></font>
<th bgcolor="#454545"><font color="white" size="2"><b>Data uploadului</b></th></font>
</tr>';
echo '<tr>
<td class="margins" width="50%" align="left"><font class="lista_servere" color="blue" size="2"><b><a href="download.php?k='.$cod_fisier[$i].'">'.$fisier[$i].'</a></td></font>
<td class="margins" width="50%" align="left"><font class="lista_servere" color="blue" size="2"><b>'.$rand['descarcari'].'</td>
<td class="margins" width="50%" align="left"><font class="lista_servere" color="blue" size="2"><b>$data[$i].' - '.$ora[$i]</td>
</font></tr>';
echo '</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']}?pagina=1'><<</a> ";
// obtine nr. pagina din urma
$prevpage = $currentpage - 1;
// arata < pt. link la o pagina in urma
echo " <a href='{$_SERVER['PHP_SELF']}?pagina=$prevpage'><</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 " [<b>$x</b>] ";
// daca nr. nu e pagina curenta ...
} else {
// il face link
echo "Pagina $currentpage din $totalpages <a href='{$_SERVER['PHP_SELF']}?pagina=$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']}?pagina=$nextpage'>></a> ";
// arata >> pt. ultima pagina
echo " <a href='{$_SERVER['PHP_SELF']}?pagina=$totalpages'>>></a><br><br>";
}
?>
Sus este codul umpic modificat, dar numi arata nici un rezultat. Care ar fi problema?pls help:(
Afisarea datelor din scriptul de paginare
Scris: Sâm Iun 26, 2010
de MarPlo
Incearca sa pui in loc de:
for($i=0; $i<count($id); $i++)
Urmatorul cod:
for($i=0; $i<count($fisier); $i++)
Afisarea datelor din scriptul de paginare
Scris: Sâm Iun 26, 2010
de claUdiu
Ms merge, dar mai am o problema.
Cod: Selectaţi tot
<?php
// Script de paginare, de la https://marplo.net
// Datele pt. conectare la baza de date
// MODIFICATI
$host = "localhost"; // server MySQL
$utilizator = "imagehostingg";
$parola = "imagehostingg";
$numebd = "imagehostingg"; // nume baza de date
// Conectarea la baza de date
$conn = mysql_connect($host, $utilizator, $parola);
if (!$conn) {
echo 'Conectare nereusita la MySQL';
exit;
}
// Selectarea bazei de date
if (!mysql_select_db($numebd, $conn)) {
echo 'Baza de date nu a putut fi selectata deoarece : '. mysql_error();
exit;
}
// Setarea pentru format UTF-8
$sql = "SET NAMES 'utf8'";
mysql_query($sql, $conn);
// Afla cate linii sunt in tabel (MODIFICATI 'nume_tb') din baza de date
$sql = "SELECT COUNT(*) FROM `fisiere";
$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
$rowsperpage = 15;
// 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['pagina']) && is_numeric($_GET['pagina'])) {
// seteaza variabila ca int
$currentpage = (int) $_GET['pagina'];
} 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;
// obtine datele din tabel (MODIFICATI 'nume_tb') din baza de date
$sql = "SELECT * FROM `fisiere` LIMIT $offset, $rowsperpage";
$result = mysql_query($sql, $conn) or trigger_error(E_USER_ERROR);
// parcurgerea matricei cu datele obtinute
// - MODIFICATI numele coloanelor tabelului ('id' si 'texte')
// Stocheaza datele returnate de MySQL in variabile array pt. fiecare coloana
$fisier[] = $list['fisier'];
$cod_fisier[] = $list['cod_fisier'];
$data[] = $list['data'];
$ora[] = $list['ora'];
$descarcari[] = $list['descarcari'];
mysql_close(); // Incheie conexiunea cu mysql
/*** Afisarea datelor obtinute ***/
// Parcurge variabilele array setate in bucla WHILE
for($i=0; $i<count($fisier); $i++) {
// Aici puteti adauga cod HTML pentru aspectul grafic al afisarii
echo '<table border=0 class=margins cellspacing=1 width=75%>
<tr>
<th bgcolor="#454545"><font color="white" size="2"><b>Numele fisierului</b></th></font>
<th bgcolor="#454545"><font color="white" size="2"><b>Descarcari</b></th></font>
<th bgcolor="#454545"><font color="white" size="2"><b>Data uploadului</b></th></font>
</tr>';
while ($list = mysql_fetch_assoc($result)) {
echo '<tr>
<td class="margins" width="50%" align="left"><font class="lista_servere" color="blue" size="2"><b><a href="download.php?k='.$fisier[$i].'">'.$fisier[$i].'</a></td></font>
<td class="margins" width="50%" align="left"><font class="lista_servere" color="blue" size="2"><b>'.$descarcari[$i].'</td>
<td class="margins" width="50%" align="left"><font class="lista_servere" color="blue" size="2"><b>'.$data[$i].'</td>
</font></tr>';
}
echo '</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']}?pagina=1'><<</a> ";
// obtine nr. pagina din urma
$prevpage = $currentpage - 1;
// arata < pt. link la o pagina in urma
echo " <a href='{$_SERVER['PHP_SELF']}?pagina=$prevpage'><</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 " [<b>$x</b>] ";
// daca nr. nu e pagina curenta ...
} else {
// il face link
echo "Pagina $currentpage din $totalpages <a href='{$_SERVER['PHP_SELF']}?pagina=$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']}?pagina=$nextpage'>></a> ";
// arata >> pt. ultima pagina
echo " <a href='{$_SERVER['PHP_SELF']}?pagina=$totalpages'>>></a><br><br>";
}
?>
Am mutat
while ($list = mysql_fetch_assoc($result)) { umpic mai jos pentru a nu se repeta titlurile din tabel la fiecare fisier si acuma numi arata deloc rezultatele:-??ce prb ar fi?:(
Afisarea datelor din scriptul de paginare
Scris: Sâm Iun 26, 2010
de MarPlo
Problema este ca ai mutat WHILE, si nu mai se genereaza ce era inainte in while si care asa trebuiau sa fie, deoarece urmatoarele depind de ce e in while.
Daca vrei sa faci acel script altfel, e treaba ta, nu ma bag unde modifici si nu stii ce face.