Forum Webscript.Ru
Программирование => PHP => Тема начата: Dex от 12 Августа 2005, 18:38:33
-
Знания пхп мои поверхностны и возникла такая проблема которую никак не могу решить...
Есть небольшая функция:
function Identify_query_id()
{
global $conn,$part_url;
$sql = "SELECT * FROM cid_content WHERE query_id = \'$part_url[0]\' LIMIT 1";
$result = mysql_query($sql);
$i="0"; // Создаем массив чтобы данные из запроса были доступны вне while list
while(list($title) = mysql_fetch_array($result)) {
$show_title[$i] = $title;
$i++;
echo $show_title[0];
}
echo $show_title[0];
return($show_title[0]);
}
Все работает! При вызове самой функции Identify_query_id(); ?> 2 раза echo выводит $show_title[0] это для проверки надо...
...но как я понимаю зта конструкция return($show_title[0]); должна делать доступной значение переменной вне функции, но сразу же после кода Identify_query_id(); echo $show_title[0]; ?> не выводится значение $show_title[0];...
Спасибо за помощь, сорри если сумбурно все изложил
-
возможно что надо
=Identify_query_id(); ?>
-
Хм-м, да, это сработало, но как я понимаю, чтобы получить переменную надо выполнить функцию и так каждый раз, мне бы хотелось, чтобы выполнив один раз функцию, можно было брать значение $show_title[0].
И как быть если надо несколько переменных вытащить из функции?
-
Dex
вытащить массив, например
-
ThE0ReTiC
Но как?
Функция которая что-то делает()
{
...
return($var1,$var2);
}
но после выполнения echo $var1[0]; не работает...
-
Можно просто пример рабочий?
-
Dex:
я понимаю зта конструкция return($show_title[0]); должна делать доступной значение переменной вне функции
это заблуждение.
эта конструкция заставляет функцию ВЕРНУТЬ значение.
Dex:
Но как?
у тебя есть этот массив?
Если есть - его и возвращай.
если нету - то тогда тебе и не нужно массив возвращать, чудик
-
Да. Можно на примере плз или просто схематично... на личности не переходим
-
ЧТО ТЕБЕ на примере?
как вернуть массив? он у тебя есть?
-
Выполняется функция в самом начале. (Достаются значения из бд.)
Не могу дальше в коде использовать эти значения, (простое echo $var_form_mysql) ничего не возвращает.
Я непонятно объясняю что мне надо? Перефразировать как-то надо?
В начале сделал поправку на мои знания, прошу это учесть, спасибо.
-
окей, массив тебе уже не нужен.уже хорошо.
Dex:
$result = mysql_query($sql);
скажи, почему ты пишешь вот так
а не просто
mysql_query($sql); ?
-
а потом "простое echo $result" ,а?
-
скажи, почему ты пишешь вот так
а не просто
mysql_query($sql); ?
Но это ведь не суть вопроса? Просто этой конструкцией привык доставать значения из mysql.
Весь вопрос не как в конкретной функции вывести значения и работать с ними, это не вызывает проблем. Но надо в других местах кода использовать их, при этом воспользовавшись всего одним вызовом данной функции.
-
Dex:
Но это ведь не суть вопроса?
ты ошибаешься
это суть вопроса.
Dex:
Просто этой конструкцией привык доставать значения из mysql.
а у тебя есть другие варианты?
-
впрочем, если ты привык делать так - то почему не делаешь?
-
RomikChef
Давай от кода отойдем тогда. Есть:
функция() {
Достаем значение из бд;
Получаем его;
$show_title; // вот переменная
}
Выполняем данную функцию один раз. Далее разные куски кода и как в них использовать $show_title и не вызывая при этом повторно функция()?
-
http://www.php.net/manual/ru/functions.returning-values.php