mysql — навигация записей php

<?php
$host='localhost';
$user='root';
$password='root';
$database='database';

$startindex=@$_REQUEST['seek'];

$db=mysql_connect($host, $user, $password)
or die ("Impossibile connettersi al server $host");

mysql_select_db($database, $db)
or die ("Impossibile connettersi al database $database");$query="SELECT * FROM ordini_master";
$dbResult=mysql_query($query, $db);
$AffectedRows=mysql_affected_rows($db);

mysql_data_seek($dbResult, $startindex);

$row=mysql_fetch_row($dbResult);

foreach($row as $k=>$v)
{
$myfield=mysql_fetch_field($dbResult, $k);
print($myfield->name . " : $v <br/>");
}

mysql_free_result($dbResult);
mysql_close($db);

print("<br/>Seleziona il record<br/>");

for($index=0; $index<$AffectedRows; $index++)
{
print("<a href=\"{$_SERVER['PHP_SELF']}?seek=$index\" >" .
($index+1) . "</a> ");
}
?>

Этот код разрешает навигацию между записями запроса, поэтому он создает запись foreach для страницы в базе данных и отображает одно время записи. Как я могу изменить этот код для подкачки каждые 10 записей? Поэтому я хочу показать 10 записей времени и создать страницу для следующего.

Извините за мой английский (я итальянский), я надеюсь, что вы можете мне помочь.

-2

Решение

Что вам нужно в первую очередь это LIMIT заявление от mysql. MySql заявляет:

Предложение LIMIT может использоваться для ограничения количества возвращаемых строк.
с помощью оператора SELECT. LIMIT принимает один или два числовых аргумента,
оба должны быть неотрицательными целочисленными константами (кроме случаев использования
подготовленные заявления).

С двумя аргументами первый аргумент указывает смещение
первая строка для возврата, а вторая указывает максимальное количество
строки для возврата. Смещение начальной строки 0 (не 1):

Что касается того, как реализовать это в вашем коде, я не мог бы написать лучший ответ, как тот, который нашел Вот.

0

Другие решения

использование LIMIT чтобы получить столько записей, сколько пожелаете.
Пример:

SELECT * FROM tbl LIMIT 5,10;  # Retrieve rows 6-15

Вот ваш модифицированный код. Это должно работать для вас.
Я не проверял это, но попробуйте:

<?php
$host='localhost';
$user='root';
$password='root';
$database='database';

$startindex=(isset($_REQUEST['seek']) ? $_REQUEST['seek'] : 0);

$db=mysql_connect($host, $user, $password)
or die ("Impossibile connettersi al server $host");

mysql_select_db($database, $db)
or die ("Impossibile connettersi al database $database");

$queryCnt = "SELECT count(*) as cnt FROM ordini_master";
$CntRow=mysql_fetch_row(mysql_query($query, $db));
$CntData = $CntRow[0];

$step = 10;
$query="SELECT * FROM ordini_master LIMIT $startindex, $step";
$result=mysql_query($query, $db);

while ($row = mysql_fetch_assoc($result)) {
foreach($row as $k=>$v) {
$myfield=mysql_fetch_field($result, $k);
print($myfield->name . " : $v <br/>");
}
}

mysql_free_result($result);
mysql_close($db);

print("<br/>Seleziona il record<br/>");

for($index=0; $index<$CntData; $index=$index+$step) {
print("<a href=\"{$_SERVER['PHP_SELF']}?seek=$index\" >" .
($index+1) . "</a> ");
}

Используйте информацию из tadman тоже.
Очень важно сделать что-то, чтобы предотвратить внедрение SQL, а также необходимо использовать PDO или расширение mysqli, потому что расширение mysql больше не будет поддерживаться.

0

Ты можешь использовать COUNT отображать ваши записи и создавать страницы

   function getLimitData($start,$limit){
//getting all items
$db = new PDO('mysql:host=localhost; dbname=data','root','');
$results = $db->query("SELECT * FROM table ORDER BY ID DESC limit $start,$limit");
$results = $results->fetchAll(PDO::FETCH_ASSOC);
return $results;
}
//database connection
$db = new PDO('mysql:host=localhost; dbname=data','root','');
//pagination pages
$nav_counter = basename($_SERVER['SCRIPT_FILENAME']);
$page_counter = $nav_counter;
$nav_counter = rtrim($nav_counter, ".php");
$cPage = $page_counter + 1;

//creating next pages
$first_next = $nav_counter + 1 ;
$sec_next = $first_next + 1 ;
$third_next = $sec_next + 1 ;
$fourth_next = $third_next + 1 ;
$fifth_next = $fourth_next + 1 ;
$sixth_next = $fifth_next + 1 ;
$seventh_next = $sixth_next + 1 ;
$next_page = $seventh_next + 1;

//creating previous pages
$first_prev = $nav_counter - 1 ;
$sec_prev = $nav_counter - 2 ;
$third_prev = $nav_counter - 3 ;
$fourth_prev = $nav_counter - 4 ;
$fifth_prev = $nav_counter - 5 ;
$sixth_prev = $nav_counter - 6 ;
$seventh_prev = $nav_counter - 7 ;

