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

Форум MySQL

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

 

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

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

тема: Многоуровневая фотогалерея
 
 автор: Dizels   (28.09.2006 в 14:49)   письмо автору
 
 

Итак, мне очень нравится и все устраивает в галерее, скрипт которой расматривается в книге PHP 5 практика создания web-сайта. Кроме одного - нет многоуровневости. Т.е. есть разделение только на один уровень, к примеру каталог Объекты и все - потом уже сразу же идут фотографии объектов, а как сделать так, чтобы зайдя в каталог объекты можно было создать еще подкаталог к примеру новые объекты, старые и т.д., вообщем думаю смысл понятен, такая вложенность должна быть приблежительно до 5 папок.
Надеюсь объяснил понятно, если что-то упустил, подскажите - я допишу вопрос.

   
 
 автор: Oligarx   (28.09.2006 в 17:54)   письмо автору
 
   для: Dizels   (28.09.2006 в 14:49)
 

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

думаю понятно ...

   
 
 автор: Dizels   (28.09.2006 в 22:06)   письмо автору
 
   для: Oligarx   (28.09.2006 в 17:54)
 

смысл то мне понятен, мне бы хотелось больше ясности в коде, т.е. что нужно сделать, к примеру в таблицу еще что-то добавить или как?

   
 
 автор: cheops   (28.09.2006 в 22:54)   письмо автору
 
   для: Dizels   (28.09.2006 в 22:06)
 

Более подробно можно почитать в теме по ссылке http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=701.

   
 
 автор: Dizels   (29.09.2006 в 16:38)   письмо автору
 
   для: cheops   (28.09.2006 в 22:54)
 

Спасибо за ссылку, вот вопросик появился - а галерею Вы так и не сделали многоуровневой? А то там посты за 2004г. малоли что изменилось?

   
 
 автор: cheops   (30.09.2006 в 12:12)   письмо автору
 
   для: Dizels   (29.09.2006 в 16:38)
 

Не коммерческого варианта с бесконечным вложением уровней пока нет.

   
 
 автор: Dizels   (07.10.2006 в 22:07)   письмо автору
 
   для: cheops   (30.09.2006 в 12:12)
 


Более подробно можно почитать в теме по ссылке http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=701.

Прочитал вроде понимаю, но как доходит до правки кода - не могу понять что к чему.

Начну с первого вопроса: где именно надо менять? в административной части или же в части вывода галереи? Я лично так понимаю что в части вывода, так как в админке после того как раскоментировать 28 строку все выглядит вполне прилично

   
 
 автор: Dizels   (09.10.2006 в 10:28)   письмо автору
 
   для: Dizels   (07.10.2006 в 22:07)
 

Вопрос в силе

   
 
 автор: P@Sol   (09.10.2006 в 10:33)   письмо автору
 
   для: Dizels   (28.09.2006 в 14:49)
 

я счас этим занимаюсь..вернее это я сделал...но у меня другой вопрос хочу по имени каталога создавать папку - это я тоже сделал..а вот удалить эту папку не могу - т.к. не могу составить путь к ней (http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=25751&page=1)

   
 
 автор: Dizels   (09.10.2006 в 11:05)   письмо автору
 
   для: P@Sol   (09.10.2006 в 10:33)
 

P@Sol, так может мне поможешь? Сам же написал, что это уже сделал, не бросай в беде. Кодом поделись.

   
 
 автор: P@Sol   (09.10.2006 в 11:25)   письмо автору
 
   для: Dizels   (09.10.2006 в 11:05)
 

я очень хотел бы доделать...но счас посмотрю что есть..

