PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (31): « 1 [2] 3 4 5 6 7 8 9 ... » В конец

> Найдено сообщений: 463
Prizma Отправлено: 11 Ноября, 2016 - 15:02:12 • Тема: Перебор массива данных • Форум: Вопросы новичков

Ответов: 9
Просмотров: 402
awotara пишет:
может я что-то сделал не так,

точно что-то не так)
лучше собрать данные в 2 массива..
В первый поместить информацию о категориях
Во второй структуру категорий

В итоге будет что такое:
PHP:
скопировать код в буфер обмена
  1. $ar = [...];
  2. $categories = [];
  3. $structure = [];
  4. // разбираем по массивам
  5. foreach ($ar as $category) {
  6.         $categoryId = $category['id'];
  7.         $parentId = $category['parent_id']
  8.         $categories[$categoryId] = $category;
  9.         if(!isset($structure[$parentId])) {
  10.                 $structure[$parentId] = [];
  11.         }
  12.         $structure[$parentId][] = $categoryId;
  13. }
  14. // вывод
  15. // допустим 0 - это parent_id топ меню
  16. foreach ($structure[0] as $categoryId) {
  17.         $category = $categories[$categoryId];
  18.         // выводим ...
  19.         if(isset($structure[$categoryId])) {
  20.                 foreach ($structure[$categoryId] as $childCategoryId) {
  21.                         $childCategory = $categories[$childCategoryId];
  22.                         // выводим дочернии категории
  23.                 }
  24.         }
  25. }

Я бы лучше делал через рекурсию, особенно актуально если вложенность категорий больше 2.
Prizma Отправлено: 11 Ноября, 2016 - 14:11:50 • Тема: Выпадающий список и таблицы Mysql • Форум: Вопросы новичков

Ответов: 5
Просмотров: 274
SergSKH пишет:
выпадающий список выдел таблицы в бд Mysql

SergSKH пишет:
Нужно как нибудь задействовать элемент select чтобы он предлагал в какую таблицу ввести данные с формы

При формировании страницы option это таблицы в бд?
Так select то и делает что предлагает выбор, в чем проблема не понял?
Prizma Отправлено: 11 Ноября, 2016 - 13:58:59 • Тема: Как седелать выборку из двумерного массива по ключам • Форум: Вопросы новичков

Ответов: 7
Просмотров: 370
1. Можно сначало отобрать нужные значения array_filter
2. А потом создать 2 твоих массива с помощью array_column
Например вот так:
PHP:
скопировать код в буфер обмена
  1.  
  2. $array = [...];
  3. $filterArray = array_filter($array, function($el) {
  4.         return ($el['optA'] == 10) && ($el['optB'] == 1);
  5. });
  6. $optA = array_column($filterArray, 'optA');
  7. $optB = array_column($filterArray, 'optB');
  8.  
Prizma Отправлено: 11 Ноября, 2016 - 13:47:51 • Тема: Перебор массива данных • Форум: Вопросы новичков

Ответов: 9
Просмотров: 402
а как ты эти данные получаешь в этот массив?
если они там просто написаны в коде, тогда просто измени структуру массива на более логичную и на выводе прогоняй через цикл или рекурсию
Prizma Отправлено: 11 Ноября, 2016 - 13:40:27 • Тема: Показ картинок с другого сервера • Форум: Вопросы новичков

Ответов: 7
Просмотров: 487
Itan пишет:
Например, мой сайт abc.ru
Сайт-жертва: xxx.ru

порно сайт что ли?)


из-за таких сайтов, как твой, разместил объявление на авито 3 года назад о продаже авто, срок публикации 30 дней, после продажи через 2 недели убрал... так мне еще 2 года звонили

PS: воруешь контент воруй и фотки, объявление исчезнет фотки тоже могут перестать быть доступными при таком раскладе.

PPS: сайт вредитель... Хм
Prizma Отправлено: 09 Ноября, 2016 - 15:03:59 • Тема: Вывод значений таблицы MySql в виде html таблицы. • Форум: Вопросы новичков

