Ru-MaNGOS

Вернуться   Ru-MaNGOS > Документация > Языки программирования

Важная информация

Языки программирования Изучаем С++, Sql, php, Lua, Python

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 11.05.2011, 20:41   #1
lovepsone
Ученый
 
Регистрация: 07.03.2010
Адрес: Беларусь,Брест
Сообщений: 188
Сказал(а) спасибо: 131
Поблагодарили 34 раз(а) в 27 сообщениях
lovepsone Хрен знает что...lovepsone Хрен знает что...
По умолчанию Вопрос по функции php

как правильно пишется функция типа :
Цитата:
для каждого (целого числа А) установить b(целая А) = с(целая А)
Где b,с -переменные
Целая А = числа от 1 до 20
lovepsone вне форума   Ответить с цитированием
Старый 11.05.2011, 21:36   #2
Кот ДаWINчи
Умный
 
Аватар для Кот ДаWINчи
 
Регистрация: 07.03.2010
Адрес: Северный Урал (60°сш, 60°вд)
Сообщений: 330
Сказал(а) спасибо: 82
Поблагодарили 399 раз(а) в 120 сообщениях
Записей в дневнике: 30
Кот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человек
Отправить сообщение для Кот ДаWINчи с помощью ICQ Отправить сообщение для Кот ДаWINчи с помощью Skype™
По умолчанию

Цитата:
Сообщение от lovepsone Посмотреть сообщение
Где b,с -переменные
$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 тогда получает значения :

Код:
$b[$a] = $c[$a];
если нужно пройти по всему массиву - используй цикл.


ps. (а что, умные книжки про пхп читать "не царское это дело"?)


ах да.... среди ночи я сразу и не допер...
По условию дано:
Цитата:
для каждого (целого числа А) установить b(целая А) = с(целая А)
тогда $b = $c ... и этого будет достаточно. Умный пхп перенесет все значения из массива в массив $b

если же в значений больше чем 1-20, то тогда - цикл.

Последний раз редактировалось Кот ДаWINчи; 12.05.2011 в 04:28. Причина: добавил мысль.
Кот ДаWINчи вне форума   Ответить с цитированием
2 пользователя(ей) сказали cпасибо:
lovepsone (12.05.2011), partizanes (29.06.2011)
Старый 11.05.2011, 21:58   #3
lovepsone
Ученый
 
Регистрация: 07.03.2010
Адрес: Беларусь,Брест
Сообщений: 188
Сказал(а) спасибо: 131
Поблагодарили 34 раз(а) в 27 сообщениях
lovepsone Хрен знает что...lovepsone Хрен знает что...
По умолчанию

а вот что вышло у меня:
Код:
$value= (1,2,3,4,5,6,7...20);
foreach ($integer as $value) {$b[$value]=$c[$value]}
я не так уж давно ізучаю пхп и хочу разобраться с функциями
если есть проще вариант то предложите либо исправте меня!
мне нужно чтобы переменная $value проходила по числам от 1 до 20 (новерное так)
то есть вот так
Цитата:
для каждого (целого числа А(от 1 до 20)) установить b(целая А) = с(целая А)
Цитата:
Сообщение от Кот ДаWINчи Посмотреть сообщение

тогда $b = $c ... и этого будет достаточно. Умный пхп перенесет все значения из массива в массив $b

если же в значений больше чем 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);
Спасибо Кот ДаWINчи за направленный путь!

Последний раз редактировалось lovepsone; 12.05.2011 в 13:50.
lovepsone вне форума   Ответить с цитированием
Старый 13.05.2011, 07:27   #4
Nordway
RMDC Donator
 
Регистрация: 07.03.2010
Адрес: Россия
Сообщений: 29
Сказал(а) спасибо: 16
Поблагодарили 18 раз(а) в 3 сообщениях
Nordway На верном пути
По умолчанию

