Перейти к содержимому

Фото
- - - - -

PHP. Считалка кол-ва работ.


  • Вы не можете создать новую тему
  • Please log in to reply
21 ответов в этой теме

#1 iljamiskov

iljamiskov
  • Пользователь
  • 44 сообщений
  • Откуда:Estonia, Tallinn

Отправлено 05 Февраль 2012 - 16:25

Нужна помощь по PHP.

На моем сайте: http://iljamiskov.com/portfolio/ в меню выводится кол-во работ в портфолио. Я это число постоянно при добавлении новых работ меняю вручную.

Хотелось бы узнать, можно ли на PHP реализовать считалку работ? Т.е. каждой работе присвается некая переменная, и PHP скрипт берет все эти переменные, складывает и выводит получившееся число в меню.

Как это сделать?
  • 0
Creative designer from Tallinn
1@iljamiskov.com

#2 Setor

Setor
  • Постоялец
  • 1 890 сообщений
  • Откуда:Эстония, Таллин

Отправлено 05 Февраль 2012 - 16:47

А чего у тебя табличная вёрстка на сайте?

Можно сделать массив работ и автоматом отрисовывать их в портфолио + появится возможность узнать их кол-во. Делается просто. Столько же времени сколько я потратил на печать этого сообщения и просмотр твоего сайта.
  • 0

#3 w00dyy

w00dyy

    sh

  • Постоялец
  • 937 сообщений

Отправлено 05 Февраль 2012 - 17:07

Самый простой вариант:

пропиши в head или отдельный js файл и убери цифру из тега sup

<script>
$(function() {
$('sup').html($('ul.previews div[class=preview]').size());
});
</script>

попробовать напрямую можно из браузера, вбив прямо на сайте

javascript: $('sup').html($('ul.previews div[class=preview]').size() + 100500);

Если PHP то <?=count($array);?> в помощь. (больше подойдет для постраничного листинга)

Сообщение изменено: w00dyy (05 Февраль 2012 - 17:12 )

  • 0

#4 Setor

Setor
  • Постоялец
  • 1 890 сообщений
  • Откуда:Эстония, Таллин

Отправлено 05 Февраль 2012 - 17:41

У него эта цифра на всех страницах сайта, по этому не прокатит.
  • 0

#5 ruslan)

ruslan)
  • Постоялец
  • 1 795 сообщений

Отправлено 05 Февраль 2012 - 18:00

автор ты каждый раз создаешь страничку под новую работу и изменяешь ее код? + добавляешь ее на главную таким же способом?
  • 0

#6 w00dyy

w00dyy

    sh

  • Постоялец
  • 937 сообщений

Отправлено 05 Февраль 2012 - 18:08

У него эта цифра на всех страницах сайта, по этому не прокатит.


тогда так

$.get('/portfolio/',function(data) { $('sup').html($('ul.previews div[class=preview]',data).size()); });

2 кб левого текста per page для такого маленького сайта не беда.
  • 1

#7 iljamiskov

iljamiskov
  • Пользователь
  • 44 сообщений
  • Откуда:Estonia, Tallinn

Отправлено 06 Февраль 2012 - 02:29

w00dyy, Большое спасибо, работает отлично. Мелочь, а приятно :-)

ruslan), Да, именно так.

Setor, А разве табличная верстка является какой-то особенной? Понимаю, не трендово уже, но она работает как надо. А вообще я просто дивами не умею нормально верстать)
  • 0
Creative designer from Tallinn
1@iljamiskov.com

#8 Talk-To-Frank

Talk-To-Frank

    :)

  • Постоялец
  • 1 515 сообщений

Отправлено 06 Февраль 2012 - 12:00

iljamiskov,
поставь сайт на движок
  • 0

j2j


#9 Setor

Setor
  • Постоялец
  • 1 890 сообщений
  • Откуда:Эстония, Таллин

Отправлено 06 Февраль 2012 - 12:02

iljamiskov,
поставь сайт на движок

Думаешь движок сам всё сделает? :) Как говорится, не умеешь - не лезь. Если программирование не является твоей работой, иначе убьёшь вагон времени и сделаешь всё равно не так как планировал. Движок будет всячески препятствовать кастомайзингу сайта.
  • 5

#10 Talk-To-Frank

Talk-To-Frank

    :)

  • Постоялец
  • 1 515 сообщений

Отправлено 06 Февраль 2012 - 12:07

Setor,
что мешает переписать движок?
"не умеешь - не лезь" - это ты правильно сказал
  • -3

j2j


#11 iljamiskov

iljamiskov
  • Пользователь
  • 44 сообщений
  • Откуда:Estonia, Tallinn

Отправлено 08 Февраль 2012 - 09:26

Talk-To-Frank, Он дело говорит. Лучше не лезть в это. Да и движок мало что изменит. Если появится на сайте админка с кнопочкой добавить работу, все равно придется писать для этой работы текст, задавать превьюшки, заливать картинки. Это все намного проще по старинке через FTP делать. Зачем все усложнять?
  • 1