Ответов: 15
Просмотров: 792
LIME пишет:
Я не знаю
А что можно оптимизировать?
Ладно шутю
Я в целом о стиле кодинга
Хотя и алгоритм можно бамнуть(оптимизировать)
А может и нельзя
Я хз
Подумай
(Добавление)
Отвращение вызвал стиль кода
(Добавление)
Всегда надо убирать циклы если возможно
Слышал о сложности алгоритма? Типа о от н
Слышал Улыбка те ты бы смог объяснить лучше? Улыбка
что значит стиль кодинга? я специально убрал лишние { } у if-аов дабы компактнее пример смотрелся, короткие названия от лени, для всех значащих значений очевидные вроде подобрал. Табуляция при копировании сюда уехала, sprintf-ом вывод, что ли оформить надо было или что не так то?)
(Добавление)
Ну да типа второй цикл можно было бы заменить на implode, вот только если данных будет не хватать, тогда пустые строчки кто обрабатывать будет?) все равно парень к циклу второму вернётся...
(Добавление)
может запрос sql не нравится? типа через вторую сортировку ORDER BY height ASC, width ASC ? сразу вывод пилить?)) ну да тогда и циклов не надо дополнительных Улыбка потом шапку нарисовать из отобранных значений через тот же implode и вуаля) Была такая мысль, но всё таки пустые значения... можно так сделать и с ними, но это уже геморно не для себя же делаю, как говорится )) Закатив глазки
Prizma Отправлено: 09 Ноября, 2016 - 00:47:40 • Тема: Вывод значений таблицы MySql в виде html таблицы. • Форум: Вопросы новичков

Ответов: 15
Просмотров: 792
LIME пишет:
Фэйспалм
А если продумать? Как оптимизировать?
это мне?)

я просто подсказал как массив двухмерный составить и привёл пример его вывода, а вот оптимизация это уже пусть через голову пропустит товарищ и сделает по своему Улыбка
(Добавление)
или ты про sql запрос?) что именно вызывает отвращение?)))
(Добавление)
или ты про то, что одного цикла можно избежать, формирую выдачу на уровне получения данных (первого while)?
Prizma Отправлено: 09 Ноября, 2016 - 00:45:33 • Тема: Перенос с поддомена на домен с сохранением позиций в яндексе • Форум: Вопросы новичков

Ответов: 4
Просмотров: 256
LIME пишет:
Ну если уж речь о сертификации то лучше взять услуги консультанта
И...Где ты в роботс файле хост пишешь?
2 хостнейма значит на одном сервере 2 имя принимать
Что не понятно?
(Добавление)
Они понимают куда их послали
Но из-за говнокодеров не особо-этому верят
Потому и можно склеивать
(Добавление)
Но как все в сео это теория

1. в robots.txt пишется директива Host: domen.com (по крайней мере для яндекс бота точно) она указывает, как раз на тот самый ресурс который является основным, если на зеркалах эта директива указана аналогично, тогда указанный там адрес воспринимается как основной, а остальные как зеркала - (и это не мои слова, а рекомендации яндекса https://yandex[dot]ru/support/webmas[dot][dot][dot]ots-txt[dot]xml#host )
2. по поводу 2-ух имен, это само собой, но это и есть зеркала, сервер мы не меняем. Это то понятно. Это первый этап перехода на основной домен. (сначала принимаем оба, когда при помощи base и Host (в robots.txt) яндекс определит основной домен как основной, а не как зеркало, тогда переходим на 301 отключая его)
3. Теории это да Улыбка куда ж без них, алгоритмы то закрыты Недовольство, огорчение

Теоретически для переноса хватит и 301 редиректа )) но вот интересно, что тогда с позициями в поиске будет? теоритически могут и не изменится, а вот практически страшно Улыбка))
Prizma Отправлено: 09 Ноября, 2016 - 00:35:22 • Тема: Вывод значений таблицы MySql в виде html таблицы. • Форум: Вопросы новичков