Цитата:
Сообщение от lovepsone Посмотреть сообщение
Было бы круто если вот эту строку заменить
Код:
$a = array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,);
на типа
Код:
$a = array(числа от 1 до 20);
Может быть так:
1.
PHP код:
$a 0;
while (
$a 20)
{
    
$a++;
    
/* работаем с переменной $a */

2.
PHP код:
for ($a 0$a++ < 20;)
{
    
/* работаем с переменной $a */

Nordway вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
lovepsone (13.05.2011)
Старый 13.05.2011, 13:30   #5
lovepsone
Ученый
 
Регистрация: 07.03.2010
Адрес: Беларусь,Брест
Сообщений: 188
Сказал(а) спасибо: 131
Поблагодарили 34 раз(а) в 27 сообщениях
lovepsone Хрен знает что...lovepsone Хрен знает что...
По умолчанию

Хм..... Спасибо!
Я как раз начал читать про цикл 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. Причина: Добавил функцию! пусть другие тоже пользуются.
lovepsone вне форума   Ответить с цитированием
Старый 13.05.2011, 13:33   #6
Minimajack
Гость
 
Сообщений: n/a
По умолчанию

Код:
$a = array_keys(array_fill(1,20,0));
  Ответить с цитированием
Старый 13.05.2011, 18:44   #7
lovepsone
Ученый
 
Регистрация: 07.03.2010
Адрес: Беларусь,Брест
Сообщений: 188
Сказал(а) спасибо: 131
Поблагодарили 34 раз(а) в 27 сообщениях
lovepsone Хрен знает что...lovepsone Хрен знает что...
По умолчанию

Цитата:
Сообщение от Minimajack Посмотреть сообщение
Код:
$a = array_keys(array_fill(1,20,0));
как то я до этого не додумался! Мне кажется что тут выбор уже по вкусу. Каждый по своему делает.
lovepsone вне форума   Ответить с цитированием
Старый 13.05.2011, 19:22   #8
Кот ДаWINчи
Умный
 
Аватар для Кот ДаWINчи
 
Регистрация: 07.03.2010
Адрес: Северный Урал (60°сш, 60°вд)
Сообщений: 330
Сказал(а) спасибо: 82
Поблагодарили 399 раз(а) в 120 сообщениях
Записей в дневнике: 30
Кот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человек
Отправить сообщение для Кот ДаWINчи с помощью ICQ Отправить сообщение для Кот ДаWINчи с помощью Skype™
По умолчанию

Цитата:
Сообщение от lovepsone Посмотреть сообщение
Хм..... Спасибо!
Я как раз начал читать про цикл 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);  
		}

В дальнейшем тему не закрывайте пожалуйсто. Может еще чего спрошу.
сколько, сколько там будет запросов к базе?

не проще ли подготовить один критерий отбора и выполнить ОДИН запрос?

Код:
     $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");
  
и далее разбираем получившийся массив
Не стоит так напрягать MYSQL ...

а можно еще хитрее сделать запрос к базе:

Код:
$sql_text = mysql_query ("SELECT `text_loc8` FROM `text` WHERE `id` BETWEEN 0 AND 100");

Последний раз редактировалось Кот ДаWINчи; 13.05.2011 в 19:28.
Кот ДаWINчи вне форума   Ответить с цитированием
2 пользователя(ей) сказали cпасибо:
KiriX (13.05.2011), lovepsone (14.05.2011)
Старый 13.05.2011, 22:43   #9
Minimajack
Гость
 
Сообщений: n/a
По умолчанию

Цитата:
Сообщение от Кот ДаWINчи Посмотреть сообщение
сколько, сколько там будет запросов к базе?
не проще ли подготовить один критерий отбора и выполнить ОДИН запрос?
Код:
     $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");
  
и далее разбираем получившийся массив
Не стоит так напрягать MYSQL ...

а можно еще хитрее сделать запрос к базе:

Код:
$sql_text = mysql_query ("SELECT `text_loc8` FROM `text` WHERE `id` BETWEEN 0 AND 100");
первый вариант лучше так:

PHP код:
    $stroka "(";    
     for (
$a 0$a++ < 100;){
       
$stroka .= $a.',';
    }
    
$stroka rtrim($stroka',').')';
    
selectDb('lk');
    
$sql_text mysql_query ("SELECT `text_loc8` FROM `text` WHERE `id` IN $stroka"); 
  Ответить с цитированием
Старый 14.05.2011, 08:02   #10
Кот ДаWINчи
Умный
 
Аватар для Кот ДаWINчи
 
