правильно, потому что 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;}
Всё это грубо - просто для хода мыслей
У меня Опера - для чтния (форумы и пр.) и аккаунтов Яндекса, Мозила - для Одноклассников, Вконтакте и аккаунтов Мэйла, Хром - для твиттера, фейсбука, гугловских аккаунтов (вебмастер, адсенс и т. д). Одноклассники и фейсбук в старой Опере - ад. Но привык бродить по форумам именно в Опере, и не могу никак бросить родимую, как не пытался.
<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 минут был недоступен сайт. Больше проблем не испытывал. В техподдержку обратился один раз, причём не из-за проблем с хостингом.
Спасибо.
Заходил, договора нет. "В рабочем" она осталась, видимо, после того, как ЦОПы закрылись, а якобы начал переходить на прямой договор. До работы с ЦОП предварительно модерировался в Яндексе.
Я здесь уже писал, что декабрь и первая треть января было 1$ за 1000 уников (не показов). На этой неделя новая тенденция. Небеса решили, что бакса для меня много - давлюсь пироженными, наверное 🤪, - 0.5$ за 1000 уников стали отваливать. За 1000 показов выходит 0.12-0.13$.