Jump to content
Дизайн и модификация IPS Community IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
Buskopan

Дополнтельный MySQL dump для IP.Content

Recommended Posts

нашел вот такую весч. MySQL dump базы данных медицинский справочник.+DLE dump

Теперь думаю, а смогу я ее как-то приделать к своему IP.Content ?

 

В целом можно будет как-то сконвертить в формат ИП.контента.

В крайнем случае вручную перетащишь. :)

Share this post


Link to post
Share on other sites

В целом можно будет как-то сконвертить в формат ИП.контента.

В крайнем случае вручную перетащишь. :)

Еще бы узнать как это сделать, имея теперь уже 3 sql файла.

 

Импортировал их в базу данных.

Share this post


Link to post
Share on other sites

создал тестово базу данных medical. импортировал в нее таблицу с лекарствами ("lek")

 

<html>
<body>
<?php
$db_host='мойсайт.com';
$db_name='medical';
$db_login='buskopan';
$db_pass='пароль';
@mysql_connect($db_host,$db_login,$db_pass);
@mysql_select_db($db_name);
$sql = 'SELECT * FROM `lek` WHERE 1 LIMIT 0, 30 '; 
{ echo '<p>Запись id='.$row['id'].'. Текст: '.$row['text].'</p>';
}
?>
</body>
</html>

запускаю такой index.php, выдает ошибку в 11 строке...

Share this post


Link to post
Share on other sites
Еще бы узнать как это сделать, имея теперь уже 3 sql файла.

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

 

создал тестово базу данных medical. импортировал в нее таблицу с лекарствами ("lek")

<?php

$db_host='мойсайт.com';
$db_name='medical';
$db_login='buskopan';
$db_pass='пароль';

mysql_connect($db_host,$db_login,$db_pass) or
 die('Error connection to mysql');

mysql_select_db($db_name) or 
 die('Could not select the database');

// LIMIT 0, 30 - выводит первые 30 записей
$result = mysql_query('SELECT * FROM `lek` LIMIT 0, 30');

while( $row = mysql_fetch_assoc($result) )
{
//echo '<p>Запись id='.$row['id'].'. Текст: '.$row['name'].'</p><br />';

foreach( $row as $name => $value )
{
	echo $name.' => '. $value. '<br />';
}

echo '<br /><br />';
}

?>

  • Upvote 1

Share this post


Link to post
Share on other sites

Вытягивать данные научились.

 

Создаем блок в АЦП IP.Content следующего содержимого.

 

//  MySQL соеденение
mysql_connect("localhost", "buskopan", "пароль") or die(mysql_error());
mysql_select_db("lek") or die(mysql_error());                                                              

// LIMIT 0, 30 - выводит первые 30 записей
$result = mysql_query('SELECT * FROM `med` LIMIT 0, 30');

while( $row = mysql_fetch_assoc($result) )
{
       //echo '<p>Запись id='.$row['id'].'. Текст: '.$row['name'].'</p><br />';

       foreach( $row as $name => $value )
       {
               echo $name.' => '. $value. '<br />';
       }

       echo '<br /><br />';
}

 

Сохраняем. Кладем парсер на страницу.

 

теперь думаем как избавится от проблемы с кодировкой. Русский текст выводятся в виде вопросиков.

 

ссылка на это безобразие

Share this post


Link to post
Share on other sites

проблема отображения решается добавлением 3 строк после MySQL соединения

@mysql_query('set character_set_client="utf8"');
@mysql_query('set character_set_results="utf8"');
@mysql_query('set collation_connection="utf8_general_ci"');

 

теперь думаем

 

1.как навести красоту

2.добавить поиск по медикаментам

3.сделать названия кликабельными

4.поставить перенос страниц

Share this post


Link to post
Share on other sites

1.как навести красоту

это не сложно

 

2.добавить поиск по медикаментам

ууууууу

 

3.сделать названия кликабельными

реально, но куда кликается?

 

4.поставить перенос страниц

не просто, но реально.

Share this post


Link to post
Share on other sites
ууууууу
не просто, но реально.

Ага. Почти нашел как это сделать. Просто мозга не хватает пока. Тыкаюсь.

 

реально, но куда кликается?

У sql таблицы 3 колонки.

 

1. ID - порядковый номер

2. Name - название

3. Description - описание

 

сейчас на странице получил просто отображение списка колонки Name. Дальше хочу, кликая на название медикамента(поле name таблицы), переходить на поле описания(Description) в отдельном окне...ну или где-то

 

Сейчас все выглядит так.

 

 


mysql_connect("localhost", "buskopan", "pass") or die(mysql_error());
mysql_select_db("medical") or die(mysql_error());   
@mysql_query('set character_set_client="utf8"');
@mysql_query('set character_set_results="utf8"');
@mysql_query('set collation_connection="utf8_general_ci"');
$result = mysql_query('SELECT name FROM `lek` LIMIT 0, 30');
while( $row = mysql_fetch_assoc($result) )
{

       foreach( $row as $value )
       {
               echo $name. $value. '<br />';
       }


}

 

 

Share this post


Link to post
Share on other sites
Создаем блок в АЦП IP.Content следующего содержимого.

 

Э-э.. минутку. А теперь объясните мне, в двух словах, что вообще из себя представляет этот ип.контент? Разве он не имеет своих собственных таблиц в которых содержится информация?

Этот код для файла index.php посмотреть как вытягиваются из БД данные. К суровой реальности он не адаптирован. Тут тогда придется написать целый каркас - для статей (описание), списка лекарств, поиск, алфавитный выбор и тд.

 

Сейчас все выглядит так.

А разве собственного подключение к бд у контента нету? Нда..

 

foreach( $row as $value )

{

echo $name. $value. '

';

}

Не обязательно каждый раз перебирать массив при прохождение цикла. Это я так написал, не зная какие поля в таблице есть, чтобы он всех вывел. Вообще-то можно сразу обратится к массиву по имени:

 

while( $row = mysql_fetch_assoc($result) )
{
echo $row['name'] .'<br>';
}

Share this post


Link to post
Share on other sites
в двух словах, что вообще из себя представляет этот ип.контент?
Тут есть возможность вставлять php в блоки, которые в последующем расставлять на странице. Возможно(читать наверняка) я что-то не так делаю. Но собираюсь дойти до правильного )

 

