Intrebare script paginare
Aici prezentati probleme, intrebari, sau orice subiecte legate de scripturi si tutoriale de pe site.
-
claUdiu
- Mesaje:313
Intrebare script paginare
Buna, deci am descarcat scriptul de paginare de pe site dar am o problema.
Eu as vrea sa aduag urmatorul cod in el:
Cod: Selectaţi tot
<?php
$cuvant=$_GET['fisier'];
$conn = mysql_connect("localhost", "das", "das")
or die("Unable to connect to MySQL");
$selectdb = mysql_select_db('das');
$interogare = "SELECT * FROM asd WHERE asd LIKE '%$cuvant%'";
$rezultat = mysql_query($interogare);
if (mysql_errno()) {
echo "<br />". mysql_errno(). " : ". mysql_error(). "<br />";
}
$nr_campuri = mysql_num_fields($rezultat);
if (mysql_num_rows($rezultat) == 0) {
echo 'Nici un rezultat';
}
else {
while ($rand = mysql_fetch_assoc($rezultat)) {
echo ''. $rand['fisier']. '';
}
}
?
Dar nu reusesc daca modific cv din el nu mai merge .PLS HELP
(
Se spune ca...."omul tot invata in viata". Dar...Totusi...Trebie sa ne oprim undeva, nu?
MarPlo
Mesaje:4343
Incearca treptat, testeaza doar acel cod, vezi ce returneaza, apoi il incluzi in script, trebuie sa folosesti pentru variabile aceleasi denumiri cu cele din script.
Daca te straduesti sa-i intelegi logica, din documentatia codului, iti poti da seama ce sau unde nu merge.
Nu stiu cum ai adaugat, unde si ce returneaza.
claUdiu
Mesaje:313
Eu am incercat sa fac asa:
Cod: Selectaţi tot
<?php
// Script de paginare, de la https://marplo.net
$cuvant=$_GET[fisier];
// Datele pt. conectare la baza de date
// MODIFICATI
$host = "localhost"; // server MySQL
$utilizator = "xfilex";
$parola = "xfilex";
$numebd = "xfilex"; // 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 = 10;
// 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;
// obtine datele din tabel (MODIFICATI 'nume_tb') din baza de date
$sql = "SELECT * FROM fisiere WHERE fisier LIKE '%$cuvant%'";
$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
$id[] = $list['id'];
$text[] = $list['texte'];
}
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 ''.$rand['fisier'].'';
}
/*** 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'><<</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'><</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 " <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'>></a> ";
// arata >> pt. ultima pagina
echo " <a href='{$_SERVER['PHP_SELF']}?currentpage=$totalpages'>>></a> ";
}
?>
Dupa cateva errori imi arata linkurile catre paginile 1-2-3-4 dar nu arata rezultatele din mysql:((
Se spune ca...."omul tot invata in viata". Dar...Totusi...Trebie sa ne oprim undeva, nu?
MarPlo
Mesaje:4343
Unde e asa:
Cod: Selectaţi tot
/*** 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 ''.$rand['fisier'].'';
}
Inlocueste cu:
Cod: Selectaţi tot
/*** 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 $id[$i].' - '. $text[$i];
}
- Daca nici asa nu merge, nu mai stiu.