X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> подсчёт, определение и вывод соответствующей записи с определённым номером
Электроник
Электроник
Topic Starter сообщение 7.3.2012, 17:45; Ответить: Электроник
Сообщение #1


необходимо подсчитать количество всех записей в таблице где page = pagename001 и выводя какую-нибудь из них (по отдельности) нужно показывать - на какой записи(странице) сейчас находимся

например мы их подсчитали, их 5 (соответственно 5 стр.) и у них такие id : (id=11) (id=15) (id=16) (id=17) (id=19)
получается так:
(id=19) [1]
(id=17) [2]
(id=16) [3]
(id=15) [4]
(id=11) [5]

нужно сделать так чтобы когда мы находимся например на (id=17), то на странице выводилось число [2]

выглядеть это будет (выделено красным цветом) в контексте этого:
[<предыдущая стр.<][>следующая стр.>][сейчас стр.: ...][всего стр.: ...]

пс: это отчасти связанно с этой темой (там было [<предыдущая страница<][>следующая страница>])

0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Электроник
Электроник
Topic Starter сообщение 7.3.2012, 20:57; Ответить: Электроник
Сообщение #2


вот код того, что я перечислял выше, не хватает только (присвоение и определения страницы)
думаю для тех кто шарит, это пустяк, а моих знаний недостаточно

[PHP]//проверка существования $_GET['id'] и присвоение этого значения $id
if (isset($_GET['id'])) {$id = $_GET['id'];}

//значение необходимого параметра, по которому будет производиться подсчет всех записей
$pageee = 'pagename001';

//выборка и вывод необходимой информации по id
$resdb = mysql_query("SELECT `id`,`foto`,`name` FROM `tabletest` WHERE `id`='$id'",$db) or die("Ошибка 0");
$rowdb = mysql_fetch_array($resdb);

//если такого id-а нет в таблице, то редирект куда надо
if (!isset($resdb['id'])) {
header("Location: http://perenapravleniesuda.php");
exit;
}

echo $rowdb['foto'];
echo $rowdb['name'];

//определение и вывод предыдущей страницы
$res = mysql_query("SELECT `id` FROM `tabletest` WHERE `id` > '$id' ORDER BY `id` LIMIT 1",$db) or die("Ошибка 1");
$row = mysql_fetch_array ($res);
if (isset($row['id'])) {
$id222 = $nrowooo['id'];
echo '<a href="111_forumtest.php?id='. $id222 .'">[предыдущая стр.]</a>';
}

//определение и вывод следующей страницы
$resss = mysql_query("SELECT `id` FROM `tabletest` WHERE `id` < '$id' ORDER BY `id` DESC LIMIT 1",$db) or die("Ошибка 2");
$rowss = mysql_fetch_array ($resss);
if (isset($rowss['id'])) {
$id111 = $nrow['id'];
echo '<a href="111_forumtest.php?id='. $id111 .'">[следующая стр.]</a>';
}

//подсчет и вывод количества страниц
$resv = mysql_query("SELECT COUNT(`page`) FROM `tabletest` WHERE `page`='$pageee'",$db) or die("Ошибка 3");
$rowv = mysql_fetch_array($resv);
$vse = $rowv[0];
echo '[всего стр.: ]'. $vse;

//как сделать определение и вывод (числа) [сейчас стр.: (число)] ???

[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 9.3.2012, 15:54; Ответить: alexdrob
Сообщение #3


Если бы нужно было пронумеровать выбираемые записи, то это не было бы проблемой большой, а так, даже не знаю как сделать оптимальней.
Только делать ещё запрос типа
select count(`id`) from `table` where `id` >= $id order by `id` desc

как то так
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Электроник
Электроник
Topic Starter сообщение 9.3.2012, 16:02; Ответить: Электроник
Сообщение #4


так ( = $id ) известный
я же им это выбираю,

(Электроник @ 7.3.2012, 23:57) *
//выборка и вывод необходимой информации по id
$resdb = mysql_query("SELECT `id`,`foto`,`name` FROM `tabletest` WHERE `id`='$id'",$db) or die("Ошибка 0");
$rowdb = mysql_fetch_array($resdb);


просто если я буду его выводить, то будет получаться так:
например : -
( всего записей/страниц: число [5] )
(id=19) число [19]
(id=17) число [17]
(id=16) число [16]
(id=15) число [15]
(id=11) число [11]
а нужно так:
( всего записей/страниц: число [5] )
(id=19) число [1]
(id=17) число [2]
(id=16) число [3]
(id=15) число [4]
(id=11) число [5]

сколько записей, тоже известно, таким образом

(Электроник @ 7.3.2012, 23:57) *
//подсчет и вывод количества страниц
$resv = mysql_query("SELECT COUNT(`page`) FROM `tabletest` WHERE `page`='$pageee'",$db) or die("Ошибка 3");
$rowv = mysql_fetch_array($resv);
$vse = $rowv[0];
echo '[всего стр.: ]'. $vse;


весь код выше работает, только не хватает этого [сейчас стр.: ...], для этого и тема
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 9.3.2012, 16:12; Ответить: alexdrob
Сообщение #5


(Электроник @ 9.3.2012, 19:02) *
так ( = $id ) известный
я же им это выбираю,

А где я сказал что он не известен?)