Регистрация: 07.03.2010
Адрес: Северный Урал (60°сш, 60°вд)
Сообщений: 330
Сказал(а) спасибо: 82
Поблагодарили 399 раз(а) в 120 сообщениях
Записей в дневнике: 30
Кот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человек
Отправить сообщение для Кот ДаWINчи с помощью ICQ Отправить сообщение для Кот ДаWINчи с помощью Skype™
По умолчанию

Minimajack, оптимизировать код можно долго... если rtrim сработает быстрее чем все if-ы, то ты прав.

lovepsone, как видно из кода, это разработка мультиязычного интерфейса для сайта (ЛК). Не проще ли сразу забить все данные в один массив и пользоваться, а не напрягать базу этим?
Кот ДаWINчи вне форума   Ответить с цитированием
Старый 14.05.2011, 14:28   #11
lovepsone
Ученый
 
Регистрация: 07.03.2010
Адрес: Беларусь,Брест
Сообщений: 188
Сказал(а) спасибо: 131
Поблагодарили 34 раз(а) в 27 сообщениях
lovepsone Хрен знает что...lovepsone Хрен знает что...
По умолчанию

Может и проще! Я не знаю как будет проще. Мне больше нравится работать с базой. Хотя я понимаю что идет нагрузка на базу. Я еще подумаю над этим.Мне кажется что проще и то и другое.

Добавлено через 4 минуты
Цитата:
Сообщение от Кот ДаWINчи Посмотреть сообщение
сколько, сколько там будет запросов к базе?

не проще ли подготовить один критерий отбора и выполнить ОДИН запрос?

Код:
     $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");
  
и далее разбираем получившийся массив
Не стоит так напрягать MYSQL ...

а можно еще хитрее сделать запрос к базе:

Код:
$sql_text = mysql_query ("SELECT `text_loc8` FROM `text` WHERE `id` BETWEEN 0 AND 100");
Хм.... мне это более нравиться решение. Я использую его. спасибо.
lovepsone вне форума   Ответить с цитированием
Старый 15.05.2011, 13:20   #12
KiriX
Умный
Старожил
 
Аватар для KiriX
 
Регистрация: 06.03.2010
Сообщений: 886
Сказал(а) спасибо: 698
Поблагодарили 433 раз(а) в 181 сообщениях
Записей в дневнике: 4
KiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человекKiriX Реально хороший человек
По умолчанию

Всё бред Зачем вообще условия, циклы и тримы, если нам всегда нужны данные с номером до 100?
Код:
SELECT `text_loc8` FROM `text` WHERE `id` < 100;
Если нужен диапазон - "больше-меньше" все знают как задать и тогда очень хорош вариант с битвином.
KiriX вне форума   Ответить с цитированием
Старый 15.05.2011, 15:09   #13
lovepsone
Ученый
 
Регистрация: 07.03.2010
Адрес: Беларусь,Брест
Сообщений: 188
Сказал(а) спасибо: 131
Поблагодарили 34 раз(а) в 27 сообщениях
lovepsone Хрен знает что...lovepsone Хрен знает что...
По умолчанию

а если мне допустим нужно выкинуть какое-то число к примеру 1! как тогда сдесь поступить ??
__________________
sql-language.ru
lovepsone вне форума   Ответить с цитированием
Старый 15.05.2011, 15:15   #14
Lordronn
Умный
 
Регистрация: 17.06.2010
Сообщений: 397
Сказал(а) спасибо: 58
Поблагодарили 55 раз(а) в 38 сообщениях
Lordronn Скоро придёт к известности
По умолчанию

Код:
SELECT `text_loc8` FROM `text` WHERE `id` < 100 AND `id` != 1;
Lordronn вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
lovepsone (15.05.2011)
Старый 15.05.2011, 15:18   #15
lovepsone
Ученый
 
Регистрация: 07.03.2010
Адрес: Беларусь,Брест
Сообщений: 188
Сказал(а) спасибо: 131
Поблагодарили 34 раз(а) в 27 сообщениях
lovepsone Хрен знает что...lovepsone Хрен знает что...
По умолчанию

Мда.... мне еще учиться и учиться.
__________________
sql-language.ru
lovepsone вне форума   Ответить с цитированием
Старый 15.05.2011, 18:36   #16
alien
Ученый
 
Регистрация: 17.05.2010
Сообщений: 148
Сказал(а) спасибо: 18
Поблагодарили 25 раз(а) в 22 сообщениях
alien На верном пути
По умолчанию

