Создание php запроса

Тема в разделе "PHP", создана пользователем Saamuel, 8 сен 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. Saamuel

    Saamuel Создатель

    Регистр.:
    14 май 2008
    Сообщения:
    27
    Симпатии:
    1
    В общем ситуация такая. Есть сайт, на нем новости новости хранятся в базе mysql.

    Сама структура таблицы в которой хранятся новости:

    CREATE TABLE `Newses` (
    `ID` int(10) unsigned NOT NULL auto_increment,
    `NewsID` int(10) unsigned default NULL,
    `Name` varchar(250) NOT NULL default '',
    `PubTime` datetime default NULL,
    `Author` varchar(250) NOT NULL default '',
    `Sdesc` text NOT NULL,
    `Text` mediumtext NOT NULL,
    `Priority` int(11) NOT NULL default '0',
    `TinyPhoto` varchar(5) default '',
    `TinyPhoto_w` mediumint(9) NOT NULL default '0',
    `TinyPhoto_h` mediumint(9) NOT NULL default '0',
    `SmallPhoto` varchar(5) default '',
    `SmallPhoto_w` mediumint(9) NOT NULL default '0',
    `SmallPhoto_h` mediumint(9) NOT NULL default '0',
    `MediumPhoto` varchar(5) default '',
    `MediumPhoto_w` mediumint(9) NOT NULL default '0',
    `MediumPhoto_h` mediumint(9) NOT NULL default '0',
    `Photo` varchar(5) default '',
    `Photo_w` mediumint(9) NOT NULL default '0',
    `Photo_h` mediumint(9) NOT NULL default '0',
    `Mark` enum('Y','N') NOT NULL default 'N',
    `Sent` enum('Y','N') NOT NULL default 'N',
    `LangID` int(10) unsigned NOT NULL default '1',
    `IsForAll` enum('Y','N') NOT NULL default 'N',
    `SmallestPhoto` varchar(5) default '',
    `SmallestPhoto_w` mediumint(9) NOT NULL default '0',
    `SmallestPhoto_h` mediumint(9) NOT NULL default '0',
    `Urgent` enum('Y','N') NOT NULL default 'N',
    PRIMARY KEY (`ID`),
    KEY `News_k_2` (`PubTime`),
    KEY `News_k_3` (`Mark`),
    KEY `News_k_4` (`Sent`,`PubTime`),
    KEY `News_k_5` (`LangID`,`NewsID`),
    KEY `NewsID` (`NewsID`),
    KEY `LangID` (`LangID`),
    KEY `News_k_6` (`Urgent`,`PubTime`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=59070 ;

    Необходимо создать php скрипт который будет вытаскивать новости из этой таблицы и сможет отображать эти новости в DLE.

    Кто сможет помочь с этим, пожалуйста откликнитесь.
     
  2. tostrss

    tostrss

    Регистр.:
    16 окт 2007
    Сообщения:
    771
    Симпатии:
    217
    Тебе отдельный скрипт нужен или как модуль к dle ?

    если отдельный тогда примерно так
    PHP:
    <?php
    $link 
    mysql_connect('localhost''mysql_user''mysql_password');
    $result mysql_query('SELECT NewsID, Name, PubTime, Author, Sdesc, Text FROM Newses ORDER BY PubTime DESC LIMIT 5');
    while (
    $row mysql_fetch_assoc($result)) {
        
    print_r($row);
    }
    mysql_close($link);
    ?>
     
  3. Saamuel

    Saamuel Создатель

    Регистр.:
    14 май 2008
    Сообщения:
    27
    Симпатии:
    1
    А как он подключается к базе, как я понял тут прописанно просто подключение к mysql. Таблица Newses находится в базе site.

    А если был бы как модуль к DLE было бы вообще круто. Сайт в последнее время стал очень тормозить. В процессах постоянно Copying to tmp table. Спецы сказали что неправильно написан запрос. Вот и хотим переехать на DLE.
     
  4. tostrss

    tostrss

    Регистр.:
    16 окт 2007
    Сообщения:
    771
    Симпатии:
    217
    PHP:
    $link mysql_connect('localhost''mysql_user''mysql_password');
    mysql_select_db ('site');
    ...
    Боюсь такого тебе никто не даст, либо искать аналогичные публичные хаки, либо заказывать за деньги.
     
  5. Saamuel

    Saamuel Создатель

    Регистр.:
    14 май 2008
    Сообщения:
    27
    Симпатии:
    1
    Согласен за деньги. Cам сайт был самописный, может просто получится конвертонуть имеющуюся базу под формат DLE?

    Добавлено через 3 минуты
    PHP:
    $link mysql_connect('localhost''mysql_user''mysql_password');
    mysql_select_db ('site');
    ...
    Класс, заработало. Не сочтите за наглость, а можно как нить по красивее сделать вывод новостей. Сейчас новости отоброжаются вот так Перейти по ссылке
     
  6. tostrss

    tostrss

    Регистр.:
    16 окт 2007
    Сообщения:
    771
    Симпатии:
    217
    А как надо чтобы отображалось?


    Замени print_r($row);

    на

    echo($row['Name']); и т.д. шаблон html сам придумай или свистни у кого-нить

    Конвернуть будет гораздо легче,быстрее и дешевле чем писать сторонний скрипт или модуль.
    Для начала определись, какие поля тебе нужны из твоей базы:
    1. `Name` название статьи
    2. `Sdesc` мелкое описание
    3. `Text` полная статья

    Это я так предположил что можно выдернуть ,т.к. я не в курсе за что отвечают другие поля. Картинки, превьюшки оформляешь в html код.

    PHP:
    mysql_query("INSERT INTO " PREFIX "_post (date, autor, short_story, full_story, xfields, title, keywords, category, alt_name, allow_comm, approve, allow_main, tags) values ('".date ('Y-m-d H:i:s');."', 'Admin', '$Sdesc', '$Text', '', '$Name', '', '1', '$Name', '1', '1', '1', '')");
    это запрос создает пост в дле.

    Общий принцип работы скрипта будет такой (даю только алгоритм, код не проверяю)

    PHP:
    <?php 
    $user 
    'admin'// юзер из под которого будут запощены статьи
    $prefix 'dle'// префикс базы
    $link mysql_connect('localhost''mysql_user''mysql_password'); 
    mysql_select_db ('site');
    $result mysql_query('SELECT Name, Sdesc, Text FROM Newses ORDER BY PubTime DESC LIMIT 5'); 
    while (
    $row mysql_fetch_assoc($result)) { 
        
    $title_article $row['Name'];
        
    $desc_article  $row['Sdesc'];
        
    $text_article  $row['Text'];


        
    mysql_query("INSERT INTO ".$prefix."_post (date, autor, short_story, full_story, xfields, title, keywords, category, alt_name, allow_comm, approve, allow_main, tags) values ('".date ('Y-m-d H:i:s')."', '".$user."', '".$desc_article."', '".$text_article."', '', '".$title_article."', '', '1', '".$title_article."', '1', '1', '1', '')");
    }
    mysql_close($link); 
    ?>

     
    Saamuel нравится это.
  7. Saamuel

    Saamuel Создатель

    Регистр.:
    14 май 2008
    Сообщения:
    27
    Симпатии:
    1
    Уважаемые, помогите с шаблоном, скиньте пример. Я новичок, поэтому прошу снисхождения.
     
  8. Acidrayne

    Acidrayne

    Регистр.:
    30 сен 2007
    Сообщения:
    296
    Симпатии:
    20
    А можно просто написать конвертер базы из вашей в dle!
     
  9. vit26

    vit26 Читатель

    Заблокирован
    Регистр.:
    3 сен 2009
    Сообщения:
    16
    Симпатии:
    0
    врятли получится
     
Статус темы:
Закрыта.