я написал запрос, который отсортирует все ваши записи по убыванию, то есть
19
17
16
15
11
выберет только до вашего id, например 16
19
17
16
и вернёт количество записей
то есть 3
получается что страница с ID = 16 будет номер 3
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Электроник
Электроник
Topic Starter сообщение 9.3.2012, 16:20; Ответить: Электроник
Сообщение #6


(alexdrob @ 9.3.2012, 19:12) *
А где я сказал что он не известен?)

вот поэтому я и создаю темы ) не шарю я ни в php ни в запросах
даже не знаю радоваться мне, или рано
всё таки не представляю, как будет работать то что написали, иду попробовать, отпишусь
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Электроник
Электроник
Topic Starter сообщение 9.3.2012, 17:19; Ответить: Электроник
Сообщение #7


(alexdrob @ 9.3.2012, 18:54) *
select count(`id`) from `table` where `id` >= $id order by `id` desc

а как вывести, это число? а то что-то не получается
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 9.3.2012, 17:35; Ответить: alexdrob
Сообщение #8


[PHP]$page_number = mysql_result(mysql_query($sql, 0));[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Электроник
Электроник
Topic Starter сообщение 9.3.2012, 17:54; Ответить: Электроник
Сообщение #9


[PHP]$res = mysql_query("SELECT COUNT(`id`) FROM `tabletest` WHERE `id`>='$id' ORDER BY `id` DESC",$db);

//ничего не выводит
//проверял isset($page_number) = не существует
$page_number = mysql_result(mysql_query($res, 0));
echo $page_number;

//пробовал так, но выводит разные числа, не так как хотелось бы
$row = mysql_fetch_array($res);
$page_number = $row[0];
echo $page_number;

[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Электроник
Электроник
Topic Starter сообщение 9.3.2012, 18:05; Ответить: Электроник
Сообщение #10


добавил в запрос AND `page`='$pageee' и вроде всё зароботало )))
[PHP]$res = mysql_query("SELECT COUNT(`id`) FROM `tabletest` WHERE `id`>='$id' AND `page`='$pageee' ORDER BY `id` DESC",$db);

$row = mysql_fetch_array($res);
$page_number = $row[0];
echo $page_number;[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Ручной обмен, ввод/вывод электронных валют | ЮMoney, WMZ, Крипта, Приват, Монобанк | Низкие комиссии, минимальные суммы сделок
быстро, удобно, по доступному курсу
200 Sostavitel 98292 11.2.2024, 21:07
автор: Wolfhound
Открытая тема (нет новых ответов) Sbitcoin.ru – Ввод, Вывод, Обмен: Qiwi, YD, Btc, Btc-e, PM, Cash IN, PR24, MG, WU, Нал (RU, UA).
9 sbitcoinru 6788 10.10.2023, 19:25
автор: Sbitcoin
Горячая тема (нет новых ответов) Обмен WebMoney - Яндекс - QIWI. Вывод/ввод Приват24 UAH
225 himin 132952 7.5.2023, 13:26
автор: Вера_Симонова
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлы«»101Crypta.com«»ВВОД/ВЫВОД/ОБМЕН«»BTC/ETH/QIWI/USDT/VISA/MC«»НАЛИЧНЫЕ/СНГ/ЕВРОПА«»
13 101Crypta 12166 18.4.2023, 23:15
автор: 101Crypta
Открытая тема (нет новых ответов) Нужен вывод в топ наших роликов Youtube
3 wep 1932 23.3.2023, 17:39
автор: distrib095


 



RSS Текстовая версия Сейчас: 26.4.2024, 7:19
Дизайн