Jump to content
  • 0

Вопросы по PHP.


Kompilator
 Share

Question

Здравствуйте.

Для создания сайта потребовался PHP, в этой теме буду задавать вопросы знатокам.

Пока справляюсь сам, но вот возник вопрос - при формировании таблицы для отображения данных из БД как лучше выводить HTML ? Т.е. каждый шаг цикла (строка БД) выводить посредством "echo" или накапливать всю таблицу в переменной, а потом сразу-  "echo $text;" ?

Как правильнее, или быстрее исполняется или еще что нибудь ?

Link to comment
Share on other sites

Recommended Posts

  • 0

Для упрощения создания страниц с обзорами велофар (пример - http://велосвет.рф/china/nfgh-bt21.html), я хочу сделать html файл - шаблон, в котором на ПХП будет скелет обзора. Нужно будет проставить в начале лишь id продукта и сервер сформирует, то, что вы видите в примере.

Т.е. в БД будут весь контент, img'и , tab'ы и т.п., который будет подставляться в итоговый файл.

Вопрос в том, яндекс и прочие, видят же уже полностью сформированную страницу как и пользователь, с контентом, картинками и видео ?

Не ухудшит ли такой подход в формировании страниц мою выдачу поисковиками ?

Вдруг он (поисковик) как-то видит ПХП до формирования страницы ?

Link to comment
Share on other sites

  • 0
Вдруг он (поисковик) как-то видит ПХП до формирования страницы ?
 

Нет. Он видит тоже самое, что видите во view-source. У Гугла была такая кнопка, которая показывала, как страницу видит бот.

  • Like 1
Link to comment
Share on other sites

  • 0

Есть ли в ПХП что-то подобное GO TO ?

Ибо приходится ставить кучу условий, код разросся сильно.

Например вот:

if	($sorted1 == 'model'){echo '<td class="sort"  style="cursor:pointer" title="Отсортировано по модели (A-Z)"onClick="return sorted(\'model DESC\',\''.$sorted2.'\');"><img src="../images/sort_1.png"></td>';}if	($sorted1 == 'model DESC'){echo '<td class="sort" style="cursor:pointer"  title="Отсортировано по модели (Z-A)" onClick="return sorted(\'\',\''.$sorted2.'\');"><img src="../images/sort_2.png"></td>';}		if	($sorted2 == 'model'){echo '<td class="sort"  style="cursor:pointer" title="Отсортировано по модели (A-Z)"onClick="return sorted(\''.$sorted1.'\',\'model DESC\');"><img src="../images/sort_1.png"></td>';}if	($sorted2 == 'model DESC'){echo '<td class="sort" style="cursor:pointer"  title="Отсортировано по модели (Z-A)" onClick="return sorted(\''.$sorted1.'\',\'\');"><img src="../images/sort_2.png"></td>';}if	($sorted1 == ''){echo '<td class="sort" style="cursor:pointer"  title="Отсортировать по модели" onClick="return sorted(\'model\',\''.$sorted2.'\');"><img src="../images/unsort.png"></td>';}if	($sorted1 <> '' && $sorted1 <> 'model' && $sorted1 <> 'model DESC' && $sorted2 == ''){echo '<td class="sort" style="cursor:pointer"  title="Отсортировать по модели" onClick="return sorted(\''.$sorted1.'\',\'model\');"><img src="../images/unsort.png"></td>';}if	($sorted1 <> '' && $sorted2 <> '' && $sorted1 <> 'model' && $sorted1 <> 'model DESC' && $sorted2 <> 'model' && $sorted2 <> 'model DESC'){echo '<td class="sort" style="cursor:pointer"  title="Отсортировать по модели"><img src="../images/unsort.png"></td>';}

, две последние строчки проверяют то, что было проверено в первых четырёх.

И незачем проверять все строчки, если первое условие истинно, там бы выйти сразу в следующую процедуру и все.

Link to comment
Share on other sites

  • 0

Можете использовать шаблонизатор, либо просто

 

<? if (Условие) { ?>HTML код, который будет отображен, в случае, если условие верное<? } ?>

Так проще воспринимается визуально

Edited by li4e
Link to comment
Share on other sites

  • 0

БЛИН ! Тут автоотправка сообщения по истечении некоторого времени чтоле ?

Я пока писал сообщение про ГОТУ, нашел что оно есть в ПХП. И сделал при помощи его как и хотел.

Сюда заглянул, а тут уже целая дискуссия по этому поводу.

Ну блин и движок у форума.

Link to comment
Share on other sites

  • 0

Тут обнаружилось страшное :( .

Выпадающие списки:

<select class ="rev_sel_akb" name="menu" size="1"><option value="0">0</option></select>

, так вот, в ИЕ, Фаерфоксе есть кнопочка, нажав на которую список раскрывается, а в Хроме её нет.

Манипуляции с -webkit-appearance: button; не помогают.

Link to comment
Share on other sites

  • 0

Подскажите пожалуйста с формами, а именно ...

по нажатию кнопки "Показать", выполняется такая строка:

<form action="reviev_n.html?sorted1=<?php echo $sorted1;?>&sorted2=<?php echo $sorted2;?>" method="post">

т.е. вся инфа (11 переменных) передаётся методом POST, а две других, которые определяются не в данной форме, я прицепил как GET параметры (sorted1,sorted2).

Мне нужно передавать данные не по POST, а по GET. Я меняю метод:

<form action="reviev_n.html?sorted1=<?php echo $sorted1;?>&sorted2=<?php echo $sorted2;?>" method="get">

и теперь две "левые" переменные, которые я прикрутил к адресу руками, не передаются.

Т.е. их просто нет в адресной строке, GET их вырезает.

Подскажите, как их всё таки передать вместе с остальными ?

Спасибо, разобрался:

<input type="hidden" name="sorted1" value="<?php echo $sorted1;?>">
Edited by Kompilator
Link to comment
Share on other sites

  • 0

Вот интересное недоразумение:

<button class="revclrbutt" onClick="return clr('123');">Сбросить</button>

Если данная строка стоит в тексте программы до формы ввода значений, то работает правильно - вызывает функцию clr.

Если эту строчку поставить после тега </form>, то помимо выполнения функции, отрабатывает ещё и это:

<form action="reviev_n.html" method="post">

Тег буттон как-то завязан по умолчанию на форму что ли ?

Link to comment
Share on other sites

  • 0
Не привязан ли обработчик к кнопке где-то в скриптах?
function clr()	{			window.location.href='http://велосвет.рф/reviev_n.html?cena_min=&cena_max=&lumen_min=&lumen_max=&massa_min=&massa_max=&kelvin_min=&kelvin_max=&akb_min=&akb_max=&qi_min=&qi_max=&kol_led_min=&kol_led_max=&sorted1=&sorted2=';	}

Нет, не привязан.

Это кнопка обнуления данных поиска.

Edited by Kompilator
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share


×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy