Systém komentářů pomocí jQuery a Ajax.

 2012-10-27 00:00:00
 Dmitry Burobin

Dnes vytvoříme systém komentářů s automatickou kontrolou vstupních dat pomocí technologie Ajax a přidáváním nového komentáře s použitím jQuery bez znovunačtení stránky.

Série článků:
1) Systém komentářů pomocí jQuery a Ajax.
2) Lajkování neboli karma u komentářů.
3) Strankování.

Vytvoření tabulky a připojení k databázi.

Vytvoříme si tabulku comments, do které budeme ukládat: identifikátor komentáře ( id ), identifikátor rodičovského komentáře ( parent_id ), jméno ( name ), text komentáře ( text ) a datum přidání komentáře ( date ).

CREATE TABLE `comments` (
`id` INT ( 5 ) NOT NULL AUTO_INCREMENT,
`parent_id` INT ( 5 ) NOT NULL,
`name` VARCHAR ( 255 ) NOT NULL,
`komentar` TEXT,
`date` DATETIME,
PRIMARY KEY(`id`)
)ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci

Taktéž si vytvořte soubor db.php, pro připojení k databázi.
<?php
$DBSERVER 'localhost'//server, který bude použít pro navázáníspojení s DB 
$DBUSER 'root'//Váš mysql login, nejspíš je stejný jako u mě pro localhost, tudiž root 
$DBPASS '****'//heslo, které jste zadaval při instalaci MySQL 

$DB 'test'//databáze, s kterou budeme pracovat 

//navazení spojení pomoci mysql_connect  
$link mysql_connect($DBSERVER$DBUSER$DBPASS)  or die("Could not connect: " mysql_error()); 
//vybírame databázi 
mysql_select_db($DB$link) or die ('Can\'t use test : ' mysql_error()); 
//řekněme MySQL, že všechná data jsou ve formatu UTF-8 
mysql_query("SET NAMES UTF8");
?>

index.php

Hlavní stránka bude obsahovat formulář pro přidávání komentářů s polem pro jméno, zprávu a skryté pole, do kterého budeme ukálát identifikátor rodičovského komentáře, pokud někdo bude odpovídat na nějaký komenář. Soubor index.php vypadá takto:

<?php
/*Soubor pro vybírání komentářů z databáze*/
require_once 'comment.php';
?>
<!DOCTYPE html>
<
html xmlns="http://www.w3.org/1999/xhtml" xml:lang="cs" lang="cs">

<
head>
    <
title>Systém komentářů.</title>
    <
meta charset="utf-8" >
    
    <
link rel="stylesheet" href="style.css"> <!-- soubor se styly -->
    <
script src="jquery-1.7.1.min.js"></script> <!-- připojení jquery -->
    <script src="comment.js"></script> <!-- funkce potřebné pro přidávání komentářů -->
    
</head>
<body>
<ul id="commentWrapper">
<?php
/*Zde v proměnné $comments jsou komentáře*/
echo $comments;
?>
<!-- formulář pro přidávání komentářů -->
</
ul>    
    <
div id="commentBox">
        <
input class="validate" type="text" name="name" >
        <
input id="parent" type="hidden" name="parent_id" value="">
        <
div class="commentText">
            <
textarea name="text"></textarea>
        </
div>
        <
button>Přidat</button><img class="loader" src="loader.gif">
    </
div>
</
body>
</
html>

Styly a knihovna jQuery

Pro správné fungování potřebujeme připojit knihovnu jQuery. Tu buď stáhnete z oficiálního webu nebo z archivu s tímto článkem. Pak, aby komentáře líp vypadali přidáme styly, nic složitého v nich není, proto je nebudu popisovat:

