Problema pe care o am este la paginare.
Atasez urmatorul cod dupa care detaliez problema.
Imi cer scuze ca am afisat tot codul, dar nu stiu exact unde este problema, iar in caz ca se rezolva o sa ramana pentru cei care cauta asa ceva.
Cod: Selectaţi tot
<form name="form" action="cautare.php" target="_blank" method="post">
<input type="text" name="q" />
<input type="submit" name="Submit" value="Cauta" />
</form>
Cod: Selectaţi tot
<?php
session_start();
$_SESSION['q']= $_POST['q'];
echo $_SESSION['q'];
$var = $_SESSION['q'] ;
$trimmed = trim($var);
mysql_connect("localhost","user","pass");
mysql_select_db("database") or die("Unable to select database");
$rows_per_page = 30;
$page = $_GET['page'];
$offset = (!empty($page)) ? $page : $page = 1;
$self = $_SERVER['PHP_SELF']."?".$_SERVER['QUERY_STRING'];
$self = str_replace("page={$offset}", "", $self);
$offset = ($page) ? ($page - 1) * $rows_per_page : 0;
$query = "SELECT * ".
"FROM tabel ".
"WHERE camp LIKE \"%$trimmed%\"".
"ORDER BY id ".
"LIMIT {$offset},{$rows_per_page}";
$result = mysql_query($query);
// GET NUMBER OF PAGES
$ltq = mysql_query("SELECT * FROM tabel WHERE camp LIKE \"%$trimmed%\" ORDER BY id");
$listings_total = mysql_num_rows($ltq);
$NumPgs = ceil($listings_total / $rows_per_page);
?>
<div><strong>Rezultatele </strong></div>
<?php while($row = mysql_fetch_array($result)){ ?>
<div >
<?
$title=$row['camp'];
$final = $title;
echo "<a href=\" $final\" target='_blank'>$title</a><br/>" ;
session_destroy();
?>
</div>
<?php } ?>
<span style="float:right">
<?=$prev = ($NumPgs > 0 && $page!=1) ? "<a href=\"{$self}page=".($page-1)."\"><<Prev</a> ":
"<<Prev "; ?>
[Page <?php echo $page; ?>]
<?=$next = ($page < $NumPgs) ? "<a href=\"{$self}page=".($page+1)."\"> Next>></a>":
" Next>>";?>
</span>
<b> <?=$offset+1?> la <?=$offset+$rows_per_page?>, din <?=$listings_total?> Afisari</b>
</div>
</div>
Eh si acum detalii:
La afisarea initiala a cautarii totul pare ok pana se apasa pe linkul pentru pagina urmatoare.
Cand am apasat pe link, din tabel dispare cautarea facuta de user si sunt afisate toate rezultatele ca si cum la interogare a fost folosit doar "SELECT * tabel" fara nici o alta cauza.
Eu banuiesc 2 motive:
1.Din cauza ca variabila 'q' obitnuta din formul initial se pierde la apasarea linkului Next, iar pe a doua pagina este afisat rezultatul unei interogari goale.
2.Din cauza ca s-a strecurat o mica greseala in script sau in sqlquery pe care nu reusesc sa o dibuiesc.
Acum evident si rugaminti:
Daca va dati seama ce anume gresesc va rog sa ma luminati
Eu banuiesc ca trebuie folosit un cookie sau o sesiune dar nu reusesc sa implementez nici una din ele.
Multumesc ca m-ati suportat.
Cod: Selectaţi tot