Добавлено: кошмар:( я не знаю что я добавил, а что было...

   
 
 автор: P@Sol   (09.10.2006 в 11:32)   письмо автору
 
   для: P@Sol   (09.10.2006 в 11:25)
 

1. Должна быть ссылка на добавление каталога/подкаталога

<?php
    
echo "<td><p><a class=menu href=addcatform.php?id_parent=".$id_parent.">Добавить группу фотографий</a></td>";
  
?>


в бд нормально добавляется? если нормально напишу код далее, если нет, то будет тут разбиратся

   
 
 автор: Dizels   (09.10.2006 в 11:38)   письмо автору
 
   для: P@Sol   (09.10.2006 в 11:32)
 

ну это строка там тоже есть, это и есть та самая 28 строка, которую нужно раскоментировать. В админке у меня все отображается хорошо, меня покрайней мере устраивает, а вот как теперь все это на сайте вывести? Из сообщений по этой ссылке:

http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=701.

Я так понял что надо создавать таблицу catalog и уже с ней как-то работать, вот здесь пожалуйста объясни подробнее как ты сделал или кинь архив с файлами, которые отвечают за вывод фотогалереи на сайте, так будет проще.

   
 
 автор: P@Sol   (09.10.2006 в 11:49)   письмо автору
 
   для: Dizels   (09.10.2006 в 11:38)
 

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


написал такую функцию:

<?
function subdir($id_parent$level)
{
        
$query "SELECT * FROM photocat WHERE photocat.hide = 'show' AND photocat.id_parent = '$id_parent' ORDER BY pos";
        
$ctg mysql_query($query);
        if (!
$ctgputerror("Ошибка при обращении к Фотогалерее");
        
// Если в таблице catalog присутствует хотя бы одна
        // группа фотографий - выводим их в таблице
        
if(mysql_num_rows($ctg)>0)
        {
                if (
$id_parent == 0)
                {
                        
// Выводим заголовок таблицы групп фотографий
                        
echo "<tr class='tableheadercat' height=35>
                         <td align=center><p class=zagtable>Категория</td>
                         <td width=100><p class=zagtable>Подкатегории</td>
                         <td width=100><p class=zagtable>Файлы</td>
                        </tr>"
;
                }

                while(
$cat mysql_fetch_array($ctg))
                {
                        
$stylemargin $level*20;
                        echo 
"<tr>
                               <td><p style='margin-left:"
.$stylemargin."px;'><a href=index.php?id_parent=".$cat['id_catalog']." style='color: #084E82;'>".$cat['name']."</a></td>";

                         
$query2 "SELECT COUNT(id_photo) AS total
                                   FROM photo
                                   WHERE id_catalog = '"
.$cat['id_catalog']."' AND hide = 'show'";

                         
$ctg2 mysql_query($query2);
                         if (!
$ctg2puterror("Ошибка при обращении к Фотогалерее");

                         
$query3 "SELECT COUNT(id_parent) AS totalp
                                   FROM photocat
                                   WHERE id_parent = '"
.$cat['id_catalog']."' AND hide = 'show'";

                         
$ctg3 mysql_query($query3);
                         if (!
$ctg3puterror("Ошибка при обращении к Фотогалерее");

                         if(
mysql_num_rows($ctg2)>&& mysql_num_rows($ctg3)>0)
                         {
                                 
$cat2 mysql_fetch_array($ctg2);
                                 
$cat3 mysql_fetch_array($ctg3);

                                 
// Выводим список каталогов
                                 
echo "<td align=center><p>".($cat3['totalp'])."</td>
                                       <td align=center><p>"
.$cat2['total']."</td>
                                      </tr>"
;
                         }
                         
subdir($cat['id_catalog'],$level+1);
                }
        }
        return;
}
?>


в index.php вставил

<?
subdir
($id_parent,0);

   
 
 автор: Dizels   (09.10.2006 в 12:20)   письмо автору
 
   для: P@Sol   (09.10.2006 в 11:49)
 

большой кусок кода куда вставлять надо?

   
 
 автор: P@Sol   (09.10.2006 в 14:09)   письмо автору
 
   для: Dizels   (09.10.2006 в 12:20)
 

я создал отдельный файл, а в index.php подключаю его...
require_once("file.php");

   
 
 автор: Dizels   (09.10.2006 в 19:33)   письмо автору
 
   для: P@Sol   (09.10.2006 в 14:09)
 

код сделал вот так:

require_once("file.php");

subdir($id_parent,0);


Вот какую ошибку выдает:

Warning: mysql_query(): Access denied for user 'ODBC'@'localhost' (using password: NO) in z:\home\localhost\www\cms\photo\file.php on line 5

Warning: mysql_query(): A link to the server could not be established in z:\home\localhost\www\cms\photo\file.php on line 5

Fatal error: Call to undefined function: puterror() in z:\home\localhost\www\cms\photo\file.php on line 6


Что сие означает и как с этим бороться?

   
 
 автор: Dizels   (10.10.2006 в 20:15)   письмо автору
 
   для: Dizels   (09.10.2006 в 19:33)
 

?

   
 
 автор: cheops   (11.10.2006 в 00:03)   письмо автору
 
   для: Dizels   (09.10.2006 в 19:33)
 

А соединение с базой данных вы устанавливаете?

   
 
 автор: Dizels   (11.10.2006 в 00:09)   письмо автору
 
   для: cheops   (11.10.2006 в 00:03)
 

т.е. нужно в функции которую дал P@Sol еще прописать соединение с базой данных?

   
 
 автор: Spayker   (11.10.2006 в 00:11)   письмо автору
 
   для: Dizels   (11.10.2006 в 00:09)
 

Да

require("config.php");

   
 
 автор: Dizels   (11.10.2006 в 00:12)   письмо автору
 
   для: Dizels   (11.10.2006 в 00:09)
 

Зделал так:

<? 
function subdir($id_parent$level
{
 
$dblocation "localhost";
  
$dbname "cms";
  
$dbuser "root";
  
$dbpasswd "";
....

?>

Вот, но ошибка все равно такая же выскакивает

   
 
 автор: Spayker   (11.10.2006 в 00:16)   письмо автору
 
   для: Dizels   (11.10.2006 в 00:12)
 

Попробуйте так

$link = @mysql_connect("localhost:3306", "user_name", "password") or die("Не удалось подключиться к серверу");
// 2. Выбрать базу
@mysql_select_db("base_name", $link) or die("Не удалось подключиться к базе на сервере");

   
 
 автор: Dizels   (11.10.2006 в 00:22)   письмо автору
 
   для: Spayker   (11.10.2006 в 00:16)
 

О вывелось!
Правда абсолютно что-то не так, сейчас буду разбираться что к чему, потом составлю следущий вопрос:) Спасибо за уже оказанную помощь.

   
 
 автор: P@Sol   (11.10.2006 в 09:21)   письмо автору
 
   для: Dizels   (11.10.2006 в 00:09)
 

у меня так
index.php

require_once("config.php");
require_once("file.php");

...

 subdir($id_parent,0); 

в file.php та функция, которую я дал выше

p.s. кто догодался перенести тему про php в mysql???

   
Rambler's Top100
вверх

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