Ответов: 15
Просмотров: 792
3d_killer пишет:
вы вообще просто ляпнуть не подумав написали? вначале он приложил скрин таблицы
Сказочник пишет:
Друзья, есть таблица в БД MySql в которой есть width, height и price.
хмм, и вправду не внимательно прочитал вопрос

В принципе всё просто ... на 10 минут хлопот, не проверял, но должно работать Улыбка Конечно с учетом, что данные как в таблице на скрине, иначе надо запланированные пропуски вставлять собрать перед выводом все значения width и если в данных какого то значения нет добавлять пустой <td></td> - реализовать проще всего будет третим циклом внутри 2-ого, который будет запускаться при проверке следующего значения width
PHP:
скопировать код в буфер обмена
  1. $db = new PDO($db_driver . ':host=' . $db_host . ';dbname=' . $db_name, $db_user, $db_password, $db_setting);
  2. $sql = 'SELECT `width`, `height`, `price` FROM `table` ORDER BY `width` ASC';
  3. $q = $db->prepare($sql);
  4. $q->execute();
  5. $ar = [];
  6. while($r = $q->fetch(\PDO::FETCH_ASSOC)) {
  7.         $h = $r['height'];
  8.         $w = $r['width'];
  9.         $p = $r['price'];
  10.     if(!isset($ar[$h])) $ar[$h] = [];
  11.         $ar[$h] = [];
  12.         $ar[$h][$w] = $p;
  13. }
  14. uksort($ar, function($a, $b) {
  15.         if($a == $b) return 0;
  16.         return ($a < $b) ? -1 : 1;
  17. });
  18. $re = '';
  19. $head = '<th>ширина</th>';
  20. foreach ($ar as $width => $data) {
  21.         $head = '<th>' . $width . '</th>';
  22.         $write = false;
  23.         $re .= '<tr>';
  24.         foreach ($data as $height => $price) {
  25.                 if(!$write) {
  26.                         $re .= '<th>' . $height . '</th>';
  27.                         $write = true;
  28.                 }
  29.                 $re .= '<td>'.$price.'</td>';
  30.         }
  31.         $re .= '</tr>';
  32. }
  33. echo '<table rules="all" border="1"><tr>'.$head.'</tr><tr><th>высота</th></tr>' . $re . '</table>';
Prizma Отправлено: 09 Ноября, 2016 - 00:09:53 • Тема: Перенос с поддомена на домен с сохранением позиций в яндексе • Форум: Вопросы новичков

Ответов: 4
Просмотров: 256
LIME пишет:
Не спец по сео но совет дам))
Просто сделай два хостнейма на один ресурс

Первый раз такое слышу)) интересно, посмотрим.. Это типа в robots.txt 2 хоста прописать? а то 2 meta base точно думаю нечего не исправит. Как понять сделать 2 хостнейма?))

Но что-то здравый смысл мне подсказывает, что это из разряда с www и без www )) Типа один в итоге станет зеркалом, склеить то склеит - однако всё равно какой то будет зеркалом, а какой то основным. Задача немного другая стоит - надо SSH сертификат делать типа, с поддоменом придётся 2 сертификата брать (дополнительный на поддомен), поэтому хочется сначала с переездом разобраться, а там уже и сертификат делать на основной, после отключения поддомена с полной переадресацией 301 редиректом.
LIME пишет:
Гугл тоже важен

Не сомненно, сейчас статистику не смотрел, но раньше 20-30% трафика в рунете через гугл шли. Хотя учитывая рост адроид девайсов с прошитым гугл поиском ситуация могла поменяться... да и 20-30% не мало.. Тут скорее дело в том, что гугл не так любит наш сайт )) но его тоже будем учитывать

Еще интересную вещь прочитал про 301 и 302 редиректы...
Цитата:
В отличие от пользователей, поисковые системы распознают разные виды редиректов и по-разному их трактуют. Редирект 301 означает, что страница была окончательно перемещена по новому адресу. Редирект 302 означает, что перенос адреса носит временный характер.
Интересно, а поисковики чуствуют эту разницу или им побарабану на какие именно 3 цифры их послали? Радость
Prizma Отправлено: 08 Ноября, 2016 - 23:56:45 • Тема: Сетка изображений • Форум: Вопросы новичков

