Wenn ich eine Kategorie auswähle und die Submit-Taste drücke, zeigt meine Seitennummerierung die korrekte Anzahl an Seiten an, die für die Anzahl der Datensätze benötigt werden, die mein SQL-Statement abgerufen hat. Wenn ich zum Beispiel auf Seite 2 klicke, wird die Seite aktualisiert und die Daten werden nicht mehr angezeigt, anstatt die nächste Seite anzuzeigen. Es wird nur noch die Kategorie Dropdown-Box und die Suchschaltfläche angezeigt.
if(isset($_POST['search'])) {
$filmCategory = isset($_REQUEST['filmCategory']) ? $_REQUEST['filmCategory'] : null;
if (empty($filmCategory)) {
$whereclause = '';
}else {
$whereclause = "where c.category_id = '$filmCategory'";
}
require_once('functions.php');
//user input
$page = isset($_GET['page']) ? (int)$_GET['page'] : 1;
$perPage = isset($_GET['per-page']) && $_GET['per-page'] <=15 ? (int)$_GET['per_page'] : 10;
//positioning
$start = ($page > 1) ? ($page * $perPage) - $perPage : 0;
//query
$filmSQL = $db->prepare("SELECT SQL_CALC_FOUND_ROWS f.title, f.description, f.release_year, c.name,
f.rating, f.last_update
from nfc_film f
inner join nfc_film_category fc
on f.film_id = fc.film_id
inner join nfc_category c
on fc.category_id = c.category_id
$whereclause
LIMIT {$start}, {$perPage}");
// execute the query and get the title, description, release year, name, rating and last update of film
$filmSQL->execute();
//echo the table with the titles and correct data from SQL
echo "<table border=\"1\">\n";
echo "<tr><th>Title</th><th>Description</th><th>Release Year</th><th>Category</th><th>Rating</th><th>Last Update</th></tr>";
while ($filmInfo = $filmSQL->fetchObject()) {
$upperLower= upperFirst(lowercase($filmInfo->title));
$uLDescription= firstUpper(lowercase($filmInfo->description));
$noChar = substr($uLDescription,0,100).'...';
echo "<form action='filmInfo.php' method='get'>";
echo "<tr>
<td><input type='text' name='filmInfo' value='{$upperLower}'</td>
<td><p>$noChar.</p></td>
<td>{$filmInfo->release_year}</td>
<td>{$filmInfo->name}</td>
<td>{$filmInfo->rating}</td>
<td>{$filmInfo->last_update}</td>
<td><input type='submit' value='Film Details' </td>
</tr>";
echo" </form>";
}
echo "</table>";;
so über alles funktioniert gut, aber wenn ich dann Seite 2 zum Beispiel wird die Seite aktualisiert wählen und alle Daten verschwinden
$total = $db->query("SELECT FOUND_ROWS() AS total")->fetch()['total'];
//use CEIL to round up the pages so here are no pages with decimals
$pages = ceil($total/$perPage);
for($x = 1; $x <= $pages; $x++):;
echo"<div id='pagination'>
<a href='?page=$x'>$x</a>
</div>";
endfor;
}
?>
mag ich es auf die nächste Seite von Datensatz zeigen, aber ich kann es nicht bekommen zu arbeiten :(
, die entweder die Paginierung seiner selbst ist nicht das Problem gearbeitet has not i t bringt die richtige Menge von Aufzeichnungen, die ich gefragt habe, und zeigt die Seitenzahlen, aber wenn ich auf die Links if (isset ($ _ POST ['Suche'])) {zurückgesetzt und kein recorsd zeigt danke trotzdem – BArthurs122