body
{
    
margin:0;
    
padding:0;
}
ulli
{
    list-
style-type:none;
}
.
loader
{
    
display:none;
}
#commentBox
{
    
width:400px;
    
padding:10px;
}
#commentBox input
{
    
width:250px;
    
height:25px;
    
padding0 5px;
    
margin:5px;
    
bordersolid 1px #ccc;
    
background:#f1f1f1 url(bg_input.png) no-repeat;
    
font400 12pt/14pt Ume Gothic O5;
}
#commentBox textarea
{
    
width:250px;
    
height:100px;
    
margin5px;
    
padding5px;
    
bordersolid 1px #ccc;
    
background:#f1f1f1 url(bg_koment.png) no-repeat;
    
font400 12pt/14pt Ume Gothic O5;
}
#commentBox button
{
    
height:30px;
    
width:85px;
    
margin-left183px;
    
margin-top:0px;
    
font:700 12pt/14pt Ume Gothic O5;
}
#commentWrap
{
    
width:350px;
    
padding:10px;
    
padding-bottom:3px;
    
margin:10px;
    
border1px solid #ccc;
    
border-radius:10px;
    
background:#f7f7f7;
}
#commentWrap .komentar
{
    
padding:5px;
    
padding-left:0px;
    
border-top:1px solid #ccc;
    
margin-bottom:10px;
    
font:400 12pt/14pt Times New Roman;
}
#commentWrap .replay
{
    
margin-left:270px;
    
font:700 10pt/12pt Ume Gothic O5;
}
#commentWrap a
{
    
text-decoration:none;
}
#commentWrap .commentName
{
    
font:700 10pt/12pt Ume Gothic O5;
}
#commentWrap .commentDate
{
    
font:400 11pt/13pt Times New Roman;
}
.
repName
{
    
font:400 12pt/14pt Times New Roman;
    
font-style:italic;
}
.
repText
{
    
font:700 10pt/12pt Ume Gothic O5;
}
.
repDate
{
    
font:400 9pt/11pt Times New Roman;
    
font-style:italic;
}

comment.php

Tento soubor je určen pro vybírání dat z databáze a vkládání těchto dat do šablony.

<?php
// Vložíme soubor s připojením k databázi. ( musí se nacházet ve stejné složce ) 
require_once 'db.php';

// Vybereme komentáře z databáze
$query mysql_query("
         SELECT `id`,`parent_id`,`name`,`komentar`, 
         DATE_FORMAT(date, '%d %M %Y %H:%i') as date_add
         FROM `comments` ORDER BY `id` ASC 
         "
);
         
