$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'];как то мне это не совсем нравится, а если "search1", будет пустым? то $uu - тоже будет пустым, мб сделать что $uu = 1;, по умолчанию?
$uu=$_GET['search1'];
$_GET['uu']=$uu;
И эта завязка тоже как то не найс...
$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 написал(а):
Что бы проконтролировать ссылку используй проверку:
Это уже какое то извращение :D
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)
Форма отправляет следующие переменные:
?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 ))
переменная $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()...
И делай проверку и создание запроса в мускуль, как посоветовал HErATuB - через isset()...
Спустя 1 минута, 28 секунд (13.05.2012 - 13:13) walerus написал(а):
Colon
Цитата |
о! кажется проблема решилась переменная $uu изменена на $search1 )) |
Не похоже на мой 1й комент ?