Страница 14 из 19

Добавлено: Вс октября 31, 2010 11:22 am
sergiksergik
Как убрать сортирову из движка.?
Оставить вывод только
Изображение


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

Добавлено: Вс декабря 12, 2010 10:52 am
MegaSet
Подскажи а как прочитать из поля мемо? не могу найти это в коде...

Добавлено: Вс декабря 12, 2010 12:30 pm
ynkas

Добавлено: Вс декабря 12, 2010 4:03 pm
MegaSet
есть кусочек вот такого когда читаю строку а потом ряд с именем fullname, которая является полем мемо, но к сожалению не могу понять как правильно использовать команду для чтения мемо


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

Добавлено: Вс декабря 12, 2010 5:41 pm
ynkas
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кб

Добавлено: Вс декабря 12, 2010 9:23 pm
MegaSet
получаю вот это:

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

Добавлено: Вс декабря 12, 2010 10:00 pm
ynkas
вот кусок кода как эта функция используется у меня

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

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

Добавлено: Вс декабря 12, 2010 10:17 pm
MegaSet
ynkas писал(а):вот кусок кода как эта функция используется у меня

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

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


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

Добавлено: Пн декабря 13, 2010 12:19 pm
ynkas
Вообще как я понял, эта функция работает непосредственно с результатом выборки, до обработок другими функциями...

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

Добавлено: Ср декабря 15, 2010 4:48 pm
GOSEF
При сортировке по "Носитель" выдаёт ошибку:

[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.

Добавлено: Ср декабря 15, 2010 6:25 pm
ynkas
Тоже самое происходит и по другим сортировкам (Год, Жанр) в случае если такого года/жанра нет в базе...

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

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

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

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

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

Добавлено: Ср декабря 15, 2010 8:36 pm
GOSEF
ynkas писал(а):
у меня то все поля везде заполнены...


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

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

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

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

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

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

Добавлено: Ср декабря 15, 2010 8:54 pm
GOSEF
Ещё один момент:
При выборе любого актёра, открывается его страничка. Там присутствуют только сведения и показать. Скопировал комментарии в 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 м

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