Ну или если несколько выкинуть.
Код:
SELECT `text_loc8` FROM `text` WHERE `id` < 100 AND `id` NOT IN(1,5,6) ;
alien вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
Старый 20.05.2011, 23:42   #17
lovepsone
Ученый
 
Регистрация: 07.03.2010
Адрес: Беларусь,Брест
Сообщений: 188
Сказал(а) спасибо: 131
Поблагодарили 34 раз(а) в 27 сообщениях
lovepsone Хрен знает что...lovepsone Хрен знает что...
По умолчанию

возможно реализовать такую фишку:
Код:
if (условия)
{
ждать три секунды
}
__________________
sql-language.ru
lovepsone вне форума   Ответить с цитированием
Старый 20.05.2011, 23:53   #18
Minimajack
Гость
 
Сообщений: n/a
По умолчанию

http://php.net/manual/en/function.sleep.php
  Ответить с цитированием
Пользователь сказал cпасибо:
lovepsone (21.05.2011)
Старый 29.06.2011, 15:06   #19
lovepsone
Ученый
 
Регистрация: 07.03.2010
Адрес: Беларусь,Брест
Сообщений: 188
Сказал(а) спасибо: 131
Поблагодарили 34 раз(а) в 27 сообщениях
lovepsone Хрен знает что...lovepsone Хрен знает что...
По умолчанию

Люди помогите в какую сторону копать.
Хочу написать скрипт который будет выполнять sql запрос каждый день
__________________
sql-language.ru
lovepsone вне форума   Ответить с цитированием
Старый 29.06.2011, 15:32   #20
virusav
Администратор
 
Аватар для virusav
 
Регистрация: 19.02.2010
Сообщений: 492
Сказал(а) спасибо: 55
Поблагодарили 341 раз(а) в 154 сообщениях
virusav Реально хороший человекvirusav Реально хороший человекvirusav Реально хороший человекvirusav Реально хороший человек
Отправить сообщение для virusav с помощью ICQ
По умолчанию

На винде в сторону планировщика задач, иначе в сторону cron.
virusav вне форума   Ответить с цитированием
3 пользователя(ей) сказали cпасибо:
KiriX (29.06.2011), lovepsone (29.06.2011), Кот ДаWINчи (29.06.2011)
Старый 29.06.2011, 16:28   #21
Кот ДаWINчи
Умный
 
Аватар для Кот ДаWINчи
 
Регистрация: 07.03.2010
Адрес: Северный Урал (60°сш, 60°вд)
Сообщений: 330
Сказал(а) спасибо: 82
Поблагодарили 399 раз(а) в 120 сообщениях
Записей в дневнике: 30
Кот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человек
Отправить сообщение для Кот ДаWINчи с помощью ICQ Отправить сообщение для Кот ДаWINчи с помощью Skype™
По умолчанию

на хостинге - cron

на виндовом сервере - планировщик заданий

------------------------
под виндой можно еще свою утилитку написать на дельфи, которая будет работать как планировщик заданий.
Кот ДаWINчи вне форума   Ответить с цитированием
Старый 29.06.2011, 21:31   #22
Minimajack
Гость
 
Сообщений: n/a
По умолчанию

windows http://www.nncron.ru/index_ru.shtml
linux cron
  Ответить с цитированием
Старый 11.08.2011, 00:09   #23
HuntsMan
Ученый
 
Аватар для HuntsMan
 
Регистрация: 19.12.2010
Сообщений: 221
Сказал(а) спасибо: 64
Поблагодарили 12 раз(а) в 9 сообщениях
Записей в дневнике: 2
HuntsMan На верном пути
По умолчанию

Есть такая проблема. Имеется енум с некоторыми значениями. Имеется абстрактный класс и туча наследуемых от него. Имена наследуемых классов совпадают с именами из енума. Можно ли как-то создавать объект нужного класса, используя значение числа из нкоторой переменной. Насколько я помню в шарпе это позволяла какая-то функция активатора, а есть ли аналог для php?
HuntsMan вне форума   Ответить с цитированием
Старый 11.08.2011, 00:25   #24
Minimajack
Гость
 
Сообщений: n/a
По умолчанию

давайте начнем с того, что в пхп нет енумов...
если вы имеете в виду массив имен переменных(классов) - то как то так:
Код:
$myclass = $myenum [$var];
$mynewclass = $myclass();

