Jump to content
  • 0

Вопросы по PHP.


Kompilator
 Share

Question

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

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

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

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

Link to comment
Share on other sites

Recommended Posts

  • 0

Не корректно посылать в гугл, особенно как лентяя, Потрудитесь отвечать за свои слова сами. Либо давайте конкретную ссылку, либо опишите проблему сами.

 

Я под виндой таких проблем ни разу не встречал (правда я уже 300 лет как не использую сборки, ставлю родное).

только не юзайте пдо с localhost, юзайте с 127.0.0.1 если на винде.

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

  • Like 1
Link to comment
Share on other sites

  • 0
правда я уже 300 лет как не использую сборки, ставлю родное

+1 , в какой-то момент понимаешь что вырос из сборок, и что поставить все путем даже проще =) Да и зачастую всякие баги вылазят именно в сборках, а не в чистом софте.

Link to comment
Share on other sites

  • 0

За винду отвечать не могу, так как пользоваться виндой для разработки —себя не уважать. Но в нормальных операционках localhost подключает через сокет, что убирает дополнительную прослойку в виде tcp.

Link to comment
Share on other sites

  • 0

За винду отвечать не могу, так как пользоваться виндой для разработки —себя не уважать. Но в нормальных операционках localhost подключает через сокет, что убирает дополнительную прослойку в виде tcp.

Если бы я отвечал только за backend - не вопрос. Но держать кучу виртуалок для тестов и для фотошопа, тут уж извините. Дома могу себе позволить, но на работе ещё ни один работодатель мне не ставил такие машины, где после этого с комфортом я бы смог продолжать работать. Под вайном фотошоп не предлагать, пробовали проходили, спасибо.

Сейчас иногда до курьёзного доходит: чтоб потестить сайт в разных ie или под макосью в сафари, приходится конектиться на домашний компьютер по RDP, а там уже запускать разные виртуалки :)

Link to comment
Share on other sites

  • 0

 

За винду отвечать не могу, так как пользоваться виндой для разработки —себя не уважать. Но в нормальных операционках localhost подключает через сокет, что убирает дополнительную прослойку в виде tcp.

Если бы я отвечал только за backend - не вопрос. Но держать кучу виртуалок для тестов и для фотошопа, тут уж извините. Дома могу себе позволить, но на работе ещё ни один работодатель мне не ставил такие машины, где после этого с комфортом я бы смог продолжать работать. Под вайном фотошоп не предлагать, пробовали проходили, спасибо.

Сейчас иногда до курьёзного доходит: чтоб потестить сайт в разных ie или под макосью в сафари, приходится конектиться на домашний компьютер по RDP, а там уже запускать разные виртуалки :)

 

Посмотрите этот скрипт.

Link to comment
Share on other sites

  • 0

Если бы я отвечал только за backend - не вопрос. Но держать кучу виртуалок для тестов и для фотошопа, тут уж извините. Дома могу себе позволить, но на работе ещё ни один работодатель мне не ставил такие машины, где после этого с комфортом я бы смог продолжать работать. Под вайном фотошоп не предлагать, пробовали проходили, спасибо.

 

Сейчас иногда до курьёзного доходит: чтоб потестить сайт в разных ie или под макосью в сафари, приходится конектиться на домашний компьютер по RDP, а там уже запускать разные виртуалки :)

 

Посмотрите этот скрипт.

 

Прикольно, конечно, но я не понял как это сможет мне помочь?

P.S. Что-то мы не по теме топика уж начинаем. Думаю если вам есть, что сказать: либо личку, либо во тему создть.

Link to comment
Share on other sites

  • 0
Если бы я отвечал только за backend - не вопрос. Но держать кучу виртуалок для тестов и для фотошопа, тут уж извините. Дома могу себе позволить, но на работе ещё ни один работодатель мне не ставил такие машины, где после этого с комфортом я бы смог продолжать работать. Под вайном фотошоп не предлагать, пробовали проходили, спасибо. Сейчас иногда до курьёзного доходит: чтоб потестить сайт в разных ie или под макосью в сафари, приходится конектиться на домашний компьютер по RDP, а там уже запускать разные виртуалки

Мак + параллелс = очень удобно всё. 

Link to comment
Share on other sites

  • 0

Снова здравствуйте.

Посоветуйте как лучше реализовать такую тему - есть 10 пунктов меню, нажимая на каждый, под ним раскрывается подменю с 5-10 подпунктов, нажимая на подпункт получаем фото продукта и характеристики.

Все данные для пунктов меню и хар-ки продукта берутся из БД.

Чую, что PHP тут мне не помощник .... , наверное JS ?

Link to comment
Share on other sites

  • 0
Чую, что PHP тут мне не помощник .... , наверное JS ?

PHP — серверный язык, он может получить данные из БД, JS — нет. С другой стороны на JS можно сделать браузерные скрипты, а на PHP — нельзя. 

Link to comment
Share on other sites

  • 0

С меню определился, будет сделано как тут - http://jemand.ru/examples/vertikalnoe-vypadayushhee-menyu-cssjs-onclick.html.

Т.к. пунктов меню обещает быть много, их надо убрать в окошечко с вертикальной прокруткой, как тут - http://fonarik.com/test/.

Как бы реализовать это окошечко ?

UPD. Наверное это оно - http://htmlbook.ru/css/overflow?

Edited by Kompilator
Link to comment
Share on other sites

  • 0

Вот еще назрел вопросик.

Везде пишут - "\n\r" или "\n" переводит каретку на новую строку в формируемом HTML файле.

Вот кусочек:

echo '</ul></li>\n\r';	

, в HTML коде получается:

</ul></li>\n\r

т.е. не переводит на новую.

Как быть ?

 

Link to comment
Share on other sites

  • 0

Везде пишут - "\n\r" или "\n" переводит каретку на новую строку в формируемом HTML файле.

не пишут.

т.е. не переводит на новую. Как быть ?

 

добавить <br> заместо \n\r, или прописать списку display:block


\n и \r и прочие вещи работают только в двойных кавычках.

в html хоть какие перевода строки не будет =)

Link to comment
Share on other sites

  • 0
\n и \r и прочие вещи работают только в двойных кавычках.

Ура ! С двойными работает, большое спасибо !


только непонятно, зачем вам в данном коде это делать?

HTML код так смотрится аккуратнее, с переносами.

Его хоть и не видно, но люблю чтобы и внутри было красиво.


добавить < br > заместо \n\r, или прописать списку display:block

Если <БР>, то перевод строки будет в отображаемом браузером тексте, но я уже разобрался, вернее мне помогли.

Link to comment
Share on other sites

  • 0

Чтот не пойму. Как в переменную сессии записать моё значение при нажатии на ссылку ? ПХП же уже отработал. Получается надо методом GET прицепить к ссылке значение, и только в следующей странице затолкать в сессию ? — На эту страницу могут зайти и без этого значения, вообще без всяких значений. Но в начале получается надо сделать в ПХП проверку, передаётся GET-ом чего нибудь, если нет, то выводим как новому пользователю, а если есть модель устройства, то пишем её в сессию и работаем дальше ?

Edited by Kompilator
Link to comment
Share on other sites

  • 0

вообще, что сессия, что кукки, что отдача заголовков - все это делается нужно делать, до момента отдачи контента в браузер... 
 

GET-ом чего нибудь, если нет, то выводим как новому пользователю, а если есть модель устройства, то пишем её в сессию и работаем дальше ?

да

Link to comment
Share on other sites

  • 0

вообще, что сессия, что кукки, что отдача заголовков - все это делается, до момента отдачи контента в браузер... 

Куки передаются в заголовках, а сессии хранят свой ID в куках :) Вообще, сначала передаются заголовки, потом разделитель ("\n\n"), а потом ответ.

Link to comment
Share on other sites

  • 0
Куки передаются в заголовках, а сессии хранят свой ID в куках Вообще, сначала передаются заголовки, потом разделитель ("\n\n"), а потом ответ.

спасибо, кэп ))

подкорректировал пост, чтобы правильно интерпретировали

Link to comment
Share on other sites

  • 0

 

Куки передаются в заголовках, а сессии хранят свой ID в куках Вообще, сначала передаются заголовки, потом разделитель ("\n\n"), а потом ответ.

спасибо, кэп ))

подкорректировал пост, чтобы правильно интерпретировали

 

Почему вы считаете, что это для всех очевидная вещь?

Link to comment
Share on other sites

  • 0

Вот теперь какая незадача приключилась со мной.

Отлаживал я в фаерфоксе свои сессии, всё запоминает (id - число), но стоило мне открыть для проверке эту же страницу в хроме, потом в IE, потом в яндекс браузере, ан сессии то и перестали работать.

Код такой:

<?php	$arr_factory = array();		session_start();			$idleft = ($_GET['idleft']);	$idright = ($_GET['idright']);		if ($idleft == '')		{$idleft = $_SESSION['left_id'];}		else		{$_SESSION['left_id'] = $idleft;}			if ($idright == '')		{$idright = $_SESSION['right_id'];}		else		{$_SESSION['right_id'] = $idright;}

, сначала проверяю приходят ли через GET значения, если они пустуют (или одно из них), то оно берётся из сессии, если же приходит, то в сессию записывается.

 

Обнаружил интересную вещь когда стал этим примером из статьи проверять:

<?php  		session_start(); 		if (!isset($_SESSION['counter'])) $_SESSION['counter']=0;		echo "Вы обновили эту страницу ".$_SESSION['counter']++." раз. ";		echo "<br><a href=".$_SERVER['PHP_SELF'].">обновить"; ?>   

Этот пример везде работает и после него, о чудо !, начинают и мои сессии запоминаться.

Что я делаю не так ?

Вот моя страница - http://велосвет.рф/compare.html

, нужно в левом и правом окошке выбрать фирму, раскроется список, там кликнуть на модели фары, произойдёт переход на эту же страницу с параметром в ГЕТ, и приведённый первым код начинает его обрабатывать.

Т.е. таблица посередине отображает характеристики фары из левого окошка (2-я колонка таблицы), и из правого окошка (3-я колонка).

Выбрав в левой, видим данные в таблице, выбрав в правой, первые данные не должны исчезать, а должно быть 2 колонки с характеристиками.

Edited by Kompilator
Link to comment
Share on other sites

  • 0

может я вам Америку открою, но для каждого браузера сессия - своя и она как уже сказали выше хранит свой id в куках браузера и это скажу я вам абсолютно нормальное поведение.

вы же можете зайти в вконтакт, или одноклассники, или фэйсбук с разных браузеров одновременно? можете! и что в этом криминального?

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