Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Помогите с навигацией.
 
 автор: Sywooch   (28.03.2006 в 15:56)   письмо автору
 
 

Используя файлы для хранения информации я использовал такую конструкцию:


<?
DEFINE
("MAINE""start");
DEFINE("SUB""sub_files");


$link=empty($_GET['link'])?null:$_GET['link']; 
  switch (
$link) {
    case 
MAINE:
      
$page "./$include/news/start.php";

    break;
    case 
SUB:
      
$page "./$include/sub.php";


    break;
    default:
      
$page "./$include/news/start.php";

    break;
  }
ob_start(); 
include 
"$page";
$page=ob_get_contents(); 
ob_end_clean();
?>


Начал использовать MySql.

И хочу передавать через ссылку идентификатор сроки.
чтоб вывести определенную информацию.
как можно модифицировать первый код чтоб он работал с ссылками содержащими несколько значений!
Тоесть сейчас ссылки типа:

http://sywooch/?link=sub_files

каким образом можно обработать в моей конструкции такую ссылку:

http://sywooch/?link=123

где 123 это и есть идентификатор для таблицы БД. нужно записать его в переменную и препятствовать загрузке дефолтной таблице. которая загрузиться так как 123 в "switch"
небудет найдена????

И что нужно добавить в код что приведен выше что это всё работало правильно.

   
 
 автор: malish   (28.03.2006 в 18:03)   письмо автору
 
   для: Sywooch   (28.03.2006 в 15:56)
 


<? 

$link
=$_GET['link'];
if(empty(
$link))
   include(
"default.php");
else if(
ereg("[0-9]",$link)) 
{
    
Тащишь из Б.Дгде $link-это твой id статьи
}

ob_start(); 
include 
"$page"
$page=ob_get_contents(); 
ob_end_clean(); 
?> 

   
 
 автор: Sywooch   (28.03.2006 в 18:08)   письмо автору
 
   для: malish   (28.03.2006 в 18:03)
 

Я так понял это

if(ereg("[0-9]",$link))

Значит что линк от 0 до 9 ???
Или нет?

Мне нужно стоб если линк невернй тоесть нет такого поля то тож на дефолтную выкидывало.

   
 
 автор: malish   (28.03.2006 в 18:15)   письмо автору
 
   для: Sywooch   (28.03.2006 в 18:08)
 

Тогда так:

$link=$_GET['link'];
if(empty($link)) include("default.php");
else if(ereg("[0-9]",$link)) // Это проверка на то, что поле $link содержит только цифры
{
     Connect();
     $r=mysql_query("select * from articles where id=".$link);
     if($r)
     {
           if(mysql_num_rows($r)>0)
                //Выводишь данные
           else
                include("default.php");
    }
}

   
 
 автор: Sywooch   (28.03.2006 в 19:04)   письмо автору
 
   для: malish   (28.03.2006 в 18:15)
 

А как можно задержать результат этого в переменной???

   
 
 автор: malish   (28.03.2006 в 19:09)   письмо автору
 
   для: Sywooch   (28.03.2006 в 19:04)
 

Результат чего? Объясни подробнее

   
 
 автор: Sywooch   (28.03.2006 в 19:14)   письмо автору
 
   для: malish   (28.03.2006 в 19:09)
 

Ну мне нужно то что выдает тот код что ты привел в пример записать в переменную а не выводить результат сразу. Это для шаблона.
Может в функцию запихнуть или еще как?

   
 
 автор: malish   (28.03.2006 в 19:20)   письмо автору
 
   для: Sywooch   (28.03.2006 в 19:14)
 


$link=$_GET['link']; 
if(empty($link)) include("default.php"); 
else if(ereg("[0-9]",$link)) // Это проверка на то, что поле $link содержит только цифры 

Connect(); 
$r=mysql_query("select * from articles where id=".$link); 
if($r) 

 if(mysql_num_rows($r)>0) 
 {
  $res=mysql_fetch_array($r);
  $template="<table><tr><td>".$res['pole1']."</td></tr>";
  $template.="<tr><td>".$res['pole2']."</td></tr></table>";
  // Потом эту переменную записываешь куда нибудь, например в файл
  }
 else 
   include("default.php"); 
 } 

   
 
 автор: Sywooch   (28.03.2006 в 19:28)   письмо автору
 
   для: malish   (28.03.2006 в 19:20)
 

Я уже сделал только подругому!

<?
$link
=$_GET['link']; 
if(empty(
$link)) echo("default.php"); 
else if(
ereg("[0-9]",$link)) // Это проверка на то, что поле $link содержит только цифры 

     
Connect(); 
     
$r=mysql_query("select * from states where id_msg='$link'"); 
     if(
$r
     { 
           if(
mysql_num_rows($r)>0) {
           
ob_start(); 
include 
"index2.php";
$page=ob_get_contents(); 
ob_end_clean();
}
           else 
                include(
"default.php"); 
    } 

?>


Правда с дефолтными страничками еще надо чтот сделать.

Спасибо вам большое.

   
 
 автор: Sywooch   (16.04.2006 в 03:59)   письмо автору
 
   для: Sywooch   (28.03.2006 в 19:28)
 

А че делать если несуществует запрошеный ID?
Как организовать проверку?

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования