Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Вызов соответствующего файла из каталога

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Терри
Отправлено: 19 Мая, 2012 - 12:41:58
Post Id



Гость


Покинул форум
Сообщений всего: 86
Дата рег-ции: Май 2012  


Помог: 0 раз(а)




Дан каталог, который образуется из базы данных:

    AC
    ACURA
    ALFA ROMEO
    ALPINA
    ALPINE
    ...
    ...
    ZX


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

А также, мне нужно, чтобы описание марки было бы на соответствующем языке, которое будет включено (но на это я могу обратить внимание и потом, если будет сложно сейчас).

То есть, во-первых, мне нужно создать линки (наверное чтобы они автоматически создавались бы).
Второе - сделать вызов страницы
Третье - учесть смену языка.

У меня пока очень мало опыта и я еще путаюсь в своих знаниях.
Не подскажете ли мне, как мне дальше действовать?
 
 Top
Alho
Отправлено: 19 Мая, 2012 - 13:58:59
Post Id



Посетитель


Покинул форум
Сообщений всего: 322
Дата рег-ции: Апр. 2012  


Помог: 11 раз(а)




Терри пишет:

Не подскажете ли мне, как мне дальше действовать?


Дальше? А что вы уже сделали? Если ничего, то вам не в Вопросы новичков, а во Freelance.
 
 Top
Терри
Отправлено: 19 Мая, 2012 - 15:06:49
Post Id



Гость


Покинул форум
Сообщений всего: 86
Дата рег-ции: Май 2012  


Помог: 0 раз(а)




catalog.php

PHP:
скопировать код в буфер обмена
  1. $str="";  
  2. $rez=mysql_query("SELECT `marka`.`marka` as `slovo`, `marka`.`term` as `term`, `marka`.`link` as `link` FROM `marka` ORDER BY `marka`.`marka`;");
  3. if (!$result=$rez) $err='Server error';  
  4.     else {              
  5.         while($v=mysql_fetch_assoc($result)) {
  6.             $str.='<li><a href="index.php?hide='.$v[term].'">'.$v[slovo].'</a></li>';
  7.             if($key==$v[term]) $divmain=$v[link];  
  8.         }
  9. }    


В базе данных для марки:

term - записано имя для id, допустим - acura
link - записан адрес, допустим - acura.php


acura.php

PHP:
скопировать код в буфер обмена
  1. <div class="content" id="acura">
  2. ........
  3. весь текст
  4. </div>



Вот это сделано, еще я подумала, что лучше иметь папку catalog и там будут все файлы описаний для всех марок.

У меня не вызывается файл, допустим acura.php.
 
 Top
Medallion
Отправлено: 19 Мая, 2012 - 16:09:44
Post Id



Частый гость


Покинул форум
Сообщений всего: 253
Дата рег-ции: Май 2012  
Откуда: Херсон, Украина


Помог: 7 раз(а)




Я сегодня помог доработать чужой скрипт по этому же релизу.
Вывести из БД названия, превратить их в GET-параметры.
Когда мы обращаемся к GET-параметру названия, например:
http://test[dot]ua/?page=acura
Подгружается, acura.php или другой путь car/acura.php
Этот путь лежит в базе данных, и таже выбирается вместе с названием.
Привожу пример:

Для начала создай у себя в корне, возле файла index.php три файла.
Первый: acura.php
Второй: alfa_romeo.php
Третий: content.php
Ну и чтобы они небыли пустые, пропиши в теле по строчке.
Например,в первом файле: это файл acura.php
Во втором файле: это файл alfa_romeo.php
В третьем: Эта главная страница

