Swir

Рейтинг
72
Регистрация
19.11.2014
serjoo:
Хрень какая то, выводится все нормально, но выводится тупо над шапкой в начале кода перед <html>, надо как бы после текста выводить там сразу как бы в сайдбаре получается. Как бы в $data['content'] выводить что ли..

Может можно тупо вывести из бд в index.php, но запретить вывод на внутряках?

правильно, потому что echo. Чтоб не выводило перед шапкой, нужно сделать вывод в переменную, а потом сделать вывод переменной в нужном месте. Тоесть


function getHome()
{
global $config;
$data = Array();
$data['title'] = $config['home_title'];
$data['description'] = $config['home_description'];
$data['keywords'] = $config['home_keywords'];
$data['h1'] = $config['home_h1'];
$data['content'] = $config['home_text'] . Window();

$table_data = '<td width="300" valign="top">';
$table_data.= '<div id="" class="mb40">';
$table_data.='<h4 style="margin-left:7px">Rubi</h4>';
$table_data.='<ul style="background: none; margin-bottom: 5px; ">';

$query = mysql_query('SELECT `name`, `name2`, `uri`, (SELECT count(*) FROM `auto` WHERE `moto_id` = `moto`.`id` AND `auto`.`enable` = "1") as `count` FROM `moto` HAVING `count` <> 0 ORDER BY `name` ASC');
while ($result = mysql_fetch_assoc($query))
{
$table_data.='<li class="pbmoto"><a href="/'.DIR.''.$result['uri'].'">'.$result['name'].'</a> ('.$result['count'].') </li> ';
}
$table_data.='</ul></div>';
$table_data.=' <div class="mb20"></div>';
$table_data.='</td>';

//дальше записываем полученное значение в массив
$data['table_data'] = $table_data;
//либо цепляем к $data['content'] в начало
$data['content'] = $table_data.$data['content'];
//или в конец
$data['content'].= $table_data;

return $data;
}

Если записали в отдельный ключ массива, то ищем в шаблоне, куда передаётся массив данных $data и место, где нужно вывести сформированную строку и в том месте пишем <?=$data['table_data'];?> или какой там синтаксис

Ну тогда подобовляете echo


function getHome()
{
global $config;
$data = Array();
$data['title'] = $config['home_title'];
$data['description'] = $config['home_description'];
$data['keywords'] = $config['home_keywords'];
$data['h1'] = $config['home_h1'];
$data['content'] = $config['home_text'] . Window();

echo '<td width="300" valign="top">';
echo '<div id="" class="mb40">';
echo '<h4 style="margin-left:7px">Rubi</h4>';
echo '<ul style="background: none; margin-bottom: 5px; ">';

$query = mysql_query('SELECT `name`, `name2`, `uri`, (SELECT count(*) FROM `auto` WHERE `moto_id` = `moto`.`id` AND `auto`.`enable` = "1") as `count` FROM `moto` HAVING `count` <> 0 ORDER BY `name` ASC');
while ($result = mysql_fetch_assoc($query))
{
echo '<li class="pbmoto"><a href="/'.DIR.''.$result['uri'].'">'.$result['name'].'</a> ('.$result['count'].') </li> ';
}
echo '</ul></div>';
echo ' <div class="mb20"></div>';
echo '</td>';

return $data;
}

Не понятно, как взаимодействуют представленные фрагменты кода. Где вызывается функция getHome()?

Но приблизительно


<?php
$table_data = '<div id="" class="mb40"><h4 style="margin-left:7px">Rubi</h4>
<ul style="background: none; margin-bottom: 5px; ">';

$query = mysql_query('SELECT `name`, `name2`, `uri`, (SELECT count(*) FROM `auto` WHERE `moto_id` = `moto`.`id` AND `auto`.`enable` = "1") as `count` FROM `moto` HAVING `count` <> 0 ORDER BY `name` ASC');
while ($result = mysql_fetch_assoc($query))
{
$table_data.= '<li class="pbmoto"><a href="/'.DIR.$result['uri'].'">'.$result['name'].'</a> ('.$result['count'].')</li>';
}

$table_data.='</ul></div>';
?>

Меняете с function getHome() на


function getHome($table_data = '')
{
global $config;
$data = Array();
$data['title'] = $config['home_title'];
$data['description'] = $config['home_description'];
$data['keywords'] = $config['home_keywords'];
$data['h1'] = $config['home_h1'];
$data['content'] = $config['home_text'] . Window();
$data['$table_data'] = $table_data;

return $data;
}

и в вызове функции getHome($table_data);

где $table_data - строка, сформированная в первом фрагменте.

Нужны ещё проверки исходя из ваших требований. Что делать с пустым результатом запроса - выводить-не выводить и т. д.

А может Вы вообще хотите первый фрагмент впихнуть в функцию, тогда