// Pokud při vykonání příkazu nastané chyba vypišeme ji
if(!$query) { echo mysql_error() . " - " mysql_errno(); }
else {

// Jinak pomocí cyklusu projdeme všechny záznamy v tabulce
        
while($result mysql_fetch_assoc($query))
        {
            
// a uložíme je do pole $data  
            
$data[$result['id']] = $result;
        }

// Funkce pro vkládání dat ( komentářů ) do šablony
function commentsToTemplate($comment)
{
// $comment - pole komentáře - id, parent_id, name, text, date 
    
// Zapneme bufferování výstupu, aby šablona nebyla zobrazená v místě volání funkce
    
ob_start();  
      
// Připojíme šablonu comment_template.php, do které vložíme data z pole $comment
    
require_once 'comment_template.php';                     
  
// Získáváme obsah bufferu jako řetězec   
    
$comments_string =  ob_get_contents(); 

// Vymažeme všechno z bufferu
    
ob_end_clean();

// Vrácíme komentář jako řetězec   
    
return $comments_string;    
}

// Funkce pro zpracování pole $data, které
// bude rozděleno do jednotlivých komentářů a odesláno funkci 
// commentsToTemplate
function commentsString($data)
{
    foreach(
$data as $w
    {
        
$string .= commentsToTemplate($w);
    }
 
return 
$string
}  

// proměnná $comments obsahuje naše komentáře, které zobrazujeme na hlavní stránce
$comments commentsString($data);

// vynulujeme proměnnou $data 
$data null;
}
?>

comment_template.php

Toto je vlastně šablona jednotlivého komentáře.

<?php
// Do této šablony se načítají data z pole $data, která jsou odesláná funkci commentsToTemplate
echo '<li id="comment'.$comment['id'].'">
    <div id="commentWrap">'
;
        
// Pokud existuje parent_id, pak zobrazíme, že se jedna o odpověď
        
if($comment['parent_id']!=0)
        {
// Vybereme z DB jméno a datum rodičovského komentáře
            
$q mysql_query("SELECT `name`, DATE_FORMAT(date, '%d %M %Y %H:%i') as date_add FROM `comments_my` WHERE `id`='".$comment['parent_id']."'");
            
$r mysql_fetch_assoc($q);
            echo 
'<span class="repText">Odpověď na komentář</span> <span class="repName">
            '
.$r['name'].'
            </span> <span class="repText">from</span> <span class="repDate">
            '
.$r['date_add'].'
            </span><br>'
;
        }
        
// Zobrazíme jméno a datum přidání
echo    '<span class="commentName">'.$comment['name'].'</span> - <span class="commentDate">'.$comment['date_add'].'</span>
        <div class="komentar">
<!--Zobrazíme text komentáře-->
            '
.$comment['komentar'].'
        </div>
<!--Pokud zmačkneme na tento odkaz, pak se do skrýteho pole s názvem parent_id přidá
identifikátor tohoto komentáře. 
Použil jsem zde JS událost onClick, tzn. pokud je tlačítko zmačknuté, pak najdi prvek s 
id parent ( což je skrýte pole parent_id ) a do hodnoty přidej id komentáře, na který chcete odpovědět-->
        <a class="replay" href="javascript:;"
        onClick="document.getElementById(\'parent\').value='
.$comment['id'].';">Odpovědět</a>
    </div>
</li>'
;
?>

comment.js

Tento soubor je určen pro odesílaní dat na server a přidávání do databáze

$(document).ready(function(){
    
// Objekt commentBox bude obsahovat data pro odesílání na server
    
var commentBox = {};
    
// Po kliknutí na tlačítko přidat      
     
$('#commentBox button').live('click',function(){
         
// Do objektu commentBox bude přidána hodnota skrýteho pole input s názvem parent_id,
// které obsahuje id rodičovského komentáře a pokud je prázdné tak bude 0, což znamená, že
// se jedná o nový komentář bez reakci na něj ( toto se bude ověřovat až odešleme data na server ).   
        
commentBox.parent_id = $('#commentBox').find("input[name='parent_id']").val();
        
// Taktéž přidáme do objektu commentBox hodnotu pole name a zprávu
        
commentBox.name = $('#commentBox').find("input[name='name']").val();        
        
commentBox.text = $('#commentBox').find("textarea").val();
// Abyste to lépe pochopili syntaxe toho, jak přidáváme hodnoty do objektu je:
// Objekt.název_proměnné = hledáme input nebo textarea.hodnota pole

// Funkce pro odesílání dat na server        
        
sendData();
     });
    

function 
sendData()
{
// Najdeme tlačítko schováme jej a zobrazíme loader ( ten si můžete stáhnout z archivu )
    
$('#commentBox').find('button').hide().next().show();

// Odešleme    data metodou post na server
    
$.post(
// Soubor, ve kterém se provádí ověřování dat a přidávání komentářů     
        
"addkoment.php",
// Objekt s proměnnými (parent_id, name a text)
        
commentBox,
        function(
data){
// Pokud jsou nějaka data, to znamená, že nastala chyba
            
if(data)
            {
// Převedeme tento řetězec JSON do objektu JS
                
data = $.parseJSON(data);
                
// Vytvoříme proměnnou errors, která bude obsahovat název chyby
                
var errors '';

// Použijeme cyklus pro zobrazení všech chyb najednou.
// Použil jsem tuto konstrukci, protože nejprvé jsem zobrazoval všechny chyby, ale
// nakonec jsem to změnil a teď se bude zobrazovat jenom jedna konkretní chyba     
// Kdybyste chtěli zobrazit všechny chyby tak použijte konstrukci
// errors += val+'\n'; - každá chyba se zobrazí na samostatném řádku.
// i - obsahuje název chybného pole a val - popis chyby
            
                
$.each(data, function(ival)
                {
                    
errors += i;
                });

// Uložil jsem do proměnné errors jenom název chybného pole a
// cyklusem switch procházim všechny varianty a přidávam červený rámeček 
// pokud pole je prázdné nebo jestli komentář nebyl přidan tak zobrazim hlášení                    
                   
switch (errors
                   {
                      case 
'name':
                        $(
'#commentBox').find("input[name='name']").css('border','2px solid red');
                        break
                      case 
'text':
                        $(
'#commentBox').find("textarea").css('border','2px solid red');
                        break
                      case 
'not_add':
                        
alert('Komentář nebyl přidan.')
                        break
                      default:
                        
alert('Něco je špatně')
                  }

// Najdeme loader ( ten si můžete stáhnout z archivu ) schováme jej a zobrazíme tlačítko přidat     
                
$('#commentBox').find('button').show().next().hide();

// Jinak, pokud žadná chyba nenastala, tak voláme funkci addComment, která zobrazí
// komentář bez znovunačtení stránky a vynuluje hodnoty vstupních poli
            
} else {
                
addComment();        
            }
        }
    
    )

}


function 
addComment()
{
// Na konec prvků s id commentWrapper ( což je ul ) přidame tag <li></li>,
// ve kterém se bude nacházet nový komentář
    
$("#commentWrapper").append('<li></li>');

// Najdeme poslední tag <li>, který jsme teď vytvořili a
// načteme do něj poslední komentář
    
$("#commentWrapper li:last").load('new_comment.php');
// Najdeme loader ( ten si můžete stáhnout z archivu ) schováme jej a zobrazíme tlačítko přidat     
    
$('#commentBox').find('button').show().next().hide();

// Vynulujeme hodnoty vstupních poli
    
$('#commentBox input').val('');
    $(
'#commentBox textarea').val('');

}


});

addkoment.php

Tento skript zpracovává data poslána na server pro zpracování.

<?php
// Ověříme, zda se jedna o odeslána POST data nebo si člověk jen tak otevřel tuto stránku
if($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest') {

// Pokud ano, pomocí funkci sleep přidame efekt zpoždění, abyste 
// viděl loader, jinak, protože pracujeme na lokálním serveru
// se ten loader hned schová  
     
sleep(2);

// Ověříme vstupní data     
// Pokud je pole name nebo textové pole prázdné do pole $error uložíme text chyby
// ukončíme skript a odešleme tuto chybu v JSON formátu  
     
if(!isset($_POST['name']) OR empty($_POST['name']))
     {
        
$error['name'] = "Zadejte jméno.";
        exit(
json_encode($error));
     } else {
        
$name htmlspecialchars(stripslashes(trim($_POST['name'])));
     }
     
     if(!isset(
$_POST['text']) OR empty($_POST['text']))
     {
        
$error['text'] = "Zadejte zprávu.";
        exit(
json_encode($error));
     } else {
        
$text stripslashes(htmlspecialchars(trim($_POST['text'])));
     }
     
// V tomto případě, když parent_id je prázdné pole tak mu přiřadime hodnotu 0
// to znamená, že se jedná o nový komentář, který není odpovědí na něčí jiný  
     
if(!isset($_POST['parent_id']) OR empty($_POST['parent_id']))
     {
        
$parent_id 0;
     } else {
        
$parent_id stripslashes(htmlspecialchars(trim($_POST['parent_id'])));
     }
     
// Vložíme soubor s připojením k databázi. ( musí se nacházet ve stejné složce )  
     
require_once 'db.php';
     
// Přidame komentář do databáze a vrátíme false, tzn.
// že chyba nenastala a komentář byl přidán.
     
$q mysql_query("
     INSERT INTO `comments`(`parent_id`,`name`,`komentar`,`date`)
     VALUES('"
.$parent_id."','".$name."','".$text."', NOW())
     "
);
     if(!
$q) { $error['not_add'] = "Komentář nebyl přidan."; exit(json_encode($error));}
     else { exit(
false); }

}
?>

new_comment.php

V tomto souboru vybírame poslední komentář, abysme ho následně zobrazili po úspěšnem ověření vstupních dat.

<?php
// Vložíme soubor s připojením k databázi. ( musí se nacházet ve stejné složce ) 
require_once 'db.php';
// Vybereme maximální ( poslední přidáný ) id
$max mysql_query("SELECT MAX(`id`) FROM `comments_my`");
// Pak vybereme všechny související údaje s tímto identifikátorem
$query mysql_query("
         SELECT `parent_id`,`name`,`komentar`, 
         DATE_FORMAT(date, '%d %M %Y %H:%i') as date_add
         FROM `comments_my` WHERE `id` = '"
.mysql_result($max,0)."'
         "
);
$comment mysql_fetch_assoc($query);

// A stejně, jak jsme zobrazovali komentáře před tím, zobrazíme poslední přidáný
echo '<li id="comment'.mysql_result($max,0).'">
    <div id="commentWrap">'
;
        
        if(
$comment['parent_id']!=0)
        {
            
$q mysql_query("SELECT `name`, DATE_FORMAT(date, '%d %M %Y %H:%i') as date_add FROM `comments_my` WHERE `id`='".$comment['parent_id']."'");
            
$r mysql_fetch_assoc($q);
            echo 
'<span class="repText">Odpověď na komentář</span> <span class="repName">
            '
.$r['name'].'
            </span> <span class="repText">from</span> <span class="repDate">
            '
.$r['date_add'].'
            </span><br>'
;
        }
        
echo    
'<span class="commentName">'.$comment['name'].'</span> - <span class="commentDate">'.$comment['date_add'].'</span>
        <div class="komentar">
            '
.$comment['komentar'].'
        </div>
        <a class="replay" href="javascript:;"
        onClick="document.getElementById(\'parent\').value='
.mysql_result($max,0).';">Odpovědět</a>
    </div>
</li>'
;
?>

Závěr

Probrali jsme, jak můžeme zpracovávát formuláře bez znovunačtení stránky. Doufám, že se Vám tento článek líbil a byl pro Vás přínosný.

Systém Orphus
Napište komentář.
Celkem komenrářů(10303)
Wvu-school-of-pharmacy - 2017-05-24  21:52:40
 [url=http://usa-best-store.com/#cialis-recommended-dose]cialis dosage[/url] how often can viagra be taken [url=http://best-store-usa.com/#preventing-erectile-dysfunction]erectile dysfunction articles[/url] what is better viagra or cialis [url=http://us-safe-store.com/#buying-cialis-online-from-canada]increase erectile tissue[/url] levitra generic [url=http://usa-safe-store.com/#viagra-plus]taking viagra recreationally[/url] when will generic viagra be available
Icmeqjum - 2017-05-24  20:51:04
 anabolic vs catabolic
- anabolic definition

anabolic steroid
- [url=https://anabolicsteroidsnpc.com/]anabolic vs catabolic
[/url]
RichardCab - 2017-05-24  20:05:54
 hellow all
Richardmef - 2017-05-24  19:59:17
 [url=https://bestdump.org]dumps shop[/url]
.
Ajimafutei - 2017-05-24  19:50:43
 sulpiride 50 mg side effects tenze24-domperidone normal gastric emptying time humans
Ajimafutei - 2017-05-24  19:49:29
 sulpiride 50 mg side effects tenze24-domperidone normal gastric emptying time humans
Staceybor - 2017-05-24  19:43:10
 Great, thanks for sharing this forum topic. Want more. [url=http://27cc48yo.tumblr.com/]Cropley[/url]
Alearono - 2017-05-24  17:59:26
 [url=http://safe-store-us.com/#quality-pharmacy]effect of viagra[/url] about cialis [url=http://safe-store-us.com/#levitra-maximum-dosage]costco pharmacy phone number[/url] compare viagra cialis [url=http://best-store-usa.com/#cvs-pharmacy-technician-pay]walmart pharmacy sanford fl[/url] kroger pharmacy hours of operation [url=http://best-store-usa.com/#female-viagra-does-work]cvs pharmacy website[/url] nuclear pharmacy salary
Highland-park-pharmacy - 2017-05-24  16:27:01
 [url=http://safe-store-usa.com/#get-cialis-prescription-online]buy viagra without presc[/url] walmart pharmacy jonesboro ar [url=http://usa-safe-store.com/#female-version-of-viagra]long term effects of viagra[/url] safe place to buy viagra [url=http://us-safe-store.com/#right-source-pharmacy]natural treatment for erectile dysfunction[/url] delmarva pharmacy [url=http://safe-store-us.com/#viagra-and-cialis-taken-together]natural viagra foods[/url] compounding pharmacies
Overcoming-erectile-dysfunction-psychological - 2017-05-24  15:47:30
 [url=http://safe-shopping-usa.com/#generic-viagra-without-prescription]cheap generic levitra[/url] viagra super active [url=http://safe-shopping-usa.com/#pharmacy-in-spanish]pharmacy walmart hours[/url] viagra for sale in usa [url=http://safe-store-usa.com/#omega-pharmacy]best online pharmacies[/url] nebraska board of pharmacy [url=http://safe-store-us.com/#generic-tadalafil-canada]where to buy levitra[/url] what type of doctor do you see for erectile dysfunction
Errolvatry - 2017-05-24  13:35:04
 [b]Дизельное топливо[/b] или, как говорится в народе, солярка - это топливо, используемое в дизельных двигателях, ДВС с воспламенением от сжатия.

[url=http://toplivos.ru/]Дизельное топливо[/url] - это смесь углеводородов с очень небольшими примесями водорода, азота, кислорода и серы. Дизтопливо подразделяют на маловязкие дистиллятные сорта, применяющиеся в форсированных быстроходных двигателях и сорта остаточные высоковязкие, используемые в судовых, стационарных и тракторных ДВС. Дизель
Маловязкие сорта состоят из керосиногазойлевых фракций прямой перегонки и до 20% из газойлей получаемых каталитическим крекингом. Остаточные (вязкие сорта) - это смесь керосиногазойлевых фракций с мазутом.

Также существует сезонная классификация дизельного топлива.

А - арктическое
З - зимнее дизтопливо
Л - летнее дизтопливо
Рассмотрим сезонные характеристики дизтоплива подробней:

А – арктическое дт. Используется при температуре окружающей среды до – 50 о. Цетановое число – 40, плотность при 20 о – не более 830 кг/м3, вязкость при 20 о – от 1,4 до 4 кв. мм/с, температура застывания составляет –55 о.
З – [b]дизельное топливо[/b] зимнее. Применяется при температуре до –30 о. Цетановоезимнее дизтопливо число – 45, плотность при 20 о – не более 840 кг/м3, вязкость при 20 о – от 1,8 до 5 кв. мм/с, температура застывания составляет –35 о.
Л – дизельное топливо летнее. Используется при температуре воздуха до 0 о и выше. Цетановое число – не ниже 45, плотность при 20 о – не более 860 кг/м3, вязкость при 20о – от 3 до 6 кв. мм/с, температура застывания составляет –5 о.
Вышеперечисленные характеристики относятся к устаревшему ГОСТу 305-82.
В 2006г. был введен в строй новый ГОСТ Р 52368-2005 (ЕН 590:2004).

Топливо дизельное евро - на сайте http://toplivos.ru/.

Введена новая система маркировок ДТ:

СОРТ - предельная температура фильтруемости.
КЛАСС - температура помутнения.
ВИД - количество сернистых соединений.
Как пример - ТД ЕВРО Сорт С вид 2 имеет температуру фильтруемости до -5С° и содержание сернистых соединений, которое соответствует стандарту ЕВРО 2.

Область применения этого вида топлива очень и очень широка. Это и автомобильные, судовые, железнодорожные, сельскохозяйственные двигатели внутреннего сгорания, и автономная электроэнергия (дизель генераторы), смазка различных механизмов, кожевенное производство.

Говоря о [u]дизельном топливе[/u], в первую очередь имеется в виду многокомпонентная смесь, содержащая в себе несколько различных фракций – продуктов прямой нефтеперегонки. Дизель зимнийДанное горючее получило всеобщую популярность – около трети всех транспортных средств, колесящих дороги не только в нашей стране, но и за рубежом, оснащены мотором дизельного типа. К числу достоинств данного двигателя следует отнести его повышенный эксплуатационный ресурс, простоту ухода, достойную мощность, возможность использования внутри территорий с экстремальными погодными условиями. Кроме того, использование соляры (так в обиходе нередко называют указанное выше горючее) позволяет снизить финансовые издержки водителей - реализуется горючее в сети автозаправочных станциях по более доступным, нежели, чем бензин, ценам. На сегодняшний день продажа дизтоплива осуществляется десятками отечественных и зарубежных компаний, занятых в нефтехимической промышленности – вниманию владельцев авто предоставлена возможность выбора горючего, использовать которое возможно при нахождении как в жарких регионах, так и в условиях Крайнего севера.

А что автомобилистам следует знать о самом топливе? Какие требования к его качеству предъявляются в последние годы? Общемировой тенденцией следует считать ужесточение процентного содержания в составе продукта серы. Так, в Швеции в дизтопливе I класса не допускается содержание данного элемента свыше 10 мг/кг, для горючего II класса – свыше 50 мг/кг, соответственно.

Общеевропейский стандарт EN 590 предусматривает, чтобы в конечном продукте содержание серы было снижено до 0.035%, цетановое же число было, наоборот, увеличено до 51 единицы. Соответствующие изменения введены и в отношении вязкости углеводорода: 2-4.5 при температуре 400 С, и 2.7-6.5 мм2/с при температуре 200 С.

Как уже было сказано выше, продажа [i]дизельного топлива[/i] производится с учетом климатических условий эксплуатации транспортных средств. Низкотемпературные свойства горючего обусловлены показателями температуры застывания, фильтрации. Данный параметр характеризует потерю текучести углеводорода с понижением температуры (вследствие увеличения вязкости). При достижения дизельным топливом данной границы подача его в цилиндры двигателя не представляется возможной. Автовладельцам рекомендуется использовать соляру зимнюю и арктическую, не изменяющую агрегатного состояния при заливе в баки в условиях низкой температуры окружающего воздуха. Доставка дизельного топлива
В нашей компании вы можете приобрести дизельное топливо отвечающее стандартам ГОСТа, по низким ценам и в точно указанные сроки.
AcsanNoff - 2017-05-24  13:14:11
 А вы сами так пробовали делать?

---

дизайн интерьера спальни [url=http://lankor.info/index.php?option=com_k2&view=itemlist&task=user&id=197331]тут[/url]
Mellissavp - 2017-05-24  13:04:06
 [url=http://www.ksdonline.com/?acworth-family-medicine] http://www.ksdonline.com/?acworth-family-medicine[/url]
[url=http://www.ksdonline.com/?stanford-medicine-x] http://www.ksdonline.com/?stanford-medicine-x[/url]
[url=http://www.ksdonline.com/?telemedicine-reimbursement] http://www.ksdonline.com/?telemedicine-reimbursement[/url]
[url=http://www.ksdonline.com/?medicine-ball-workouts] http://www.ksdonline.com/?medicine-ball-workouts[/url]
[url=http://www.ksdonline.com/?metoprolol-medicine] http://www.ksdonline.com/?metoprolol-medicine[/url]
AbuBoybeamma - 2017-05-24  11:13:44
 [url=http://best-store-us.com/#califo
ia-board-of-pharmacy-license-verification]erectile dysfunction blog[/url] erectile dysfunction remedies [url=http://safe-store-usa.com/#get-a-prescription-online-for-viagra]generic viagra online canadian pharmacy[/url] cialis levitra [url=http://us-best-store.com/#person-st-pharmacy]pharmacy checker.com[/url] cialis capsules [url=http://szkaikun.com/#female-viagra-uk]chinese gold viagra[/url] super saver pharmacy
RichardAmugs - 2017-05-24  10:54:20
 Hello. And Bye.
Сиалис и его действие Dof - 2017-05-24  09:02:40
 Сиалис и его действие http://onli.menshealthed.ru Присутствие диагностике данного заболевания важную занятие играет тип травмы. Поэтому, может крыться чтобы вас уже приходилось брать Виагру в аптеке либо вы лишь намереваетесь приобрести Сиалис в Воронеже либо приобрести Левитру, в любом случае, выбор вынужден являться обоснованным и естественно же воспрещается попирать чтением аннотации пред применением Виагры, Левитры и Сиалиса. Ради обеспечения активного отдыха опосля мышечной работы используются различные средства. Ввиду специфичности собственной работы и на фоне нервных расстройств у меня часто теряется эрекция в самый неуместный момент. Различные заболевания сердца, в том числе нестабильная стенокардия, аритмия в небезопасной форме и сердечная недостаточность.
Рефлекторно происходит спазм этих артерий и горячность болевых рецепторов в них. Если вас повсевременно или с нередкой периодичностью мучают сердечные боли, вы мучаетесь сердечными болезнями, то накануне применением Левитры, в неотклонимом порядке пройдите консультацию у собственного лечащего врача. Изделие мильгамма показания к применению
достоинство в аптеках. Силденафил всего для сезон наращивает приток крови к половому члену. Паки больше вы сэкономите, приобретая аналоги.
После их внедрения может появиться головная болезнь Сиалис и его действие сиалис цена беларусь
головокружение боли в суставах диарея тошнота уменьшение остроты зрения Приобрести левитру приобрести левитру в одессе одессе, повышающие потенцию. Около наличии пульса имеет смысл попытаться его разбудить. Пробный набор из растворимых около языком пилюль - Дженерик Виагра Софт и Дженерик Сиалис Софт, различающихся наиболее скорым актом и возможностью потребления алкоголя дешифрировать сезон приёма. В итоге содействует нормализации и гармонии сексапильных отношений, сколько чрезвычайно принципиально для хоть какого мужчины и естественно женщины.
http://software.com.ua/index.php?option=com_k2&view=itemlist&task=user&id=11389
http://bg-laptop.eu/index.php?option=com_k2&view=itemlist&task=user&id=12848
http://dubucvidange.fr/index.php?option=com_k2&view=itemlist&task=user&id=6326
Inetryconydot - 2017-05-24  08:17:49
 [b]Stromectol[/b] is used for treating infections caused by certain parasites. Stromectol is an anthelmintic. It works by killing sensitive parasites.

Stromectol as known as: Ivectin, Ivenox, Ivera, Ivergot, Ivermec, Ivermectina, Ivermectine, Ivermectinum, Ivert, Ivexterm, Kilox, Mectizan, Quanox, Revectina, Scabo, Securo, Simpiox

[url=http://fhbroute.com/5.html?group=MedFor&parameter=Srtromectol]BUY CHEAP STROMECTOL NOW[/url]

TAGS: [b]buy Stromectol online[/b], [b]Stromectol 3 mg[/b]


over the counter stromectol
stromectol no prescription
[url=https://kentuckypreps.forums.rivals.com/threads/buy-baclofen-cheap-online-order-baclofen-fast-delivery.114453/]buy baclofen online[/url]
over counter stromectol
over the counter stromectol
purchasing stromectol
[url=https://kentuckypreps.forums.rivals.com/threads/buy-prednisone-usa-online-cheap-prednisone-for-sale-uk.75036/]buy prednisone usa online cheap[/url]
stromectol buy
buy stromectol
[url=https://kentuckypreps.forums.rivals.com/threads/buy-cytotec-online-without-rx-cheap-cytotec-pills-for-sale.75037/]order cheap cytotec online[/url]
where can i buy stromectol
buy stromectol on line
buy stromectol online
[url=https://kentuckypreps.forums.rivals.com/threads/buy-prednisone-usa-online-cheap-prednisone-for-sale-uk.75036/]buy prednisone usa online cheap[/url]
stromectol no prescription
online stromectol
buy stromectol without prescription
buying stromectol online
[url=https://kentuckypreps.forums.rivals.com/threads/buy-cytotec-online-without-rx-cheap-cytotec-pills-for-sale.75037/]buy cytotec online without rx cheap[/url]
order stromectol
stromectol no prescription
NiedeCip - 2017-05-24  07:16:05
 Рекомендую Вам поискать в google.com

---

Эпиляция и депиляция [url=http://www.sundragon.kiev.ua/component/k2/itemlist/user/7336]здесь[/url]
Kennethfag - 2017-05-24  06:44:07
 http://www.thequacken.com/member.php?action=profile&uid=37199
http://ckarea.com/bbs/home.php?mod=space&uid=1160071
http://heloviarepublic.net/member.php?action=profile&uid=21227
http://www.vip0476.com/bbs/forum.php?mod=viewthread&tid=2420520&extra=
http://rus-phpnuke.com/forum/index.php?showuser=97503
http://www.jxsctv.com/forum.php?mod=viewthread&tid=169558&extra=
http://demo4.nina.net.vn/anhninh/truongthuy/forum/member.php?79093-Raymonddem
http://dragonsdenproductions.net/smf/index.php?action=profile;u=5777
http://peruforos.net/member.php?action=profile&uid=5712
http://www.emunewz.net/forum/member.php?action=profile&uid=468922
Antoineknito - 2017-05-24  06:39:49
 Купить в интернет магазине недорого - Распродажа 2017 [url=http://hidshop.ru/]Нажмите здесь...[/url] -
[URL=https://goo.gl/tCfNfJ][IMG]https://s8.hostingkartinok.com/uploads/images/2017/05/a66efa6a493036292431992f865a3728.png[/IMG][/URL]
[URL=https://goo.gl/E8N4aH]][IMG]https://s8.hostingkartinok.com/uploads/images/2017/05/e877b04a6613c46a2cbf386ddf4e1b15.jpg[/IMG][/URL]
<<[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] [93] [94] [95] [96] [97] [98] [99] [100] [101] [102] [103] [104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117] [118] [119] [120] [121] [122] [123] [124] [125] [126] [127] [128] [129] [130] [131] [132] [133] [134] [135] [136] [137] [138] [139] [140] [141] [142] [143] [144] [145] [146] [147] [148] [149] [150] [151] [152] [153] [154] [155] [156] [157] [158] [159] [160] [161] [162] [163] [164] [165] [166] [167] [168] [169] [170] [171] [172] [173] [174] [175] [176] [177] [178] [179] [180] [181] [182] [183] [184] [185] [186] [187] [188] [189] [190] [191] [192] [193] [194] [195] [196] [197] [198] [199] [200] [201] [202] [203] [204] [205] [206] [207] [208] [209] [210] [211] [212] [213] [214] [215] [216] [217] [218] [219] [220] [221] [222] [223] [224] [225] [226] [227] [228] [229] [230] [231] [232] [233] [234] [235] [236] [237] [238] [239] [240] [241] [242] [243] [244] [245] [246] [247] [248] [249] [250] [251] [252] [253] [254] [255] [256] [257] [258] [259] [260] [261] [262] [263] [264] [265] [266] [267] [268] [269] [270] [271] [272] [273] [274] [275] [276] [277] [278] [279] [280] [281] [282] [283] [284] [285] [286] [287] [288] [289] [290] [291] [292] [293] [294] [295] [296] [297] [298] [299] [300] [301] [302] [303] [304] [305] [306] [307] [308] [309] [310] [311] [312] [313] [314] [315] [316] [317] [318] [319] [320] [321] [322] [323] [324] [325] [326] [327] [328] [329] [330] [331] [332] [333] [334] [335] [336] [337] [338] [339] [340] [341] [342] [343] [344] [345] [346] [347] [348] [349] [350] [351] [352] [353] [354] [355] [356] [357] [358] [359] [360] [361] [362] [363] [364] [365] [366] [367] [368] [369] [370] [371] [372] [373] [374] [375] [376] [377] [378] [379] [380] [381] [382] [383] [384] [385] [386] [387] [388] [389] [390] [391] [392] [393] [394] [395] [396] [397] [398] [399] [400] [401] [402] [403] [404] [405] [406] [407] [408] [409] [410] [411] [412] [413] [414] [415] [416] [417] [418] [419] [420] [421] [422] [423] [424] [425] [426] [427] [428] [429] [430] [431] [432] [433] [434] [435] [436] [437] [438] [439] [440] [441] [442] [443] [444] [445] [446] [447] [448] [449] [450] [451] [452] [453] [454] [455] [456] [457] [458] [459] [460] [461] [462] [463] [464] [465] [466] [467] [468] [469] [470] [471] [472] [473] [474] [475] [476] [477] [478] [479] [480] [481] [482] [483] [484] [485] [486] [487] [488] [489] [490] [491] [492] [493] [494] [495] [496] [497] [498] [499] [500] [501] [502] [503] [504] [505] [506] [507] [508] [509] [510] [511] [512] [513] [514] [515] [516] >>
*v komentářich nesmíte používat sprostá slova a odkazy!!!Děkuji za pochopeni.