Creative designer from Tallinn
1@iljamiskov.com

#12 iljamiskov

iljamiskov
  • Пользователь
  • 44 сообщений
  • Откуда:Estonia, Tallinn

Отправлено 23 Февраль 2012 - 16:34

Слушайте, а вот как сделать, что бы работало и на поддомене blog.iljamiskov.com? У меня не получилось так сделать.
  • 0
Creative designer from Tallinn
1@iljamiskov.com

#13 Inori

Inori

    Бедный студент

  • Постоялец
  • 1 956 сообщений

Отправлено 23 Февраль 2012 - 16:51

Слушайте, а вот как сделать, что бы работало и на поддомене blog.iljamiskov.com? У меня не получилось так сделать.

По-моему самый простой вариант это обозначить где-то переменную которую вручную инкрементировать и считывать на каждой странице

Ну или тогда полноценный сайт на cms поднимать

Сообщение изменено: Inori (23 Февраль 2012 - 16:52 )

  • 1

#14 Talk-To-Frank

Talk-To-Frank

    :)

  • Постоялец
  • 1 515 сообщений

Отправлено 23 Февраль 2012 - 16:55

Лично я уже не могу работать без CMS
Все эти вложенные папки, прописывание путей и т.д. у меня вызывают стресс
  • 0

j2j


#15 iljamiskov

iljamiskov
  • Пользователь
  • 44 сообщений
  • Откуда:Estonia, Tallinn

Отправлено 24 Февраль 2012 - 20:42

Так а как это сделать? Я же в джаве вообще 0. Что писать, где и как?
  • 0
Creative designer from Tallinn
1@iljamiskov.com

#16 w00dyy

w00dyy

    sh

  • Постоялец
  • 937 сообщений

Отправлено 24 Февраль 2012 - 21:01

нужно чтобы считалка работ работала на поддомене или что?
  • 0

#17 iljamiskov

iljamiskov
  • Пользователь
  • 44 сообщений
  • Откуда:Estonia, Tallinn

Отправлено 25 Февраль 2012 - 06:10

Да.
  • 0
Creative designer from Tallinn
1@iljamiskov.com

#18 w00dyy

w00dyy

    sh

  • Постоялец
  • 937 сообщений

Отправлено 25 Февраль 2012 - 08:08

jquery не поддерживает кросс-доменные запросы. можно это обойти но не помню как (можно попасть на уведомление от браузера что этот сайт не безопасен бла бла бла)
поэтому один из вариантов сделать php файл содержанием

if(isset($_GET['url'])) echo file_get_contents($_GET['url']);

и яваскрипт менять так

$.get('/myphpfile.php',{url: 'http://iljamiskov.com/portfolio'},function(data) { $('sup').html($('ul.previews div[class=preview]',data).size()); });



не проверял работает ли это

Сообщение изменено: w00dyy (25 Февраль 2012 - 08:10 )

  • 0

#19 tot_ra

tot_ra
  • Пользователь
  • 28 сообщений
  • Откуда:Tallinn

Отправлено 27 Февраль 2012 - 00:42

И хорошо что не проверял.. file_get_contents таким элегантным движением превращается в универсальный бэкдор. Я уж не говорю про костыль

Ключевой вопрос - где хранятся сами работы? Тоесть что ты конкретно хочешь считать.. можно ли их считать как число файлов-картинок для описания (судя по всему нет, потому что они из разных папок), или же работы хранятся в БД и добавляются как статьи? Ну и наконец, если это на Эгее от Бирмана и файлы обфускованы.. то врядли там удобно просунуть запрос в БД что-бы посчитать работы.
  • 0
☦ php разработчик

#20 w00dyy

w00dyy

    sh

  • Постоялец
  • 937 сообщений

Отправлено 27 Февраль 2012 - 08:12

И хорошо что не проверял.. file_get_contents таким элегантным движением превращается в универсальный бэкдор. Я уж не говорю про костыль

Ключевой вопрос - где хранятся сами работы? Тоесть что ты конкретно хочешь считать.. можно ли их считать как число файлов-картинок для описания (судя по всему нет, потому что они из разных папок), или же работы хранятся в БД и добавляются как статьи? Ну и наконец, если это на Эгее от Бирмана и файлы обфускованы.. то врядли там удобно просунуть запрос в БД что-бы посчитать работы.

кому оно надо?
  • 0

#21 Setor

Setor
  • Постоялец
  • 1 890 сообщений
  • Откуда:Эстония, Таллин

Отправлено 27 Февраль 2012 - 09:03

кому оно надо?

Вот из-за таких как ты 90% сайтов на PHP подвержены взлому. Используй как минимум basename().

Автору: вы тут на базар потратили больше времени, чем руками обновлять счётчик кол-ва работ в течение следующих 2х лет. Сделай для всех страниц сайта общий header и пропиши там эту цифру руками.
  • 0

#22 w00dyy

w00dyy

    sh

  • Постоялец
  • 937 сообщений

Отправлено 27 Февраль 2012 - 15:29

ааа чорд, забыл что она и из файлов может брать
  • 0