Последний раз редактировалось Minimajack; 11.08.2011 в 00:26. Причина: уточнил
  Ответить с цитированием
Старый 11.08.2011, 00:51   #25
HuntsMan
Ученый
 
Аватар для HuntsMan
 
Регистрация: 19.12.2010
Сообщений: 221
Сказал(а) спасибо: 64
Поблагодарили 12 раз(а) в 9 сообщениях
Записей в дневнике: 2
HuntsMan На верном пути
По умолчанию

Ладно, тогда дефайнов. Я хочу что-то в духе:

Код:
defined(CLASS_1, 0);
class CLASS_1 { ...};
$object = GetClass(CLASS_1);
При это геткласс не возвращает объект из массива, а создает новый соотв класса.

пардон за синтаксис, пишу с телефона.
HuntsMan вне форума   Ответить с цитированием
Старый 11.08.2011, 00:59   #26
Minimajack
Гость
 
Сообщений: 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
lovepsone
Ученый
 
Регистрация: 07.03.2010
Адрес: Беларусь,Брест
Сообщений: 188
Сказал(а) спасибо: 131
Поблагодарили 34 раз(а) в 27 сообщениях
lovepsone Хрен знает что...lovepsone Хрен знает что...
По умолчанию

Привет всем! Далее я обучаюсь в пхп и пишу свой движок и наткнулся на одну проблему, суть ее ниже постараюсь объяснить:
пример:
В базе в mysql у меня содержится ссылка
Код:
modul=settings
.
Когда я перехожу на сайте по ссылке
Код:
/index.php?modul=settings
у меня должен загрузиться пхп-файл с помощью команды require_once
То есть у меня должна быть проверка с помощью $GET.
Но в базе mysql может содержаться не одна ссылка а несколько ссылок в одно поле к примеру вот так
Код:
modul=settings/r/nmodul=forum/r/n
То есть функция должна отловить ссылку и проверить есть ли такая ссылка в базе mysql. Если есть то возвращаем значение иначе не возвращаем.
Жду хоть какой то помощи.
(Сверху был пример, а у меня в движке дело обстоит так: У меня содержатся панели (по середине, справа, и слева) и все они вызываются в одном файле index.php и показываются на всех страницах сайта, а мне нужно что бы они показывались не на всех,а показывались на тех которые не находятся в базе)
Есть идеи как такое реализовать ???
__________________
sql-language.ru
lovepsone вне форума   Ответить с цитированием
Старый 03.12.2011, 16:09   #28
Кот ДаWINчи
Умный
 
Аватар для Кот ДаWINчи
 
Регистрация: 07.03.2010
Адрес: Северный Урал (60°сш, 60°вд)
Сообщений: 330
Сказал(а) спасибо: 82
Поблагодарили 399 раз(а) в 120 сообщениях
Записей в дневнике: 30
Кот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человек
Отправить сообщение для Кот ДаWINчи с помощью ICQ Отправить сообщение для Кот ДаWINчи с помощью Skype™
По умолчанию

третий код говорит о том, что ссылки свалены в одно поле!?
Кот ДаWINчи вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
tempura (04.12.2011)
Старый 03.12.2011, 16:13   #29
lovepsone
Ученый
 
Регистрация: 07.03.2010
Адрес: Беларусь,Брест
Сообщений: 188
Сказал(а) спасибо: 131
Поблагодарили 34 раз(а) в 27 сообщениях
lovepsone Хрен знает что...lovepsone Хрен знает что...
По умолчанию

Цитата:
Сообщение от Кот ДаWINчи Посмотреть сообщение
третий код говорит о том, что ссылки свалены в одно поле!?
да так и есть!
Я когда только начинал разбираться в пхп, то такую фишку видел на каком то движке но не помню!
__________________
sql-language.ru
lovepsone вне форума   Ответить с цитированием
Старый 03.12.2011, 16:44   #30
Кот ДаWINчи
Умный
 
Аватар для Кот ДаWINчи
 
Регистрация: 07.03.2010
Адрес: Северный Урал (60°сш, 60°вд)
Сообщений: 330
Сказал(а) спасибо: 82
Поблагодарили 399 раз(а) в 120 сообщениях
Записей в дневнике: 30
Кот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человек
Отправить сообщение для Кот ДаWINчи с помощью ICQ Отправить сообщение для Кот ДаWINчи с помощью Skype™
По умолчанию

