Ich erstelle eine dynamische Tabelle und ich möchte benutzerdefinierte Auswahloption für die Datensätze pro Seite haben. Ich sehe auf einer Website, aber es muss nicht wählen Sie die Option für SeitenSeitenumbruch Datensätze pro Seite in Option
Meine Idee ist es wie folgt aus:
Ich möchte die $per_page
zu einem PHP-Tag ändern, aber es gibt mir einen Fehler, wenn ich benutze $_GET
und $_POST
.. dank für die Hilfe
<form method="GET">
<select id="records" name="records">
<option value="10">10</option>
<option value="20">20</option>
<option value="30">30</option>
<option value="40">Mostra tutti</option>
</select><li>
<li><input type = "submit" class = button2 name = "btnsubmit"></li>
</form>
</ul></nav>
<?php
$page_name="admin_list.php";
$per_page = 10 ;
if ($result = $con->query("SELECT * FROM clienti WHERE utenza =1 OR utenza =0 ORDER BY es_insegna_esercizio"))
{
if ($result->num_rows != 0)
{
$total_results = $result->num_rows;
// ceil() returns the next highest integer value by rounding up value if necessary
$total_pages = ceil($total_results/$per_page);
// check if the 'page' variable is set in the URL (ex: view-paginated.php?page=1)
if (isset($_GET['page']) && is_numeric($_GET['page']))
{
$show_page = $_GET['page'];
// make sure the $show_page value is valid
if ($show_page > 0 && $show_page <= $total_pages)
{
$start = ($show_page -1) * $per_page;
$end = $start + $per_page;
}
else
{
// error - show first set of results
$start = 0;
$end = $per_page;
}
}
else
{
// if page isn't set, show first set of results
$start = 0;
$end = $per_page;
}
echo "<table id='my_table' class='tables' name ='tablename'>";
echo "
<thead><tr>
<th></th>
<th>
<input type = checkbox >
</th>
<th>Azienda</th>
<th>Utente</th>
<th>Cognome</th>
</tr></thead>
" ;
// loop through results of database query, displaying them in the table
for ($i = $start; $i < $end; $i++){
// make sure that PHP doesn't try to show results that don't exist
if ($i == $total_results) { break; }
// find specific row
$result->data_seek($i);
$row = $result->fetch_row();
// echo out the contents of each row into a table
echo "<tr>";
echo '<td><img src ="images/edit_icon.png"class = "autoResizeImage" onclick="JavaScript:newPopup(\'admin_edit.php?id='.$row['0'].'\')" /></td>';
echo '<td><input type=checkbox name=chk[] class= chk-box value='.$row[0].'/></td>';
echo '<td>' . $row[14] . '</td>';
echo '<td>' . $row[2]. '</td>';
echo '<td>' . $row[3] . '</td>';
echo '<td>' . $row[4] . '</td>';
echo "</tr>";
}
// close table>
echo "</table></form>";
}
else{
echo "No results to display!";
}
}
// error with the query
else{
echo "Error: " . $con->error;
}
echo "<p>
<b>View Page: </b>";
for ($i = 1; $i <= $total_pages; $i++){
if (isset($_GET['page']) && $_GET['page'] == $i){
echo $i;
}
else{
echo "<a href='admin_list.php?page=$i'>$i</a> ";
}
}
echo "</p>";
// close database connection
$con->close();
?>
</form>
</div>
die Option funktioniert, aber wenn ich auf die Seitenzahlen klicke, gehen die Ergebnisse zurück auf 30 pro Zeile Dank – rcpd
Ich verstehe nicht ganz, was Sie sagen. Können Sie Ihr Problem etwas besser erklären? – b0ne
die Option funktioniert und die Anzahl der Zeilen ändert sich jetzt, aber wenn ich auf die nächste Seite klicke, zum Beispiel 1 [2] 3 4 5. Die Anzahl der Zeilen kehrt zum Wert von 30 statt des gewählten Wertes zurück. danke – rcpd