Ответов: 7
Просмотров: 325
armancho7777777, спасибо то что надо!
Prizma Отправлено: 07 Ноября, 2016 - 21:42:55 • Тема: Вывод значений таблицы MySql в виде html таблицы. • Форум: Вопросы новичков

Ответов: 15
Просмотров: 792
Перекрестные запросы, мб тебе это надо? это про обработку в один запрос...

А по факту данных на одну таблицу если они в разных тогда структуру в студию, запрос помочь составить не сложно, а если грамотно запрос сделан, то и вывод идёт в 2 строчки через цикл и вот вся html таблица из бд.

Какие у вас исходные данные в бд?
Prizma Отправлено: 07 Ноября, 2016 - 17:05:03 • Тема: Сетка изображений • Форум: Вопросы новичков

Ответов: 7
Просмотров: 325
Fart пишет:
Есть готовые решения склеивания на php , но чтобы записывать координаты , дописать придётся скрипт
можешь скинуть? дописать не проблема, надеюсь решение в пределах 10-20 Кб Радость
Prizma Отправлено: 07 Ноября, 2016 - 15:08:54 • Тема: Перенос с поддомена на домен с сохранением позиций в яндексе • Форум: Вопросы новичков

Ответов: 4
Просмотров: 256
Немного нестандартная ситуация:
был сайт на домене: domen.com
потом было принято решение о разработке нового сайта, а разместили его на: new.domen.com
new.domen.com стал успешным сайтом и domen.com отключили и просто сделали 301 редирект с него на главную new.domen.com
Прошло еще несколько лет и возник вопрос, а чего бы new.domen.com не переехать на domen.com
Было это поручено мне и основной задачей является сохранение позиций в яндексе.

Обратился к яндексу и узнал, как они рекомендуют производить эту операцию:
https://yandex[dot]ru/support/webmas[dot][dot][dot]site[dot]xml?lang=ru
Там больше всего меня заинтересовала последняя фраза:
Цитата:
Время склейки зеркал не зависит от выбранного способа указания главного зеркала и занимает, как правило, около месяца.


т.е. для переезда нужно создать зеркало сайта на domen.com, после всех настроек дождаться, когда она станет основным, а уже потом ("около месяца" спустя, когда все ссылочки в поиске поменяют вид new.domen.com на domen.com) устанавливать 301 редирект со страниц старого на страницы нового?
Сами тонкости настройки меня не интересуют, хочется понять правильно ли я понял сам порядок.

Учитывая, что все куки глобальные для домена, даже авторизации слететь не должны. И пользователь не должен почувствовать изменений
Prizma Отправлено: 07 Ноября, 2016 - 14:49:42 • Тема: Сетка изображений • Форум: Вопросы новичков

Ответов: 7
Просмотров: 325
Fart пишет:
тема спрайтов. в jquery уже есть решения - погугли.

есть простенький пример с учетом твоей картинки:

Видимо мой вопрос не правильно поняли...
По поводу примера скажу, что в нём нет смысла т.к. это делается средствами css примерно так:
CODE (html):
скопировать код в буфер обмена
  1. .images{width:16px;height:16px;background-image:url(map.png);}
  2. .im-folder{background-position:0 -16px;}
  3. .im-file{background-position:0 -32px;}

html (pixel.png - однопиксельное прозрачное изображение):
<img src="pixel.png" class="images im-folder">

ВОПРОС В ДРУГОМ:
у меня есть несколько десятков отдельных изображений, на этапе разработки постоянно появляются новые и т.д. Как мне их можно быстро склеивать в единый спрайт, вот в чем вопрос. Может прога есть какая чтоб папку указать, на выходе склеинный спрайт и map.css, потом попиксельно выискивать где какое изображение заканчивается не особо удобно.

Это нужно для оптимизации запросов к серверу... если в шаблоне 50 картинок, то при первой загрузке это 49 лишних запросов, которые можно убрать объединив картинки.

Страниц (31): « 1 [2] 3 4 5 6 7 8 9 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB