$link = mysqli_connect('localhost', 'root', '', 'sport');
if (!$link) {
die('Ошибка подключения (' . mysqli_connect_errno() . ') '
. mysqli_connect_error());
}
mysqli_close($link);
require_once ('lib/simple_html_dom.php');
require_once ('lib/phpQuery.php');
require_once ('lib/curl_query.php');
require ('lib/db.php');
$html = curl_get('имя сайта');
$dom = str_get_html($html);
$news = $dom->find('.soc-news li');
foreach ($news as $new)
{
$tobd = array();
$a = $new->find('a', 0);
$tobd['name'] = $a->plaintext;
$one = curl_get('имя сайта' . $a->href);
$one_dom = str_get_html($one);
$content = $one_dom->find('.content', 0);
$tobd['content'] = $content->plaintext;
$query = "INSERT INTO `pro` SET name = '5', content = '7'";
if($query)
{
echo 'Запись добавленна';
}
else
{
echo 'Ошибка добавления';
}
// echo '<pre>';
// print_r($tobd);
// echo '</pre>';
break;
}
Максим Осадчий @iphone_fans_ru
Если цель получить просто информацию из блоков - может нет надобности тянуть yii? Записать в массив ссылки на страницы - пройтись по ним - вытащить нужную инфу и сохранить - это три шага, которые в одном файле в процедурном стиле пишется за час
Максим Осадчий @iphone_fans_ru
yii призван ускорить разработку, но в данном случае, имхо, только затянет, я обычно беру какую-то библиотеку, быстро прохожу глазами по сайту, если есть sitemap.xml - идеально, нет - беру все ссылки всех нужных страниц, записываю их в массив, если сильно много - в файл, потом прохожу по ним, беру все, что надо и на этом все, зачем писать модели, контроллеры, разносить по файлам логику, если задача примитивная?
nikitinandrey1990, а что там разбираться-то?)))
public function actionView($id)
{
$id = Yii::$app->request->get('id');
$news = News::find()->where(['category_id' => $id])->all();
$clubs = Club::find()->where(['category_id' => $id])->all();
$category = Category::findOne($id);
$this->setMeta('SPORT | ' . $category->name, $category->keywords, $category->description);
return $this->render('view', compact('news', 'clubs', 'category'));
}
<?php if(!empty($news)): ?>
<?php foreach ($news as $new): ?>
<h1><?= $new->name ?></h1>
<p><?= $new->content ?></p>
<?php endforeach; ?>
<?php else: ?>
<?php if(!empty($clubs)): ?>
<?php foreach ($clubs as $club): ?>
<h1><?= $club->name ?></h1>
<?php endforeach; ?>
<?php endif; ?>
<?php endif; ?>
<?php
/**
* Created by PhpStorm.
* User: Computer
* Date: 06.12.2017
* Time: 20:34
*/
namespace app\controllers;
use app\models\Category;
use app\models\News;
use app\models\Club;
use Yii;
class CategoryController extends AppController
{
public function actionIndex()
{
$news = News::find()->all();
return $this->render('index', compact('news'));
}
public function actionView($id)
{
$id = Yii::$app->request->get('id');
$news = News::find()->where(['category_id' => $id])->all();
return $this->render('view', compact('news'));
}
public function actionClub($id)
{
$id = Yii::$app->request->get('id');
$clubs = Club::find()->where(['category_id' => $id])->all();
return $this->render('club', compact('clubs'));
}
}
<?php
/**
* Created by PhpStorm.
* User: Computer
* Date: 06.12.2017
* Time: 12:35
*/
namespace app\models;
use yii\db\ActiveRecord;
class Category extends ActiveRecord
{
public static function tableName()
{
return 'category';
}
public function getNews()
{
return $this->hasMany(News::className(), ['category_id' => 'id']);
}
public function getClub()
{
return $this->hasMany(Club::className(), ['category_id' => 'id']);
}
}
<?php
/* @var $this yii\web\View */
use yii\helpers\Html;
$this->title = 'My Yii Application';
?>
<?php
/* @var $this yii\web\View */
$this->title = 'My Yii Application';
?>
<div class="wrap">
<div class="leftmenu">
<ul class="catalog category-products">
<?= \app\components\MenuWidget::widget(['tpl' => 'menu']); ?>
</ul>
</div>
<div class="content">
<h2>Новости спорта</h2>
<?php if(!empty($clubs)): ?>
<?php foreach ($clubs as $club): ?>
<h1><?= $club->name ?></h1>
<?php endforeach; ?>
<?php else: ?>
<h2>Новостей нет</h2>
<?php endif; ?>
</div>
</div>