Мини движок на PHP для вывода данных из базы AMM в HTML

Описание: Вопросы, связанные с каталогизатором фильмов All My Movies
Модераторы: datasource, Автор

sergiksergik
Пользователь
sergiksergik
Пользователь
Репутация: 0
С нами: 8 лет 10 месяцев

Сообщение #196 sergiksergik » Вс октября 31, 2010 11:22 am

Как убрать сортирову из движка.?
Оставить вывод только
Изображение


и список фильмов справа

MegaSet
Пользователь
MegaSet
Пользователь
Репутация: 0
С нами: 8 лет 9 месяцев

Сообщение #197 MegaSet » Вс декабря 12, 2010 10:52 am

Подскажи а как прочитать из поля мемо? не могу найти это в коде...

ynkas M
Опытный пользователь
Аватара
ynkas M
Опытный пользователь
Репутация: 103
С нами: 11 лет 3 месяца
Откуда: Россия, Москва
Сайт

Сообщение #198 ynkas » Вс декабря 12, 2010 12:30 pm


MegaSet
Пользователь
MegaSet
Пользователь
Репутация: 0
С нами: 8 лет 9 месяцев

Сообщение #199 MegaSet » Вс декабря 12, 2010 4:03 pm

есть кусочек вот такого когда читаю строку а потом ряд с именем fullname, которая является полем мемо, но к сожалению не могу понять как правильно использовать команду для чтения мемо


$rd1 = odbc_fetch_row ($query, 1); // строка
$zn1 = odbc_result ($query, fullname); //ряд

ynkas M
Опытный пользователь
Аватара
ynkas M
Опытный пользователь
Репутация: 103
С нами: 11 лет 3 месяца
Откуда: Россия, Москва
Сайт

Сообщение #200 ynkas » Вс декабря 12, 2010 5:41 pm

MegaSet писал(а):есть кусочек вот такого когда читаю строку а потом ряд с именем fullname, которая является полем мемо, но к сожалению не могу понять как правильно использовать команду для чтения мемо


$rd1 = odbc_fetch_row ($query, 1); // строка
$zn1 = odbc_result ($query, fullname); //ряд


видимо как-то так

Код: Выделить всё

$rd1 = odbc_fetch_row ($query, 1); // строка
$zn1 = odbc_result ($query, fullname);    //ряд
odbc_longreadlen ($zn1, 16384);

где 16384 = 16кб

MegaSet
Пользователь
MegaSet
Пользователь
Репутация: 0
С нами: 8 лет 9 месяцев

Сообщение #201 MegaSet » Вс декабря 12, 2010 9:23 pm

получаю вот это:

Warning: odbc_longreadlen() expects parameter 1 to be resource, string given in Z:\home\local\www\index.php on line 5

и

Warning: odbc_result() [function.odbc-result]: SQL error: [Microsoft][Драйвер ODBC Microsoft Access]Недопустимое положение курсора; наборы ключей не определены , SQL state S1109 in SQLGetData in Z:\home\local\www\index.php on line 4

ynkas M
Опытный пользователь
Аватара
ynkas M
Опытный пользователь
Репутация: 103
С нами: 11 лет 3 месяца
Откуда: Россия, Москва
Сайт

Сообщение #202 ynkas » Вс декабря 12, 2010 10:00 pm

вот кусок кода как эта функция используется у меня

Код: Выделить всё

$result=odbc_exec($db,"SELECT * FROM movies");
odbc_longreadlen ($result, 51200);
$myrow=odbc_fetch_array($result);

MegaSet
Пользователь
MegaSet
Пользователь
Репутация: 0
С нами: 8 лет 9 месяцев

Сообщение #203 MegaSet » Вс декабря 12, 2010 10:17 pm

ynkas писал(а):вот кусок кода как эта функция используется у меня

Код: Выделить всё

$result=odbc_exec($db,"SELECT * FROM movies");
odbc_longreadlen ($result, 51200);
$myrow=odbc_fetch_array($result);


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

ynkas M
Опытный пользователь
Аватара
ynkas M
Опытный пользователь
Репутация: 103
С нами: 11 лет 3 месяца
Откуда: Россия, Москва
Сайт

