Страница 2 из 19
Добавлено: Пн января 18, 2010 5:41 pm
GhOsT_MZ2
iRo писал(а):тут получается что движек php подключается к базе АММ
и генерит html ? просто у меня есть домен с порталом и дома статический IP. вот бы прям с портала подключаться к дому )))
Движок будет работать только в том случае, если имеет доступ к ODBC компа, где лежит база. Но тут, насколько я знаю, удаленно к ней подключиться нельзя. Для таких вещей тебе нужен сервер баз данных, например, MS SQL или MySQL, и соответствующая база данный.
Как вариант - поставить MySQL сервер и конвертировать локальным скриптом из базы АММ в базу MySQL. Сервер нужно будет открыть для внешки, а в самом двиге все переделать под MySQL.
Добавлено: Пн января 18, 2010 5:59 pm
ynkas
iRo писал(а):тут получается что движек php подключается к базе АММ
и генерит html ? просто у меня есть домен с порталом и дома статический IP. вот бы прям с портала подключаться к дому )))
В чем проблема, настраиваете дома и кидаете ссылку на портал
А на портале можно сделать проверку, если Online (домашний комп включен или сервер запущен) то ссылка появляется, Offline что-нибуть еще вставить ))
Но в плане безопасности я не уверен что стоит так делать, хотя ломать там в принципе то и нечего, это всего лишь backup базы...
Добавлено: Пн января 18, 2010 10:40 pm
Riemann
Отличная штука, все 7200 фильмов пошли как по маслу, есть в шаблоне проскальзывают глюки, но не суть.
Есть проблема в сортировке по жанрам и т.п. Пишет вроде слева при сортировке по жанрам
Warning: odbc_exec() [
function.odbc-exec
]: SQL error: [Microsoft][Драйвер ODBC Microsoft Access] Ошибка синтаксиса в выражении запроса 'c.CountryID=$CountryID AND cl.CountryID=c.CountryID AND m.MovieID=cl.MovieID'., SQL state 37000 in SQLExecDirect in ...\www\myfilm\left_films.php on line 17
Warning: odbc_fetch_array() expects parameter 1 to be resource, boolean given in ...\www\myfilm\left_films.php on line 18
Добавлено: Пн января 18, 2010 11:10 pm
ynkas
Riemann писал(а):Есть проблема в сортировке по жанрам и т.п. Пишет вроде слева при сортировке по жанрам
Warning: odbc_exec() [
function.odbc-exec
]: SQL error: [Microsoft][Драйвер ODBC Microsoft Access] Ошибка синтаксиса в выражении запроса 'c.CountryID=$CountryID AND cl.CountryID=c.CountryID AND m.MovieID=cl.MovieID'., SQL state 37000 in SQLExecDirect in ...\www\myfilm\left_films.php on line 17
Warning: odbc_fetch_array() expects parameter 1 to be resource, boolean given in ...\www\myfilm\left_films.php on line 18
Тут уже видимо особенность заполнения вашей базы, обновляли наверное не только с кинопоиска...
Видмо нужно в коде писать доп. проверки или вырезать лишние символы. Не видя самой базы сложно сказать...
Я писал код исходя из своей базы, а у меня только с кинопоиска информация о фильмах и актерах.
Можете упаковать свою базу (без картинок), выложить на обменник и кинуть ссылку в лс, скачаю гляну в чем проблема.
Добавлено: Пн января 18, 2010 11:40 pm
Снеговик
а ничего что она больше 100 мб весит?
Добавлено: Пн января 18, 2010 11:54 pm
Riemann
Да есть такое, фильмов 1300 всё ещё находятся не обновленные, точнее инфа с них imdb-ная. Можете сами попробовать добавть себе пару кино с imdb и проверить, а то мою гиговую базу ещё надо покоцать, чтоб залить...
Кстати поставили тестовую базу и таже беда при выборе жанров
Код: Выделить всё
Warning: odbc_exec() [
function.odbc-exec
]: SQL error: [Microsoft][Драйвер ODBC Microsoft Access]Неверное поле COUNT , SQL state 07001 in SQLExecDirect in E:\server\xampp\htdocs\172.16.0.157\www\myfilm\left_films.php on line 17
Warning: odbc_fetch_array() expects parameter 1 to be resource, boolean given in ...\www\myfilm\left_films.php on line 18
Warning: odbc_exec() [
Добавлено: Пн января 18, 2010 11:59 pm
GhOsT_MZ2
Открой фал \www\myfilm\left_films.php.
Добавь перед 17 строкой пустую строку и добавь в нее
die("SQL-query: SELECT * FROM Countries c, CountryLink cl, movies m WHERE c.CountryID=$CountryID AND cl.CountryID=c.CountryID AND m.MovieID=cl.MovieID ORDER BY m.Name");
Попробуй произвести те же действия, которые делал когда появилась ошибка и скинь сюда строку, начинающуюся с SQL-query.
Добавлено: Пн января 18, 2010 11:59 pm
Снеговик
залили тестовую базу из архива. ошибка не пропала
Добавлено: Вт января 19, 2010 12:06 am
Снеговик
Код: Выделить всё
SQL-query: SELECT * FROM Countries c, CountryLink cl, movies m WHERE c.CountryID= AND cl.CountryID=c.CountryID AND m.MovieID=cl.MovieID ORDER BY m.Name
Добавлено: Вт января 19, 2010 12:11 am
GhOsT_MZ2
Хм.. проблема банальная - полученные значение не образабатываются, что и привело к ошибке...
SQL-query: SELECT * FROM Countries c, CountryLink cl, movies m WHERE
c.CountryID= AND cl.CountryID=c.CountryID AND m.MovieID=cl.MovieID ORDER BY m.Name
Ошибка в выделенном месте... лучше проверять наличие значение с помощью
empty, ибо
isset покажет что переменная была создана, но она может быть пустой, как и оказалось в данном случае...
Возвращаем все назад и делаем так:
меняем на
Добавлено: Вт января 19, 2010 12:16 am
Снеговик
без изменений(
Добавлено: Вт января 19, 2010 12:22 am
GhOsT_MZ2
Попробуй заменить содержимое этого файла на это:
Код: Выделить всё
<?php
include ("blocks/db.php");
include ("blocks/get.php");
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Фильмы</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<div id="coolmenu">
<?php
if (!empty($CountryID)) {
$result = odbc_exec($db,"SELECT * FROM Countries c, CountryLink cl, movies m WHERE c.CountryID=$CountryID AND cl.CountryID=c.CountryID AND m.MovieID=cl.MovieID ORDER BY m.Name");
$myrow = odbc_fetch_array($result);
}
if (!empty($GenreID)) {
$result = odbc_exec($db,"SELECT * FROM Genres g, GenresLink gl, movies m WHERE g.GenreID=$GenreID AND gl.GenreID=g.GenreID AND m.MovieID=gl.MovieID ORDER BY m.Name");
$myrow = odbc_fetch_array($result);
}
if (!empty($mediatypeID)) {
$result = odbc_exec($db,"SELECT Name,MovieID FROM movies WHERE mediatypeID=$mediatypeID ORDER BY Name");
$myrow = odbc_fetch_array($result);
}
if (!empty($MediaLocationID)) {
$result = odbc_exec($db,"SELECT Name,MovieID FROM movies WHERE MediaLocationID=$MediaLocationID ORDER BY Name");
$myrow = odbc_fetch_array($result);
}
if (!empty($medialabel)) {
$result = odbc_exec($db,"SELECT Name,MovieID FROM movies WHERE medialabel='$medialabel' ORDER BY Name");
$myrow = odbc_fetch_array($result);
}
if (!empty($studio)) {
$result = odbc_exec($db,"SELECT Name,MovieID FROM movies WHERE studio='$studio' ORDER BY Name");
$myrow = odbc_fetch_array($result);
}
if (empty($CountryID) || empty($GenreID) || empty($mediatypeID) || empty($MediaLocationID) || empty($medialabel) || empty($studio)) {
$result = odbc_exec($db,"SELECT Name,MovieID FROM movies ORDER BY Name");
$myrow = odbc_fetch_array($result);
}
do {
printf ("<a href='view_film.php?MovieID=%s' alt='%s' title='%s' TARGET='_top'>%s</a>",$myrow['MovieID'],$myrow['Name'],$myrow['Name'],$myrow['Name']);
}
while ($myrow = odbc_fetch_array($result));
?>
</div>
</body>
</html>
Добавлено: Вт января 19, 2010 12:26 am
Снеговик
непомогло(((( а конфиг апача может влиять или php
Добавлено: Вт января 19, 2010 12:30 am
GhOsT_MZ2
Кстати да... если сам поднимал или выключил register_globals, то включи его в php.ini...
Добавлено: Вт января 19, 2010 12:31 am
Снеговик
работала и работает сортировка по актерам только((