[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как в функции вызвать функцию или...
razoramus
В общем така штука, у меня есть функция для соединения с базой данных перед доктайпом соответственно, там же я пишу функцию выборки из БД и в ней хотел сделать так:


sql();

а тут сам запрос

mysql_close();


Чтобы потом в коде просто функцию запустить и всё, и красивее выглядит. Конечно такого рода запросов будет несколько, и я вот чё подумал, может как то сделать можно круче, кто дасть дельный совет?!

Я делаю так, главный индексный файл там все пхп запро, выботки и т.д. а в папке с шаблоном сделат индекный как на подобии в мамбе что то вроди этого.



Спустя 6 минут, 51 секунда (15.05.2012 - 14:31) Ramzil_Nixon написал(а):
function ramz(a, b, c) // Сама функция.
{
z = a + b + c;
echo z;
}

// Запрос на функцию
ramz(5, 10, 16); // Обращаемся к функции.

Спустя 48 минут (15.05.2012 - 15:19) razoramus написал(а):
Цитата (Ramzil_Nixon @ 15.05.2012 - 10:31)
function ramz(a, b, c) // Сама функция.
{
    z = a + b + c;
    echo z;
}

// Запрос на функцию
ramz(5, 10, 16); // Обращаемся к функции.

Это не то, как писать и выводить функцию я знаю, но мне надо типо так:

function rara(a, b, c) // Сама функция.
{
sql(5, 10, 16);

z = a + b + c;
echo z;
}

// Запрос на функцию
rara(5, 10, 16); // Обращаемся к функции.


Чтобы В[color=red][/color] функции вызвать функцию, я ж описал в теме, что тут не понятного.

Спустя 12 минут, 39 секунд (15.05.2012 - 15:32) Renden написал(а):
razoramus
Ниче не понял, из функции функция вызывается также как и обычно...

function a($v) {
return 2 / $v;
}

function b($v) {
return 2 * $v;
}

function c($v) {
return a(4) + b(5) * $v;
}

echo c(20);

Спустя 42 минуты, 38 секунд (15.05.2012 - 16:14) razoramus написал(а):
:blink: написал же, у меня есть функция соединения с БД
function sql(...){...}

и есть функция запросы на выборку данных
function query(...){...}

Мне надо чтобы не писать потом так

sql(...); //Подключаюсь к базе
query(...); //Выбираю данные
mysql_close(); //закрываю соединение

а чтобы в самой функции query была функци sql, для того чтобы я написал так
query(...); //Выбираю данные

И в нём уже были готовые выбранные данные, то есть подключение к базе, выборка и закрытие соединения.

Когда я вызываю функцию соединения в функции выбора данных и вызываю уже где надо функцию query(...); то мне выдаёт ошибку.

Можно ли так делать? :ph34r:

Спустя 1 час, 29 минут, 27 секунд (15.05.2012 - 17:44) olegod написал(а):
Ну нужна функция проверки подключения, чтобы если оно уже есть не делать напрасных попыток...

Спустя 2 часа, 3 минуты, 11 секунд (15.05.2012 - 19:47) Invis1ble написал(а):
function a() {}
function b() {
a();
}
b();

Спустя 2 часа, 53 минуты, 39 секунд (15.05.2012 - 22:41) Kuliev написал(а):
razoramus
интересно что у Вас в функции

function sql(...){...}


Может лучше использовать одну Вашу функцию

function query(...){...}


передавая ей в качестве аргумента SQL запрос

$sql = "SELECT * FROM `tbl`";

function query($sql){...}


Спустя 14 часов, 41 минута, 19 секунд (16.05.2012 - 13:22) razoramus написал(а):
Цитата (Invis1ble @ 15.05.2012 - 15:47)
function a() {}
function b() {
a();
}
b();

Да вот пробывал, чтот не робит

Спустя 2 минуты, 32 секунды (16.05.2012 - 13:25) Invis1ble написал(а):
Цитата
чтот не робит

очень информативно.
тогда поправь вон тот кусок кода, там ошибка.

Спустя 28 минут, 39 секунд (16.05.2012 - 13:53) razoramus написал(а):
Цитата (razoramus @ 16.05.2012 - 09:22)
тогда поправь вон тот кусок кода, там ошибка.

Остроумно wink.gif Намёк понял, но я уже не помню какая ошибка была, я сделал первым способом и не стал заморачиваться сам и заморачивать других. А то есть тут некоторые, кторые пишут не то о чём просят.

ps: просил хлеба, получил колбасу.

Спустя 5 минут, 1 секунда (16.05.2012 - 13:58) Gabriel написал(а):
Цитата
ps: просил хлеба, получил колбасу.

дайте мне 2 хлеба )