Сообщение #204 ynkas » Пн декабря 13, 2010 12:19 pm

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

И понимает к тому же не все запросы, вот пример, который можно было увидеть по ссылке выше...
The only fix that worked was to modify my query from "SELECT Field1, Field2 FROM TableName" to "SELECT * FROM TableName".

GOSEF
Пользователь
GOSEF
Пользователь
Репутация: 0
С нами: 9 лет 3 месяца

Сообщение #205 GOSEF » Ср декабря 15, 2010 4:48 pm

При сортировке по "Носитель" выдаёт ошибку:

[spoiler="Ошибка"]Warning: odbc_exec() [function.odbc-exec]: SQL error: [Microsoft][Драйвер ODBC Microsoft Access] Ошибка синтаксиса (пропущен оператор) в выражении запроса 'MovieID= AND cover=-1'., SQL state 37000 in SQLExecDirect in C:\Program Files (x86)\VertrigoServ\www\blocks\left_index.php on line 77

Warning: odbc_fetch_array(): supplied argument is not a valid ODBC result resource in C:\Program Files (x86)\VertrigoServ\www\blocks\left_index.php on line 78

Warning: odbc_exec() [function.odbc-exec]: SQL error: [Microsoft][Драйвер ODBC Microsoft Access] Ошибка синтаксиса (пропущен оператор) в выражении запроса 'MovieID= AND cover=0'., SQL state 37000 in SQLExecDirect in C:\Program Files (x86)\VertrigoServ\www\blocks\left_index.php on line 80

Warning: odbc_fetch_array(): supplied argument is not a valid ODBC result resource in C:\Program Files (x86)\VertrigoServ\www\blocks\left_index.php on line 81

Warning: odbc_exec() [function.odbc-exec]: SQL error: [Microsoft][Драйвер ODBC Microsoft Access] Ошибка синтаксиса (пропущен оператор) в выражении запроса 'mediatypeID='., SQL state 37000 in SQLExecDirect in C:\Program Files (x86)\VertrigoServ\www\blocks\left_index.php on line 83

Warning: odbc_fetch_array(): supplied argument is not a valid ODBC result resource in C:\Program Files (x86)\VertrigoServ\www\blocks\left_index.php on line 84

Warning: odbc_exec() [function.odbc-exec]: SQL error: [Microsoft][Драйвер ODBC Microsoft Access] Ошибка синтаксиса (пропущен оператор) в выражении запроса 'MovieID='., SQL state 37000 in SQLExecDirect in C:\Program Files (x86)\VertrigoServ\www\blocks\left_index.php on line 86

...
[/spoiler]

Я так понимаю выдаётся ошибка, если выбрать носитель, который нигде не представлен.

Ошибка проявляется и на моей базе и на тестовой...

Добавлено:
Тоже самое происходит и по другим сортировкам (Год, Жанр) в случае если такого года/жанра нет в базе...

можно ли поправить? скажем отправлять на страничку "Результатов по вашему запросу нет"?
Или как вариант можно ли сделать так, чтобы фильтрах появлялись только те параметры которые присутствуют в базе. Например, есть фильмы 2010, 2009, 2007. В выбрать год видны только 2010,2009,2007?


Ещё если в папке www оставить нулевой index.html (присутствует в боекомплекте) то у меня при заходе на сайт открывается пустое окно.

Кстати обновил вертриго до версии 2,22 от 21 Октябрь 2010 - полёт нормальный.

Вышеописанные ошибки проявляются как на 2,21так и на 2,22.

ynkas M
Опытный пользователь
Аватара
ynkas M
Опытный пользователь
Репутация: 103
С нами: 11 лет 3 месяца
Откуда: Россия, Москва
Сайт

Сообщение #206 ynkas » Ср декабря 15, 2010 6:25 pm

Тоже самое происходит и по другим сортировкам (Год, Жанр) в случае если такого года/жанра нет в базе...

года в базе может и не быть, точнее фильма с таким годом, а вот жанры и носитель берутся из вашей базы, но если фильм без жанра или без носителя - будет такой косяк

