Возникла проблема с выводом данных. Данные то выводяться , но только три записи. Кнопки внизу вперед, назад не отображаються. Что тут сделал не правильно? И как лучше внеднить еще сортировку?
PHP |
<?php |
PHP |
if($_GET[vor]) {$start=$_GET[limit]+$postnums;} |
PHP |
for ($i=0;$i<mysql_num_rows($result);$i++) |
PHP |
$res = mysql_query(); |
PHP |
$count = mysql_num_rows($result) |
Цитата (jetistyum @ 19.05.2009 - 23:30) | ||||
IT IS REALY REALY BAAAD WAY:
вместо этого :
|
PHP |
$result=mysql_query($sql, $link); |
Цитата (sherilyn @ 19.05.2009 - 23:13) | ||
Страница загружается, но не выводится ничего. |
Цитата (jetistyum @ 20.05.2009 - 00:22) |
ну а ошибки тут телепаты искать будут??? поставь error_reporting(E_ALL); вначале скрипта поставь mysql_error() вывод..... после запроса.. может в запросе проблема. сделай дамп полученных переменных. сделай дамп запроса перед запуском, чтобы посмотреть как он у тебя сформировался.. ну что же Вы совсем мозг свой не включаете.... |
PHP |
$sql1="SELECT COUNT(*) FROM $tablename WHERE check=1"; |
Цитата (sherilyn @ 19.05.2009 - 23:46) |
Вообщем теперь вопрос остался только, как грамотно реализовать сортировку по дате и названию. |
SQL |
ORDER BY `date` [ASC|DESC] ORDER BY `name` [ASC|DESC] |
PHP |
while($i<count($a)){ |
PHP |
$c = count($a) ; |
PHP |
//wrong: |
PHP |
//wrong |
PHP |
$postnums=3;// число записей на странице |
PHP |
if($_GET['sort']=="names" OR $_GET['sort']=="datum") |
Код |
php?sort=names&limit=2&vor=1 |
Цитата (twin @ 21.05.2009 - 00:05) | ||
Просто всё в кучу собрать не получается?
|
PHP |
session_start(); // это должно быть перед первым использованием переменной $_SESSION |
PHP |
$sql2.= $_SESSION['sort-column']; |
Цитата |
С сессией не совсем удачный вариант. Её нужно будет как то обнулять, иначе так и будет висеть сортировка. На всех страницах. Ну а просто в ссылки прописать этот параметр, почему нельзя то? |
Цитата (twin @ 21.05.2009 - 10:57) |
С сессией не совсем удачный вариант. Её нужно будет как то обнулять, иначе так и будет висеть сортировка. На всех страницах. Ну а просто в ссылки прописать этот параметр, почему нельзя то? Кстати, на счет кавычек. Внимательно посмотрите, там же условие на входе у него. Какие кавычки если возможны только два варианта. А вот то, что обращение напрямую к массиву $_GET, это не есть прекрасно. |
PHP |
$sort=isset( $_GET['sort'] ) ? $_GET['sort'] : 'datum'; |
Цитата (sergeiss @ 21.05.2009 - 11:39) | ||
Вот смотри. Проверяем, было ли что-то передано насчет сортировки, и если да, то берем это значение. Иначе - выставляем сортировку по дате. И всё в одной строке.
|
Цитата (glock18 @ 21.05.2009 - 09:36) | ||||
В сессию клади текущий критерий сортировки:
а для выбора сортировки используй уже не $_GET['sort'], а переменную в сессии
2 sergeiss: Кстати, не факт, что не защищен в sql-injection))) В пхп может быть включен magic_quotes. Тогда как раз и не нужно экранировать кавычки. 2 sherilyn: sergeiss прав. просто перед вставкой в запрос нужно проверять не включен ли magic_quotes (кажется, функцией get_magic_quotes_npc), и, если выключен, переменные в запросе заключать в mysql_real_escape_string. Это, конечно, если у тебя там функции из стандартной php_mysql.dll используются. Если другая какая либа, то должен быть свой механизм. |
PHP |
echo "<a href=\"".$PHP_SELF."?sort=names \">По имени</a>"; |
PHP |
echo "<a href=\"".$PHP_SELF."?limit=".$start."&back=1& \">Назад</a>"; |
Цитата |
в случае с сессиями каким образом должна выглядеть ссылка? |
PHP |
echo "<a href=\"".$PHP_SELF."?sort=".$_GET['sort']."&limit=".$start. |
PHP |
require('conf.php'); |
PHP |
$_GET['intvar'] = intval($_GET['intvar']); |
HTML |
<a style="text-decoration: none;">Link</a> |
HTML |
.myclass { color: #ff0000; font-weight: bold; } |
HTML |
<div class="myclass">Красный текст</div> |
PHP |
<div align="center" class="myclass"> |
PHP |
<?php |