function getHome()
{
global $config;
$data = Array();
$data['title'] = $config['home_title'];
$data['description'] = $config['home_description'];
$data['keywords'] = $config['home_keywords'];
$data['h1'] = $config['home_h1'];
$data['content'] = $config['home_text'] . Window();

$table_data = '<div id="" class="mb40"><h4 style="margin-left:7px">Rubi</h4>
<ul style="background: none; margin-bottom: 5px; ">';

$query = mysql_query('SELECT `name`, `name2`, `uri`, (SELECT count(*) FROM `auto` WHERE `moto_id` = `moto`.`id` AND `auto`.`enable` = "1") as `count` FROM `moto` HAVING `count` <> 0 ORDER BY `name` ASC');
while ($result = mysql_fetch_assoc($query))
{
$table_data.= '<li class="pbmoto"><a href="/'.DIR.$result['uri'].'">'.$result['name'].'</a> ('.$result['count'].')</li>';
}

$table_data.='</ul></div>';

$data['$table_data'] = $table_data;

return $data;
}

Всё это грубо - просто для хода мыслей

У меня Опера - для чтния (форумы и пр.) и аккаунтов Яндекса, Мозила - для Одноклассников, Вконтакте и аккаунтов Мэйла, Хром - для твиттера, фейсбука, гугловских аккаунтов (вебмастер, адсенс и т. д). Одноклассники и фейсбук в старой Опере - ад. Но привык бродить по форумам именно в Опере, и не могу никак бросить родимую, как не пытался.

dmYoite:

Пробовал, вот так:

<input onclick="fnc1()" type="button" value="Вывести">

но, кажется я что то не так делаю или понямаю 🙄

В принципе, всё правильно, просто замените innerHtml на innerText. innerHtml не срабатывает (яваскриптчики, наверное, знают почему. А я только догадываюсь).


<input type="text" id="input_1" >
<input type="text" id="input_2" >
<input type="text" id="input_3" >

<script type="text/javascript">
function fnc1()
{
var span1 = document.getElementById("span_1");
span1.innerText = document.getElementById('input_1').value;

var span2 = document.getElementById("span_2");
span2.innerText = document.getElementById('input_2').value;

var span3 = document.getElementById("span_3");
span3.innerText = document.getElementById('input_3').value;
}
</script>

<span id="span_1"></span>
<span id="span_2"></span>
<span id="span_3"></span>
<input onclick="fnc1();" type="button" value="Вывести">

Проверил в Хроме и Опере, - в таком виде работает. А jquery не используете? Если нет, то рекомендую разобраться с ним. Для таких задач он Вас здорово выручит.

каждому пробелу задайте уникальный ID - в данном случае, например, используйте span в нужных местах

<span id="span_1"></span>

<span id="span_2"></span>

<span id="span_3"></span>

У инпутов свои ID

<input type="text" id="input_1" value="la-la-1">

<input type="text" id="input_2" value="la-la-2">

<input type="text" id="input_3" value="la-la-3">

По нажатию кнопки - вызов функции, в которой значение соответствующего инпута записываете в нужное место

var span1 = document.getElementById("span_1");

span1.innerHtml = document.getElementById('input_1').value

Если используете jQuery

$('#span_1').html( $('#input_1').val() );

Примеры функций


function fnc1()
{
//Это весьма грубо, но, думаю, наглядно
var span1 = document.getElementById("span_1");
span1.innerHtml = document.getElementById('input_1').value;

var span2 = document.getElementById("span_2");
span2.innerHtml = document.getElementById('input_2').value;

var span3 = document.getElementById("span_3");
span3.innerHtml = document.getElementById('input_3').value;
}

или с jQuery


function fnc2()
{
$('#span_1').html( $('#input_1').val() );
$('#span_2').html( $('#input_2').val() );
$('#span_3').html( $('#input_3').val() );
}

Можно всё упростить и "элегантизировать".

Возможно, ошибки в синтаксисе, но яваскрипт - не моя фишка. Комрады, чуть-что, поправят.

Да уж. В феврале клики 1-2 цента, доход за 1000 показов 0,05-0,12$, CTR 0,30%-0,50%. В материальном плане полный ноль от постоянного роста посетителей и роста позиций во всех поисковиках. Буду, наверное снимать все блоки и ждать лучших времён, а то как-то уважение к себе падает😂.

Вставлю свои пять копеек.

Пользуюсь услугами хостинга от рег.ру (впс-ка) скоро уже как два года - нареканий практически никаких. Один раз на моей памяти из-за проблем с сетевым оборудованием у хостера на 20 минут был недоступен сайт. Больше проблем не испытывал. В техподдержку обратился один раз, причём не из-за проблем с хостингом.

Qzmin:

А вот это странно. В режиме тестирования площадка без договора может находиться, а вот в рабочем - нет. Зайдите в раздел "Финансовые документы". Возможно договор-то у нас с вами уже работает?

Спасибо.

Заходил, договора нет. "В рабочем" она осталась, видимо, после того, как ЦОПы закрылись, а якобы начал переходить на прямой договор. До работы с ЦОП предварительно модерировался в Яндексе.

Я здесь уже писал, что декабрь и первая треть января было 1$ за 1000 уников (не показов). На этой неделя новая тенденция. Небеса решили, что бакса для меня много - давлюсь пироженными, наверное 🤪, - 0.5$ за 1000 уников стали отваливать. За 1000 показов выходит 0.12-0.13$.

Всего: 162