Создаем блок для поиска. Добавляем его на страницу. Это не трудно.

 

Содержимое блока.

 

 

<div class="general_box">

<h3>{$title}</h3>

<p><body> <br>

<p>Введите название медикамента</p>

<form method="post" action="search.php?go" id="searchform">

<input type="text" name="name">

<input type="submit" name="submit" value="Поиск">

</form>

<?php

//что-то будет тут делать

?>

</body>

</div><br>

 

 

 

 

теперь надо придумать что будет делать php

Share this post


Link to post
Share on other sites

Тут есть возможность вставлять php в блоки, которые в последующем расставлять на странице. Возможно(читать наверняка) я что-то не так делаю. Но собираюсь дойти до правильного )

siv1987 прав. Внешний контент правильней экспортировать в IP.Content (разовая операция). А потом работать с ним, как с родным материалов. И в последствие, граблей будет меньше.

Share this post


Link to post
Share on other sites
Тут есть возможность вставлять php в блоки, которые в последующем расставлять на странице.

Т.е. создается этот блок и его можно будет вставлять на любой странице? Или он делается только для текущей?

 

теперь надо придумать что будет делать php

echo 'Hello world'; :(

Share this post


Link to post
Share on other sites

echo 'Hello world'; :)

Согласен. Я только начал :)

 

Т.е. создается этот блок и его можно будет вставлять на любой странице?

Так в том то и дело, что не получается. Уже сделал просто index.php файл, который прекрасно работает без IP.Content-а. А как его правильно положить в контент...пока не понял. :)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...