Спустя 4 часа, 35 минут, 12 секунд (16.05.2012 - 18:33) dron4ik написал(а):
Рекурсия нужна?
function a(){ a(); }
a();
Так?

Спустя 1 день, 6 часов, 40 минут, 40 секунд (18.05.2012 - 01:14) dron4ik написал(а):
я понял
connect(){}

query($a){
connect()
манипуляция с $a
}

$sql="select"
query($sql)

Спустя 12 часов, 58 минут, 10 секунд (18.05.2012 - 14:12) ИНСИ написал(а):
Пишу с айпада, поэтому буду краток по твоей теме : global()

Спустя 1 час, 21 минута, 35 секунд (18.05.2012 - 15:34) vital написал(а):
Цитата (ИНСИ @ 18.05.2012 - 12:12)
Пишу с айпада, поэтому буду краток по твоей теме : global()

Ваще не в тему. Если вы про функцию global().

А если про ключевое слово global..

А вообще ТС созрел узнать про классы.

Спустя 4 минуты, 22 секунды (18.05.2012 - 15:38) Invis1ble написал(а):
не созрел, он в соседнем топике не может кодировку выставить по-человечески

Спустя 2 часа, 53 секунды (18.05.2012 - 17:39) razoramus написал(а):
Invis1ble Кодировка была выставлена как надо и не надо "ля-ля". У меня даже на данный момент файл сохранённый в utf-8 после проверки через notepad++ оказывается в ANSI, и даже если его обратно преобразовываешь в utf и сохраняешь, то при новом перепроверке опять же через notepad то кодирвка обратно возвращается в ANSI. Ну ка, Знаток Invis1ble, скажи ка мне такому "нубу" почему и как исправить, а?

Спустя 2 минуты, 23 секунды (18.05.2012 - 17:41) razoramus написал(а):
Цитата (vital @ 18.05.2012 - 11:34)
Цитата (ИНСИ @ 18.05.2012 - 12:12)
Пишу с айпада, поэтому буду краток по твоей теме : global()

Ваще не в тему. Если вы про функцию global().

А если про ключевое слово global..

А вообще ТС созрел узнать про классы.

Я немного из "специаолист'а" смотрел про классы, и не особо воспринял их, по этому отложит на полочку. А про зоны видимости, ты имеешь ввиду глобальную зону выставив будет работать?

Спустя 19 часов, 37 минут, 59 секунд (19.05.2012 - 13:19) ИНСИ написал(а):
Цитата
Ваще не в тему. Если вы про функцию global().

Объяснять с айпада было крайне сложно. Поэтому и написал, что краток.

Цитата
А про зоны видимости, ты имеешь ввиду глобальную зону выставив будет работать?

Нет. Читай тут: http://php.su/learnphp/phpoo/

global поможет использовать методы классов в своих функциях. К примеру делаешь класс для работы с базой данных (переносишь свою функцию), объявляешь ее глобальной (global) в функции, в которой собираешься использовать класс и вуаля, все работает :)

К примеру сам класс для работы с БД:
class sql
{
function __construct() {
// подключаемся к базе данных
}

function query($query = '') {
return $query;
}
}

Инициализируем класс, чтобы можно было использовать его:
$sql = new sql();

Функция, в которой используем класс:
function show() {

global $sql;

echo $sql->query('SELECT * FROM `table`');
}

Запускаем функцию:
show();

Так ты сможешь подключаться к БД с других функций своих.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.