это ни есть айс. Это бред ужасный.... Это как при помощи пулемета с полным боезапасом убивать врагов, тупо махая им, как дубиной.
Кот ДаWINчи вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
tempura (04.12.2011)
Старый 03.12.2011, 16:53   #31
lovepsone
Ученый
 
Регистрация: 07.03.2010
Адрес: Беларусь,Брест
Сообщений: 188
Сказал(а) спасибо: 131
Поблагодарили 34 раз(а) в 27 сообщениях
lovepsone Хрен знает что...lovepsone Хрен знает что...
По умолчанию

ну а как бы вы посоветовали ???
хотя почему не айс???? если с базы доставать и заносить в массив с помощью explode()! разбивая ссылки и удаляя символы /r/n! Вроде как гуд! но я не могу придумать как отловить ссылку, если бы было к примеру обычная ссылка! index.php/nodule/и т.д то было бы проще! А у меня как в вашем ACP сделано, то есть есть модульность! Просто мне пока не хватает знаний, а может я велосипед изобретаю!
__________________
sql-language.ru

Последний раз редактировалось lovepsone; 03.12.2011 в 16:59.
lovepsone вне форума   Ответить с цитированием
Старый 03.12.2011, 20:25   #32
Кот ДаWINчи
Умный
 
Аватар для Кот ДаWINчи
 
Регистрация: 07.03.2010
Адрес: Северный Урал (60°сш, 60°вд)
Сообщений: 330
Сказал(а) спасибо: 82
Поблагодарили 399 раз(а) в 120 сообщениях
Записей в дневнике: 30
Кот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человек
Отправить сообщение для Кот ДаWINчи с помощью ICQ Отправить сообщение для Кот ДаWINчи с помощью Skype™
По умолчанию

под каждую ссылку свою запись - вот решение проблемы.

Но без структуры таблиц о чем то серьезном говорить "не с руки".
Кот ДаWINчи вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
tempura (04.12.2011)
Старый 03.12.2011, 20:32   #33
lovepsone
Ученый
 
Регистрация: 07.03.2010
Адрес: Беларусь,Брест
Сообщений: 188
Сказал(а) спасибо: 131
Поблагодарили 34 раз(а) в 27 сообщениях
lovepsone Хрен знает что...lovepsone Хрен знает что...
По умолчанию

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
lovepsone вне форума   Ответить с цитированием
Старый 03.12.2011, 20:43   #34
Кот ДаWINчи
Умный
 
Аватар для Кот ДаWINчи
 
Регистрация: 07.03.2010
Адрес: Северный Урал (60°сш, 60°вд)
Сообщений: 330
Сказал(а) спасибо: 82
Поблагодарили 399 раз(а) в 120 сообщениях
Записей в дневнике: 30
Кот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человек
Отправить сообщение для Кот ДаWINчи с помощью ICQ Отправить сообщение для Кот ДаWINчи с помощью Skype™
По умолчанию

ключевое поле длиной 200 символов? Ужас...
Кот ДаWINчи вне форума   Ответить с цитированием
Старый 03.12.2011, 22:44   #35
YuruY
YTDB Dev
 
Аватар для YuruY
 
Регистрация: 01.02.2010
Сообщений: 288
Сказал(а) спасибо: 125
Поблагодарили 97 раз(а) в 53 сообщениях
YuruY Скоро придёт к известностиYuruY Скоро придёт к известности
По умолчанию

Зато влезет вся хрень.
__________________
http://ytdb.ru/
http://svn2.assembla.com/svn/ytdbase/
YuruY вне форума   Ответить с цитированием
Старый 03.12.2011, 22:58   #36
Nordway
RMDC Donator
 
Регистрация: 07.03.2010
Адрес: Россия
Сообщений: 29
Сказал(а) спасибо: 16
Поблагодарили 18 раз(а) в 3 сообщениях
Nordway На верном пути
По умолчанию

Ну про 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') {
        // тут что-то с форумом
    }
}
Если modul много будет, можно через switch ... case сделать
Nordway вне форума   Ответить с цитированием
Старый 04.12.2011, 09:00   #37
Кот ДаWINчи
Умный
 
