[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: не передается значение $_GET[] в mysql_query()
Colon
простая пагинация выполнена так:

$u=$_GET['search'];
$uu=$_GET['search1'];
$_GET['uu']=$uu;


$hostname = 'localhost';
$username = '1111';
$password = '1111';

$db = mysql_connect($hostname, $username, $password) or die('connect to database failed');
mysql_select_db('database') or die('db not found');
mysql_query("SET NAMES utf8");


//считаем кол-во строк в результате запроса
$res=mysql_query("SELECT * FROM ".$_GET['uu']);
$n=mysql_num_rows($res);



//расчитываем кол-во страниц, на которых будет выведена все адреса
$per_page=3;
$num_pages=ceil($n/$per_page);



//выводим ссылки на страницы
for($i=1;$i<=$num_pages;$i++) {
echo '<a href="'.$_SERVER['PHP_SELF'].'?num='.$i*$per_page.'&uu='.$uu.'&u='.$u.'">'.$i."</a>\n";
}


// вычисляем первый оператор для LIMIT
$page=1;
$start=abs($page*$per_page);


$z="SELECT * FROM $uu LIMIT $start,$per_page";
$res=mysql_query($z);


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

вопросы:

1) во-первых, почему он ругается, если в строке поиска видна переменная $uu?

2) почему, перейдя по ссылкам, срабатывает код, к ним не относящийся?

3) как оприсвоить код, расположенный по этим ссылкам, чтобы там выводились значения из БД?



Спустя 1 час, 37 минут, 41 секунда (13.05.2012 - 05:20) walerus написал(а):
$u=$_GET['search'];
$uu=$_GET['search1'];
$_GET['uu']=$uu;
как то мне это не совсем нравится, а если "search1", будет пустым? то $uu - тоже будет пустым, мб сделать что $uu = 1;, по умолчанию?
И эта завязка тоже как то не найс...
$res=mysql_query("SELECT * FROM ".$_GET['uu']);
почему сразу не писать
$res=mysql_query("SELECT * FROM ".$_GET['search1']);
или че там подтывивать...

Спустя 26 минут, 2 секунды (13.05.2012 - 05:46) Guest написал(а):
Там полный бред !

Спустя 4 часа, 24 минуты, 49 секунд (13.05.2012 - 10:11) Colon написал(а):
Цитата (walerus @ 13.05.2012 - 01:20)
как то мне это не совсем нравится, а если "search1", будет пустым? то $uu - тоже будет пустым, мб сделать что $uu = 1;, по умолчанию?
И эта завязка тоже как то не найс...


пустым он не будет - передается из предустановленного переключателя
Цитата (walerus @ 13.05.2012 - 01:20)
почему сразу не писать
$res=mysql_query("SELECT * FROM ".$_GET['search1']);
или че там подтывивать...


как мне показалось в начале, mysql_query() не отвечает, потому, что при перезоде по ссылкам .$_GET['search1'] приходит пустым, но теперь вижу, что это не так...

почему же тогда mysql_num_rows() не получает ответ от mysql_query(), а та в свою очередь, не забирает $uu?

Спустя 54 минуты, 56 секунд (13.05.2012 - 11:05) HErATuB написал(а):
Что бы проконтролировать ссылку используй проверку:
If(isset($_GET['search1']) && $_GET['search1'] !="" && $_GET['search1'] !=0){
...


...

}

Это уже какое то извращение :D
$uu=$_GET['search1'];
$_GET['uu']=$uu;

Цитата (Colon @ 13.05.2012 - 06:11)
почему же тогда mysql_num_rows() не получает ответ от mysql_query(), а та в свою очередь, не забирает $uu?

Тут также используй проверку запроса базы:

if($res=mysql_query("SELECT * FROM ".$_GET['uu'])){
$n=mysql_num_rows($res);
}else{
echo("Ошибка: ".mysql_error());
}

Да и не используй запросы напрямую к базе!

Спустя 12 минут, 11 секунд (13.05.2012 - 11:18) Kuliev написал(а):
Colon
Запусти этот скрипт