//row count
$tableExists = $db->tableExist();
$ROW_COUNT = $db->getRowCount();

$numRows= 9; //number of items to be displayed
//last page
//last page
$last_page = ($ROW_COUNT / $numRows) - 1;
if(!is_int($last_page)){
$last_page = (int)$last_page + 1;
}

$pageNate = '';
if($ROW_COUNT <= $numRows){
$pageNate = 'class="hide"';
}else{
$pageNate = 'class="exist"';
}

//displaying torrents
$start = 0;
$limit = $numRows;
if ($page_counter !== 'index.php') {

$start = ($limit * $nav_counter);
}
//getting number of rows left in the table
$rows_left = $db->getLimitData($start, $limit);

$number_rows = 0;
foreach ($rows_left as $r) {
$number_rows = $number_rows + 1;
}
if ($number_rows < $numRows) {
$limit = $number_rows;
}

$items = $db->getLimitData($start, $limit);
?>

отображение элемента

         <ol>
<?php foreach($items as $item) : ?>
<li><php echo $item['Value']; ?></li>
<?php endforeach; ?>
</ol>

код нумерации страниц

<?php
$pages = array();
for ($counter = 1; $counter <= $last_page; $counter++) {
$pages[] = $counter;
}
//storing pages in array and creating a page if it doesn't exist
foreach ($pages as $key) {
$page = $key.'.php';
//if page doesn't exists create page
if(file_exists($page)== false && $key <= $last_page){
copy('index.php', $page);
}
}
?><p class="pagenav" >
<a href="index.php" <?php if ($page_counter == 'index.php') {echo 'class="hide"';} ?>>&lt;&lt;</a>
<a href="<?php if ($page_counter == '1.php') {echo 'index.php';}else{echo "$first_prev".".php";}  ?>" <?php if ($page_counter == 'index.php') {echo 'class="hide"';} ?>>&lt;</a>
<a href="<?php echo "$seventh_prev".".php"; ?>" <?php if($seventh_prev <= 0){echo 'class="hide"';} ?>><?php echo $seventh_prev;?></a>
<a href="<?php echo "$sixth_prev".".php"; ?>" <?php if($sixth_prev <= 0){echo 'class="hide"';} ?>><?php echo $sixth_prev;?></a>
<a href="<?php echo "$fifth_prev".".php"; ?>" <?php if($fifth_prev <= 0){echo 'class="hide"';} ?>><?php echo $fifth_prev;?></a>
<a href="<?php echo "$fourth_prev".".php"; ?>" <?php if($fourth_prev <= 0){echo 'class="hide"';} ?>><?php echo $fourth_prev;?></a>
<a href="<?php echo "$third_prev".".php"; ?>" <?php if($third_prev <= 0){echo 'class="hide"';} ?>><?php echo $third_prev;?></a>
<a href="<?php echo "$sec_prev".".php"; ?>" <?php if($sec_prev <= 0){echo 'class="hide"';} ?>><?php echo $sec_prev;?></a>
<a href="<?php echo "$first_prev".".php"; ?>" <?php if($first_prev <= 0 ){echo 'class="hide"';} ?>><?php echo $first_prev;?></a>
<a <?php if ($page_counter == 'index.php') {echo 'class="hide"';}else{ echo 'id="here"';} ?>><?php echo $nav_counter; ?></a>
<a href="<?php echo $first_next.'.php'; ?>" <?php if($first_next <= $last_page){echo 'class="exist"';}else{echo 'class="hide"';} ?>><?php echo $first_next;?></a>
<a href="<?php echo "$sec_next".".php"; ?>" <?php if($sec_next <= $last_page){echo 'class="exist"';}else{echo 'class="hide"';} ?>><?php echo $sec_next;?></a>
<a href="<?php echo "$third_next".".php"; ?>" <?php if($third_next <= $last_page){echo 'class="exist"';}else{echo 'class="hide"';} ?>><?php echo $third_next;?></a>
<a href="<?php echo "$fourth_next".".php"; ?>" <?php if($fourth_next <= $last_page){echo 'class="exist"';}else{echo 'class="hide"';} ?>><?php echo $fourth_next;?></a>
<a href="<?php echo "$fifth_next".".php"; ?>" <?php if($fifth_next <= $last_page){echo 'class="exist"';}else{echo 'class="hide"';} ?>><?php echo $fifth_next;?></a>
<a href="<?php echo "$sixth_next".".php"; ?>" <?php if($sixth_next <= $last_page){echo 'class="exist"';}else{echo 'class="hide"';} ?>><?php echo $sixth_next;?></a>
<a href="<?php echo "$seventh_next".".php"; ?>" <?php if($seventh_next <= $last_page){echo 'class="exist"';}else{echo 'class="hide"';} ?>><?php echo $seventh_next;?></a>
<a href="<?php echo "$first_next".".php"; ?>" <?php if($first_next <= $last_page){echo 'class="exist"';}else{echo 'class="hide"';} ?>>&gt;</a>
<a href="<?php echo $last_page.'.php'; ?>" <?php if($nav_counter == $last_page){echo 'class="hide"';}else{echo 'class="exist"';} ?>>&gt;&gt;</a>
</p>

введите описание изображения здесь

0
По вопросам рекламы [email protected]