Или как вариант можно ли сделать так, чтобы фильтрах появлялись только те параметры которые присутствуют в базе. Например, есть фильмы 2010, 2009, 2007. В выбрать год видны только 2010,2009,2007?

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

Короче понятно, поправлю, у меня то все поля везде заполнены...

ynkas M
Опытный пользователь
Аватара
ynkas M
Опытный пользователь
Репутация: 103
С нами: 11 лет 3 месяца
Откуда: Россия, Москва
Сайт

Сообщение #207 ynkas » Ср декабря 15, 2010 8:35 pm

Поправил и в комплекте теперь последняя версия Vertrigo )
Тестируем, вдруг где что еще вылезет, у себя косяков не нашел, но базы то у всех разные...
Последний раз редактировалось ynkas Ср декабря 15, 2010 8:37 pm, всего редактировалось 1 раз.

GOSEF
Пользователь
GOSEF
Пользователь
Репутация: 0
С нами: 9 лет 3 месяца

Сообщение #208 GOSEF » Ср декабря 15, 2010 8:36 pm

ynkas писал(а):
у меня то все поля везде заполнены...


Пробовал в Вашей тестовой базе - при выборе носителя отличного от DVD и BlueRay аналогичная ошибка...
Последний раз редактировалось GOSEF Ср декабря 15, 2010 8:54 pm, всего редактировалось 3 раза.

ynkas M
Опытный пользователь
Аватара
ynkas M
Опытный пользователь
Репутация: 103
С нами: 11 лет 3 месяца
Откуда: Россия, Москва
Сайт

Сообщение #209 ynkas » Ср декабря 15, 2010 8:44 pm

GOSEF писал(а):Пробовал в Вашей тестовой базе - при выборе носителя отличного от DVD и BlueRay аналогичная ошибка...

В тестовой базе жанры и носители есть такие, которых нет в фильмах...
Поэтому и были те же ошибки...

ошибки были именно из-за этого
Я так понимаю выдаётся ошибка, если выбрать носитель, который нигде не представлен.

с поправкой - не только носитель, но и год и жанр...

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

GOSEF
Пользователь
GOSEF
Пользователь
Репутация: 0
С нами: 9 лет 3 месяца

Сообщение #210 GOSEF » Ср декабря 15, 2010 8:54 pm

Ещё один момент:
При выборе любого актёра, открывается его страничка. Там присутствуют только сведения и показать. Скопировал комментарии в left_person.php и поставил биографию. Теперь код выглядит так:

if ($myrow['Comments'] != NULL)
{
$comments = $myrow['Comments'];
$comments = str_replace("Знаете ли вы, что:","<br>Знаете ли вы, что:",$comments);
$comments = str_replace("Награды:","<br>Награды:<br>",$comments);
$comments = str_replace("<b>","<br><b>",$comments);
$comments = str_replace("•","<br><br>•",$comments);
echo "<div class='Comments'><strong>Сведения об актёре:</strong><br>$comments</div>";
}

if ($myrow['biography'] != NULL)
{
$biography = $myrow['biography'];
echo "<div class='Biography'><strong>Биография:</strong><br>$biography</div>";
}

В итоге на странице актера выводится его биография. Но я не уверен, что код правильный. Научите как поставить перенос строки:
чтобы
Elijah Wood

Сведения об актёре:
Рост: 1.68 м
Биография:
Полное имя - Элайджа Джордан Вуд. Родителей зовут Уорен и Дебби Вуд. Брат Зак Вуд - продюсер видеоигр. Сестра Ханна Вуд - актриса и поэтесса. У него есть английские, ирландские, немецкие и польские корни.

превратилось в

Elijah Wood

Сведения об актёре:
Рост: 1.68 м

Биография:
Полное имя - Элайджа Джордан Вуд. Родителей зовут Уорен и Дебби Вуд. Брат Зак Вуд - продюсер видеоигр. Сестра Ханна Вуд - актриса и поэтесса. У него есть английские, ирландские, немецкие и польские корни.


Вернуться в «All My Movies»

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 3 гостя