$u=$_GET['search'];
$uu=$_GET['search1'];
$_GET['uu']=$uu;


$hostname = 'localhost';
$username = '1111';
$password = '1111';

$db = mysql_connect($hostname, $username, $password) or die('connect to database failed');
mysql_select_db('database') or die('db not found');
mysql_query("SET NAMES utf8");

echo '<pre>';
print_r($_GET);
echo '</pre>';

//считаем кол-во строк в результате запроса
/*
$res=mysql_query("SELECT * FROM ".$_GET['uu']);
$n=mysql_num_rows($res);*/



//расчитываем кол-во страниц, на которых будет выведена все адреса
/*$per_page=3;
$num_pages=ceil($n/$per_page);*/



//выводим ссылки на страницы
/*for($i=1;$i<=$num_pages;$i++) {
echo '<a href="'.$_SERVER['PHP_SELF'].'?num='.$i*$per_page.'&uu='.$uu.'&u='.$u.'">'.$i.&q uot;</a>\n";
}*/


// вычисляем первый оператор для LIMIT
/*$page=1;
$start=abs($page*$per_page);


$z="SELECT * FROM $uu LIMIT $start,$per_page";
$res=mysql_query($z);*/



Скажи что выводит?

Спустя 42 минуты, 30 секунд (13.05.2012 - 12:00) Colon написал(а):
Проблема немного прояснилась:

Форма отправляет следующие переменные:

?search=&search1=%60vet-clinics%60

А клик по получившимся ссылкам передает:

?num=3&uu=`vet-clinics`&u=


1)
Цитата (walerus @ 13.05.2012 - 01:20)
почему сразу не писать
$res=mysql_query("SELECT * FROM ".$_GET['search1']);


если это сделать, то по ссылке $_GET['search1'] окажется пустым

2) если использовать все ту же конструкцию
Цитата (Colon @ 12.05.2012 - 23:42)
$u=$_GET['search'];
$uu=$_GET['search1'];
$_GET['uu']=$uu;


то по идее $_GET['uu'] по ссылке должен содержать то же самое, что и $_GET['search1'] после формы, но на деле первый передает "%60vet-clinics%60", а второй "`vet-clinics`"

3) как заставить `` преобразоваться в %60%60 ?

Спустя 6 минут, 16 секунд (13.05.2012 - 12:06) Colon написал(а):
Цитата (Kuliev @ 13.05.2012 - 07:18)
Скажи что выводит?


выводит просто текстовые значения из таблицы: название, город, улица...

но с выводом проблем нет, проблема, как я понимаю, теперь в формате передающихся кавычек

Спустя 51 минута, 48 секунд (13.05.2012 - 12:58) Colon написал(а):
о! кажется проблема решилась

переменная $uu изменена на $search1 ))

$u=$_GET['search'];
$search1=$_GET['search1'];


//считаем кол-во строк в результате запроса
$res=mysql_query("SELECT * FROM ".$_GET['search1']);
$n=mysql_num_rows($res);


//выводим ссылки на страницы
for($i=1;$i<=$num_pages;$i++) {
echo '<a href="'.$_SERVER['PHP_SELF'].'?num='.$i*$per_page.'&search1='.$search1.'&u='.$u.'">'.$i."</a>\n";
}

Спустя 12 минут, 55 секунд (13.05.2012 - 13:11) walerus написал(а):
Colon - Опять бред 25, скажи каким образом переменная $_GET, относится к твоим - "название, город, улица"
Цитата

выводит просто текстовые значения из таблицы: название, город, улица...
В каком месте твоего скрипта, туда что то присваивается из базы?, я чет не заметил, там должны быть переменные, которые переданы через форму или через урл.
И делай проверку и создание запроса в мускуль, как посоветовал HErATuB - через isset()...

Спустя 1 минута, 28 секунд (13.05.2012 - 13:13) walerus написал(а):
Colon
Цитата
о! кажется проблема решилась
переменная $uu изменена на $search1 ))
Не похоже на мой 1й комент ? laugh.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.