|
Языки программирования Изучаем С++, Sql, php, Lua, Python |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
11.05.2011, 20:41 | #1 | |
Ученый
Регистрация: 07.03.2010
Адрес: Беларусь,Брест
Сообщений: 188
Сказал(а) спасибо: 131
Поблагодарили 34 раз(а) в 27 сообщениях
|
Вопрос по функции php
как правильно пишется функция типа :
Цитата:
Целая А = числа от 1 до 20 |
|
11.05.2011, 21:36 | #2 | |
Умный
Регистрация: 07.03.2010
Адрес: Северный Урал (60°сш, 60°вд)
Сообщений: 330
Сказал(а) спасибо: 82
Поблагодарили 399 раз(а) в 120 сообщениях
Записей в дневнике: 30
|
$b,$c всё же переменные или массивы?
Например, массив $с задаём так : Код:
$c = array( 1 => '...', 2 => '...', 3 => '...', 4 => '...', 5 => '...', 6 => '...', 7 => '...', 8 => '...', 9 => '...', 10 => '...', 11 => '...', 12 => '...', 13 => '...', 14 => '...', 15 => '...', 16 => '...', 17 => '...', 18 => '...', 19 => '...', 20 => '...'); Код:
$b[$a] = $c[$a]; ps. (а что, умные книжки про пхп читать "не царское это дело"?) ах да.... среди ночи я сразу и не допер... По условию дано: Цитата:
если же в $с значений больше чем 1-20, то тогда - цикл. Последний раз редактировалось Кот ДаWINчи; 12.05.2011 в 04:28. Причина: добавил мысль. |
|
2 пользователя(ей) сказали cпасибо: | lovepsone (12.05.2011), partizanes (29.06.2011) |
11.05.2011, 21:58 | #3 | ||
Ученый
Регистрация: 07.03.2010
Адрес: Беларусь,Брест
Сообщений: 188
Сказал(а) спасибо: 131
Поблагодарили 34 раз(а) в 27 сообщениях
|
а вот что вышло у меня:
Код:
$value= (1,2,3,4,5,6,7...20); foreach ($integer as $value) {$b[$value]=$c[$value]} если есть проще вариант то предложите либо исправте меня! мне нужно чтобы переменная $value проходила по числам от 1 до 20 (новерное так) то есть вот так Цитата:
Цитата:
Код:
$value= (1,2,3,4,5,6,7...20); foreach ($integer as $value) {$b=$c} функция у меня сама выглядит вот так: Код:
$a = array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,); foreach ($a as $val) { selectDb('lk'); $sql_text = mysql_query ("SELECT text_loc8 FROM text WHERE id=$val"); $write[$val] = mysql_result ($sql_text,0); } Код:
$a = array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,); Код:
$a = array(числа от 1 до 20); Последний раз редактировалось lovepsone; 12.05.2011 в 13:50. |
||
13.05.2011, 07:27 | #4 | |
RMDC Donator
Регистрация: 07.03.2010
Адрес: Россия
Сообщений: 29
Сказал(а) спасибо: 16
Поблагодарили 18 раз(а) в 3 сообщениях
|
Цитата:
1. PHP код:
PHP код:
|
|
Пользователь сказал cпасибо: | lovepsone (13.05.2011) |
13.05.2011, 13:30 | #5 |
Ученый
Регистрация: 07.03.2010
Адрес: Беларусь,Брест
Сообщений: 188
Сказал(а) спасибо: 131
Поблагодарили 34 раз(а) в 27 сообщениях
|
Хм..... Спасибо!
Я как раз начал читать про цикл while получилось вот так: Код:
for ($a = 0; $a++ < 100;) { selectDb('lk'); $sql_text = mysql_query ("SELECT text_loc8 FROM text WHERE id=$a"); $write[$a] = mysql_result ($sql_text,0); } В дальнейшем тему не закрывайте пожалуйсто. Может еще чего спрошу. Последний раз редактировалось lovepsone; 13.05.2011 в 13:40. Причина: Добавил функцию! пусть другие тоже пользуются. |
13.05.2011, 19:22 | #6 | |
Умный
Регистрация: 07.03.2010
Адрес: Северный Урал (60°сш, 60°вд)
Сообщений: 330
Сказал(а) спасибо: 82
Поблагодарили 399 раз(а) в 120 сообщениях
Записей в дневнике: 30
|
Цитата:
не проще ли подготовить один критерий отбора и выполнить ОДИН запрос? Код:
$stroka = "("; for ($a = 0; $a++ < 100;) { $stroka = $stroka.$a; if ($a < 99) $stroka = $stroka.","; else $stroka = $stroka.")"; } selectDb('lk'); $sql_text = mysql_query ("SELECT `text_loc8` FROM `text` WHERE `id` IN $stroka"); и далее разбираем получившийся массив а можно еще хитрее сделать запрос к базе: Код:
$sql_text = mysql_query ("SELECT `text_loc8` FROM `text` WHERE `id` BETWEEN 0 AND 100"); Последний раз редактировалось Кот ДаWINчи; 13.05.2011 в 19:28. |
|
13.05.2011, 22:43 | #7 | |
Гость
Сообщений: n/a
|
Цитата:
PHP код:
|
|
13.05.2011, 13:33 | #8 |
Гость
Сообщений: n/a
|
Код:
$a = array_keys(array_fill(1,20,0)); |
13.05.2011, 18:44 | #9 |
Ученый
Регистрация: 07.03.2010
Адрес: Беларусь,Брест
Сообщений: 188
Сказал(а) спасибо: 131
Поблагодарили 34 раз(а) в 27 сообщениях
|
|
14.05.2011, 08:02 | #10 |
Умный
Регистрация: 07.03.2010
Адрес: Северный Урал (60°сш, 60°вд)
Сообщений: 330
Сказал(а) спасибо: 82
Поблагодарили 399 раз(а) в 120 сообщениях
Записей в дневнике: 30
|
Minimajack, оптимизировать код можно долго... если rtrim сработает быстрее чем все if-ы, то ты прав.
lovepsone, как видно из кода, это разработка мультиязычного интерфейса для сайта (ЛК). Не проще ли сразу забить все данные в один массив и пользоваться, а не напрягать базу этим? |
14.05.2011, 14:28 | #11 | |
Ученый
Регистрация: 07.03.2010
Адрес: Беларусь,Брест
Сообщений: 188
Сказал(а) спасибо: 131
Поблагодарили 34 раз(а) в 27 сообщениях
|
Может и проще! Я не знаю как будет проще. Мне больше нравится работать с базой. Хотя я понимаю что идет нагрузка на базу. Я еще подумаю над этим.Мне кажется что проще и то и другое.
Добавлено через 4 минуты Цитата:
|
|
15.05.2011, 13:20 | #12 |
Умный
Старожил
Регистрация: 06.03.2010
Сообщений: 886
Сказал(а) спасибо: 698
Поблагодарили 433 раз(а) в 181 сообщениях
Записей в дневнике: 4
|
Всё бред Зачем вообще условия, циклы и тримы, если нам всегда нужны данные с номером до 100?
Код:
SELECT `text_loc8` FROM `text` WHERE `id` < 100; |
15.05.2011, 15:09 | #13 |
Ученый
Регистрация: 07.03.2010
Адрес: Беларусь,Брест
Сообщений: 188
Сказал(а) спасибо: 131
Поблагодарили 34 раз(а) в 27 сообщениях
|
а если мне допустим нужно выкинуть какое-то число к примеру 1! как тогда сдесь поступить ??
__________________
sql-language.ru |
15.05.2011, 15:18 | #15 |
Ученый
Регистрация: 07.03.2010
Адрес: Беларусь,Брест
Сообщений: 188
Сказал(а) спасибо: 131
Поблагодарили 34 раз(а) в 27 сообщениях
|
Мда.... мне еще учиться и учиться.
__________________
sql-language.ru |
15.05.2011, 18:36 | #16 |
Ученый
Регистрация: 17.05.2010
Сообщений: 148
Сказал(а) спасибо: 18
Поблагодарили 25 раз(а) в 22 сообщениях
|
Ну или если несколько выкинуть.
Код:
SELECT `text_loc8` FROM `text` WHERE `id` < 100 AND `id` NOT IN(1,5,6) ; |
Пользователь сказал cпасибо: |
20.05.2011, 23:42 | #17 |
Ученый
Регистрация: 07.03.2010
Адрес: Беларусь,Брест
Сообщений: 188
Сказал(а) спасибо: 131
Поблагодарили 34 раз(а) в 27 сообщениях
|
возможно реализовать такую фишку:
Код:
if (условия) { ждать три секунды }
__________________
sql-language.ru |
29.06.2011, 15:06 | #19 |
Ученый
Регистрация: 07.03.2010
Адрес: Беларусь,Брест
Сообщений: 188
Сказал(а) спасибо: 131
Поблагодарили 34 раз(а) в 27 сообщениях
|
Люди помогите в какую сторону копать.
Хочу написать скрипт который будет выполнять sql запрос каждый день
__________________
sql-language.ru |
29.06.2011, 15:32 | #20 |
Администратор
|
На винде в сторону планировщика задач, иначе в сторону cron.
|
3 пользователя(ей) сказали cпасибо: |
29.06.2011, 16:28 | #21 |
Умный
Регистрация: 07.03.2010
Адрес: Северный Урал (60°сш, 60°вд)
Сообщений: 330
Сказал(а) спасибо: 82
Поблагодарили 399 раз(а) в 120 сообщениях
Записей в дневнике: 30
|
на хостинге - cron
на виндовом сервере - планировщик заданий ------------------------ под виндой можно еще свою утилитку написать на дельфи, которая будет работать как планировщик заданий. |
29.06.2011, 21:31 | #22 |
Гость
Сообщений: n/a
|
windows http://www.nncron.ru/index_ru.shtml
linux cron |
11.08.2011, 00:09 | #23 |
Ученый
Регистрация: 19.12.2010
Сообщений: 221
Сказал(а) спасибо: 64
Поблагодарили 12 раз(а) в 9 сообщениях
Записей в дневнике: 2
|
Есть такая проблема. Имеется енум с некоторыми значениями. Имеется абстрактный класс и туча наследуемых от него. Имена наследуемых классов совпадают с именами из енума. Можно ли как-то создавать объект нужного класса, используя значение числа из нкоторой переменной. Насколько я помню в шарпе это позволяла какая-то функция активатора, а есть ли аналог для php?
|
11.08.2011, 00:25 | #24 |
Гость
Сообщений: n/a
|
давайте начнем с того, что в пхп нет енумов...
если вы имеете в виду массив имен переменных(классов) - то как то так: Код:
$myclass = $myenum [$var]; $mynewclass = $myclass(); Последний раз редактировалось Minimajack; 11.08.2011 в 00:26. Причина: уточнил |
11.08.2011, 00:51 | #25 |
Ученый
Регистрация: 19.12.2010
Сообщений: 221
Сказал(а) спасибо: 64
Поблагодарили 12 раз(а) в 9 сообщениях
Записей в дневнике: 2
|
Ладно, тогда дефайнов. Я хочу что-то в духе:
Код:
defined(CLASS_1, 0); class CLASS_1 { ...}; $object = GetClass(CLASS_1); пардон за синтаксис, пишу с телефона. |
11.08.2011, 00:59 | #26 |
Гость
Сообщений: n/a
|
только если
Код:
define(CLASS_1, "CLASS_1"); function GetClass($name){ return $name() } зы имхо если вы этого хотите у вас явно проблемы с архитектурой приложения Последний раз редактировалось Minimajack; 11.08.2011 в 01:04. |
Пользователь сказал cпасибо: | HuntsMan (12.08.2011) |
03.12.2011, 12:05 | #27 |
Ученый
Регистрация: 07.03.2010
Адрес: Беларусь,Брест
Сообщений: 188
Сказал(а) спасибо: 131
Поблагодарили 34 раз(а) в 27 сообщениях
|
Привет всем! Далее я обучаюсь в пхп и пишу свой движок и наткнулся на одну проблему, суть ее ниже постараюсь объяснить:
пример: В базе в mysql у меня содержится ссылка Код:
modul=settings Когда я перехожу на сайте по ссылке Код:
/index.php?modul=settings То есть у меня должна быть проверка с помощью $GET. Но в базе mysql может содержаться не одна ссылка а несколько ссылок в одно поле к примеру вот так Код:
modul=settings/r/nmodul=forum/r/n Жду хоть какой то помощи. (Сверху был пример, а у меня в движке дело обстоит так: У меня содержатся панели (по середине, справа, и слева) и все они вызываются в одном файле index.php и показываются на всех страницах сайта, а мне нужно что бы они показывались не на всех,а показывались на тех которые не находятся в базе) Есть идеи как такое реализовать ???
__________________
sql-language.ru |
03.12.2011, 16:13 | #29 |
Ученый
Регистрация: 07.03.2010
Адрес: Беларусь,Брест
Сообщений: 188
Сказал(а) спасибо: 131
Поблагодарили 34 раз(а) в 27 сообщениях
|
да так и есть!
Я когда только начинал разбираться в пхп, то такую фишку видел на каком то движке но не помню!
__________________
sql-language.ru |
03.12.2011, 16:44 | #30 |
Умный
Регистрация: 07.03.2010
Адрес: Северный Урал (60°сш, 60°вд)
Сообщений: 330
Сказал(а) спасибо: 82
Поблагодарили 399 раз(а) в 120 сообщениях
Записей в дневнике: 30
|
это ни есть айс. Это бред ужасный.... Это как при помощи пулемета с полным боезапасом убивать врагов, тупо махая им, как дубиной.
|
Пользователь сказал cпасибо: | tempura (04.12.2011) |
03.12.2011, 16:53 | #31 |
Ученый
Регистрация: 07.03.2010
Адрес: Беларусь,Брест
Сообщений: 188
Сказал(а) спасибо: 131
Поблагодарили 34 раз(а) в 27 сообщениях
|
ну а как бы вы посоветовали ???
хотя почему не айс???? если с базы доставать и заносить в массив с помощью explode()! разбивая ссылки и удаляя символы /r/n! Вроде как гуд! но я не могу придумать как отловить ссылку, если бы было к примеру обычная ссылка! index.php/nodule/и т.д то было бы проще! А у меня как в вашем ACP сделано, то есть есть модульность! Просто мне пока не хватает знаний, а может я велосипед изобретаю!
__________________
sql-language.ru Последний раз редактировалось lovepsone; 03.12.2011 в 16:59. |
03.12.2011, 20:25 | #32 |
Умный
Регистрация: 07.03.2010
Адрес: Северный Урал (60°сш, 60°вд)
Сообщений: 330
Сказал(а) спасибо: 82
Поблагодарили 399 раз(а) в 120 сообщениях
Записей в дневнике: 30
|
под каждую ссылку свою запись - вот решение проблемы.
Но без структуры таблиц о чем то серьезном говорить "не с руки". |
Пользователь сказал cпасибо: | tempura (04.12.2011) |
03.12.2011, 20:32 | #33 |
Ученый
Регистрация: 07.03.2010
Адрес: Беларусь,Брест
Сообщений: 188
Сказал(а) спасибо: 131
Поблагодарили 34 раз(а) в 27 сообщениях
|
CREATE TABLE `wcf_settings` (
`settings_name` varchar(200) collate utf8_unicode_ci NOT NULL default '', `settings_value` text collate utf8_unicode_ci NOT NULL, PRIMARY KEY (`settings_name`)
__________________
sql-language.ru |
03.12.2011, 22:44 | #35 |
YTDB Dev
Регистрация: 01.02.2010
Сообщений: 288
Сказал(а) спасибо: 125
Поблагодарили 97 раз(а) в 53 сообщениях
|
Зато влезет вся хрень.
|
03.12.2011, 22:58 | #36 |
RMDC Donator
Регистрация: 07.03.2010
Адрес: Россия
Сообщений: 29
Сказал(а) спасибо: 16
Поблагодарили 18 раз(а) в 3 сообщениях
|
Ну про explode() ты прав, а дальше остаётся разбивать и разбивать
Код:
$stroki = explode("/r/n", "modul=settings/r/nmodul=forum/r/n"); foreach ($stroki as $stroka) { if (empty($stroka)) break; $arr = explode("=", $stroka); if ($arr[1] == 'settings') { // тут что-то с настройками } elseif ($arr[1] == 'forum') { // тут что-то с форумом } } |
04.12.2011, 09:00 | #37 |
Умный
Регистрация: 07.03.2010
Адрес: Северный Урал (60°сш, 60°вд)
Сообщений: 330
Сказал(а) спасибо: 82
Поблагодарили 399 раз(а) в 120 сообщениях
Записей в дневнике: 30
|
тогда для размышления выдам такую ситуацию:
Вам нужно заменить один модуль на другой. в поле 20 ссылок, а меняем ... ну например 11-ю... т.е. скрипту надо считать это поле разбить на 20 ссылок , заменить 11-ю далее собрать поле обратно и сохранить в базе. еще одна ситуация: У модуля в параметрах ссылки хранится значение содержащее "/r/n" ... Так что, для нормальной работы лучше избегать такие многоссылочные поля. |
Пользователь сказал cпасибо: | tempura (04.12.2011) |
04.12.2011, 09:09 | #38 | |
Forum bot
Регистрация: 01.02.2010
Адрес: пусто
Сообщений: 841
Сказал(а) спасибо: 286
Поблагодарили 418 раз(а) в 190 сообщениях
Записей в дневнике: 60
|
Извините за слайтли оффтопик, но словами сантехника пришедшего в обком: "тут всю систему менять надо".
1. Невозможно писать систему безграмотно. Не существует слова "modul". Чуток поднатаскаешься в "инглишском изыке", глаз резать начнет, опечатываться сам же будешь. А пакетная замена уже может и не прокатить, так как вполне возможно, что появятся всякие "modul_n" или там "n_modul". 2. Ссылки вида "mysite.ru/index.php?modul=settings" - полный отстой. Крайне рекомендуется в движок сразу закладывать обработку ссылок в формат "mysite.ru/settings/" - причем без использования реврайта, все в РНР делать. 3. Выше уже упоминали, что Цитата:
Короче, либо я чего-то не понимаю, либо я вообще ничего не понимаю.
__________________
Совершенно безопасен для людей, обладающих хотя бы некоторыми минимальными зачатками интеллекта, и способными строить причинно-следственные цепочки. |
|
3 пользователя(ей) сказали cпасибо: | MaxXx2021 (04.12.2011), Кот ДаWINчи (04.12.2011) |
07.12.2011, 22:09 | #39 | |
Гость
Сообщений: n/a
|
Цитата:
Все равно без реврайта не обойтись (редиректить на главный скрипт все равно необходимо - 3 строки htaccess), а все остальное обязательно уже пхп ( так называемый роутинг - и очень желательно хранить "это" не в базе) Со всем остальным согласен полностью |
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вопрос по LOS | BloodWarrior | Новичкам | 4 | 23.04.2011 06:03 |
Overhead в базовой функции SendPacket() | xex | Отвергнутые патчи | 19 | 26.03.2011 12:47 |
Вопрос по git | impylse | Новичкам | 2 | 23.09.2010 07:58 |
Вопрос по SQL. | Omg | Новичкам | 24 | 21.07.2010 23:29 |
вопрос | sparky | Новичкам | 4 | 19.03.2010 16:28 |