Аватар для Кот ДаWINчи
 
Регистрация: 07.03.2010
Адрес: Северный Урал (60°сш, 60°вд)
Сообщений: 330
Сказал(а) спасибо: 82
Поблагодарили 399 раз(а) в 120 сообщениях
Записей в дневнике: 30
Кот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человекКот ДаWINчи Реально хороший человек
Отправить сообщение для Кот ДаWINчи с помощью ICQ Отправить сообщение для Кот ДаWINчи с помощью Skype™
По умолчанию

тогда для размышления выдам такую ситуацию:

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

еще одна ситуация:

У модуля в параметрах ссылки хранится значение содержащее "/r/n" ...

Так что, для нормальной работы лучше избегать такие многоссылочные поля.
Кот ДаWINчи вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
tempura (04.12.2011)
Старый 04.12.2011, 09:09   #38
tempura
Forum bot
 
Аватар для tempura
 
Регистрация: 01.02.2010
Адрес: пусто
Сообщений: 841
Сказал(а) спасибо: 286
Поблагодарили 418 раз(а) в 190 сообщениях
Записей в дневнике: 60
tempura отключил(а) отображение уровня репутации
По умолчанию

Извините за слайтли оффтопик, но словами сантехника пришедшего в обком: "тут всю систему менять надо".
1. Невозможно писать систему безграмотно. Не существует слова "modul". Чуток поднатаскаешься в "инглишском изыке", глаз резать начнет, опечатываться сам же будешь. А пакетная замена уже может и не прокатить, так как вполне возможно, что появятся всякие "modul_n" или там "n_modul".
2. Ссылки вида "mysite.ru/index.php?modul=settings" - полный отстой. Крайне рекомендуется в движок сразу закладывать обработку ссылок в формат "mysite.ru/settings/" - причем без использования реврайта, все в РНР делать.
3. Выше уже упоминали, что
Цитата:
если с базы доставать и заносить в массив с помощью explode()! разбивая ссылки и удаляя символы /r/n! Вроде как гуд!
это совсем не гуд, а вовсе даже и бед. И бред. На какого хрена делать (помянем старый мангос) аналог поля "data"? Зафига в одно поле вводить пицод ссылок, при чтении разбивать их там куда-то зачем-то, рисковать из-за одного неверного знака все грохнуть напрочь, и в итоге даже и самому перестать разбираться в формате записи в этом поле - просто позабыв через пару месяцев принцип его формирования? одна строка - одно значение, и не хрена городить. Надо массив сделать - всю таблицу сгрызть.

Короче, либо я чего-то не понимаю, либо я вообще ничего не понимаю.
__________________
Совершенно безопасен для людей, обладающих хотя бы некоторыми минимальными зачатками интеллекта, и способными строить причинно-следственные цепочки.
tempura вне форума   Ответить с цитированием
3 пользователя(ей) сказали cпасибо:
MaxXx2021 (04.12.2011), Кот ДаWINчи (04.12.2011)
Старый 07.12.2011, 22:09   #39
Minimajack
Гость
 
Сообщений: n/a
По умолчанию

Цитата:
Сообщение от tempura Посмотреть сообщение
Крайне рекомендуется в движок сразу закладывать обработку ссылок в формат "mysite.ru/settings/" - причем без использования реврайта, все в РНР делать.
Уточнение, могут неправильно понять :
Все равно без реврайта не обойтись (редиректить на главный скрипт все равно необходимо - 3 строки htaccess), а все остальное обязательно уже пхп ( так называемый роутинг - и очень желательно хранить "это" не в базе)
Со всем остальным согласен полностью
  Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по 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


Текущее время: 11:28. Часовой пояс GMT +3.


ru-mangos.ru - Русское сообщество MaNGOS
Главная цель проекта MaNGOS - обучающая, поэтому разрешается использовать исходный код и собранную программу только для образовательных целей.
Вы не можете использовать MaNGOS в коммерческих целях, а также не разрешается устанавливать публичные серверы на базе MaNGOS.
Любое копирование материалов, информации в любом виде без указания источника - форума Ru-MaNGOS будет считаться нарушением авторских прав и нарушением Уголовного Кодекса РФ, ст. 146 ст. 147.
Перевод vBulletin: zCarot