А теперь SQL-запрос: Создаем табличку в базе
CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. CREATE TABLE `log`.`car` (
  3. `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
  4. `name` VARCHAR( 50 ) NOT NULL ,
  5. `url` VARCHAR( 255 ) NOT NULL ,
  6. `include` INT NOT NULL
  7.  


Добавляем данные:
CODE (SQL):
скопировать код в буфер обмена
  1.  
  2. INSERT INTO `log`.`car` (
  3. `id` ,
  4. `name` ,
  5. `url` ,
  6. `include`
  7. )
  8. VALUES (
  9. NULL , 'acura', 'acura.php', '1'
  10. )
  11.  
  12. INSERT INTO `log`.`car` (
  13. `id` ,
  14. `name` ,
  15. `url` ,
  16. `include`
  17. )
  18. VALUES (
  19. NULL , 'alfa_romeo', 'alfa_romeo.php', '1'
  20. )
  21.  


В таблице car имеются 4 поля: id, name, url, include
id - идентификатор, который сам смещается на +1 при вставке новых данных
name - Название машины
url - путь к файлу
include - логическое определение, если стоит ноль, то эта машина, не будет участвовать
в GET-запросе.

Поехали далее..
Теперь PHP:
PHP:
скопировать код в буфер обмена
  1.  
  2. $result = mysql_query("SELECT * FROM car");
  3. while($ref = mysql_fetch_array($result)) {
  4.         if($ref['include'] >= 1) {
  5.                 if(isset($_GET['page']) && $_GET['page'] == $ref['name']) {
  6.                         $ref = file_get_contents($ref['url']);
  7.                         echo $ref;
  8.                         $as = 1;
  9.                 }
  10.         }
  11. }
  12.  
  13. if((!isset($_GET['page']) || $_GET['page'] || $_GET['page'] == false) && $as != 1) {
  14.         $ref = file_get_contents('content.php');
  15.         echo $ref;             
  16. }
  17.  


А теперь о главном. Файл index.php главный, но весь контент который должен быть в index.php должен находиться в файле content.php или другое имя по усмотрению.

Не забудь подключение к базе!
И внимание, должно быть понятно, что вместо test.ua ваше_имя )

Теперь всё работает. В нашем случае, если мы обратимся вот так:
http://test[dot]ua/?page=acura
Подгрузиться файл acura.php

Или так: http://test[dot]ua/?page=alfa_romeo
Подгрузиться файл alfa_romeo.php

При других ситуациях, будет выводиться content.php
Например, если мы обратимся вот так: http://test[dot]ua/?page=alfa
Еще раз напоминаю, в файле content.php лежит ваш контент, как якобы лежал,в главной index.php

А теперь в базе данных допустим в строчке где название acura, в поле include
поменяем значение на 0.
После обращения http://test[dot]ua/?page=acura
Нам выведет content.php
Как видите, можно манипулировать отображением. Показывать или нет.
Надеюсь, я ответил на поставленный вопрос. Удачи!
Я хотел, объяснить максимально точно.

Все примеры с test.ua, никакого отношения к реальному домену test.ua не имеют!!!
На правах рекламы XD

P/S - Код PHP который выше, должен находиться в index.php )

(Отредактировано автором: 19 Мая, 2012 - 16:25:59)

 
 Top
Терри
Отправлено: 19 Мая, 2012 - 16:37:04
Post Id



Гость


Покинул форум
Сообщений всего: 86
Дата рег-ции: Май 2012  


Помог: 0 раз(а)




Я сейчас попробую ваш метод, посмотрим что получится.
 
 Top
Medallion
Отправлено: 19 Мая, 2012 - 16:42:42
Post Id



Частый гость


Покинул форум
Сообщений всего: 253
Дата рег-ции: Май 2012  
Откуда: Херсон, Украина


Помог: 7 раз(а)




У меня все методы = методы тыка)
 
 Top
Терри
Отправлено: 19 Мая, 2012 - 18:24:53
Post Id



Гость


Покинул форум
Сообщений всего: 86
Дата рег-ции: Май 2012  


Помог: 0 раз(а)




Medallion,

Огромное спасибо за помощь и такое подробное объяснение ... Улыбка

Я поняла, в чем именно ошибалась, пути нужно было прописывать в index файле и, еще, там была также некоторая синтаксическая ошибка относительно кавычек.
Идея насчет поля include мне пригодилась и тем более, она мне понадобится для случаев, когда машина не должна участвовать в запросе.
 
 Top
Medallion
Отправлено: 19 Мая, 2012 - 18:29:41
Post Id



Частый гость


Покинул форум
Сообщений всего: 253
Дата рег-ции: Май 2012  
Откуда: Херсон, Украина


Помог: 7 раз(а)




Рад, что помог, а если ещё по ту сторону девушка Язычок
 
 Top
Терри
Отправлено: 19 Мая, 2012 - 18:48:10
Post Id



Гость


Покинул форум
Сообщений всего: 86
Дата рег-ции: Май 2012  


Помог: 0 раз(а)




Medallion пишет:
Рад, что помог, а если ещё по ту сторону девушка Язычок

Не если, а да ... Улыбка
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB