[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Один скрипт, разные базы...
avengerweb
Возник такой вопрос.
У меня есть 4разные базы данных. Из каждой мне нужно вынести значения ввожу я их скриптом. В чем сам вопрос скрипт объемный и копировать его 4раза изменяя только название базы данных в нем как то не очень красиво... Как мне реализовать так чтобы был только 1скрипт?



Спустя 4 минуты, 39 секунд (13.02.2012 - 15:59) TranceIT написал(а):
Делаем функцию и в параметрах передаем название базы.

Спустя 19 минут, 50 секунд (13.02.2012 - 16:19) avengerweb написал(а):
Можно на примере, вот у меня
include ("./conf/config.php");
$connection = mysql_connect($host,$user,$pass) or die(mysql_error());
mysql_select_db($dbc) or die(mysql_error());
$plro = @mysql_num_rows(mysql_query("SELECT NULL FROM `characters` WHERE `online`='1'"));


Я делаю
function status () 
{
include ("./conf/config.php");
$connection = mysql_connect($host,$user,$pass) or die(mysql_error());
mysql_select_db($dbc) or die(mysql_error());
$plro = @mysql_num_rows(mysql_query("SELECT NULL FROM `characters` WHERE `online`='1'"));
};


Не могу понять... Разжуйте

Спустя 8 минут, 55 секунд (13.02.2012 - 16:28) TranceIT написал(а):
function status ($db_array) {
include ("./conf/config.php");
foreach($db_array as $db_name){
$connection = mysql_connect($host,$user,$pass) or die(mysql_error());
mysql_select_db($db_name) or die(mysql_error());
$plro = @mysql_num_rows(mysql_query("SELECT NULL FROM `characters` WHERE `online`='1'"));
mysql_close($connection);
}
}


$db_array = array('base1', 'base2', 'base3', ...);

status($db_array);

Спустя 11 минут, 34 секунды (13.02.2012 - 16:40) avengerweb написал(а):
А как их теперь выводить?

Спустя 21 минута, 33 секунды (13.02.2012 - 17:01) TranceIT написал(а):
Получаемые знвчения в массив и его возвращать из функции.

Спустя 19 минут, 51 секунда (13.02.2012 - 17:21) avengerweb написал(а):
Кодом пожалуйста подкрепи.

Спустя 4 минуты, 38 секунд (13.02.2012 - 17:26) TranceIT написал(а):
Цитата (avengerweb @ 13.02.2012 - 14:21)
Кодом пожалуйста подкрепи.

А вы меня копеечкой. Я бесплатно работать не нанимался.

Спустя 10 минут, 10 секунд (13.02.2012 - 17:36) avengerweb написал(а):
Пожалуйста

Спустя 2 минуты, 22 секунды (13.02.2012 - 17:38) avengerweb написал(а):
Вам это как три пальца об асфальт...

Спустя 8 минут, 14 секунд (13.02.2012 - 17:47) TranceIT написал(а):
Цитата (avengerweb @ 13.02.2012 - 14:38)
Вам это как три пальца об асфальт...

Не умеете пользовательские функции создавать, будьте любезны оплатить работу того, кто умеет.
Как говорит папа моего знакомого: "Любая работа должна быть оплачена. Тарелкой борща, деньгами, услугой или другим способом."

Я не бюро добрых услуг.

Спустя 9 минут, 48 секунд (13.02.2012 - 17:56) nugle написал(а):
TranceIT
полностью поддерживаю

avengerweb
http://irbis-team.com/15/1/4
почитай что такое ф-ии, потом вернись сюда и попробуй сам разобраться в коде

Спустя 28 минут, 6 секунд (13.02.2012 - 18:24) avengerweb написал(а):
Спасибо за ссылку)

Спустя 42 минуты, 16 секунд (13.02.2012 - 19:07) avengerweb написал(а):
Все равно вывести ту которую нужно... Вылезают сразу все или не вылезают вообще.

Спустя 56 секунд (13.02.2012 - 19:08) nugle написал(а):
avengerweb
покажи как пробуешь

Спустя 6 минут, 26 секунд (13.02.2012 - 19:14) avengerweb написал(а):
echo $plro - выводит все значения
echo $plro['charactersx100'] - не выводит не чего

Спустя 50 секунд (13.02.2012 - 19:15) avengerweb написал(а):
еще кучу вариантов пробовал, спасите нубка(((

Спустя 5 минут, 1 секунда (13.02.2012 - 19:20) TranceIT написал(а):
Сделайте
echo $plro . '<br />';

И увидите, что выводит не все значения, а по одному за каждый проход по циклу, потому что каждый раз ей присваивается новое значение.

Чтобы выводить только то значение, которое необходимо складывайте вывод в массив и тогда в каждой ячейке будет храниться вывод из соответствующей базы.

Спустя 4 минуты, 46 секунд (13.02.2012 - 19:25) avengerweb написал(а):
у меня есть 4разные страницы, на каждой их них мне нужно по 1 определенному значению как такое осуществить?

Спустя 1 минута, 47 секунд (13.02.2012 - 19:26) nugle написал(а):
avengerweb
на каждой странице через гет переменную
когда я спрашивал код я просил не две строчки, а весь код

Спустя 49 секунд (13.02.2012 - 19:27) avengerweb написал(а):
<?
function
status ($db_array) {
$ip = "";
$host = "";
$user = "root";
$pass = "";
$port = "3306";

$db_array = array('charactersx10', 'charactersx100', 'charactersx60', 'characters');
foreach($db_array as $db_name){
$connection = mysql_connect($host,$user,$pass) or die(mysql_error());
mysql_select_db($db_name) or die(mysql_error());
$plro = @mysql_num_rows(mysql_query("SELECT NULL FROM `characters` WHERE `online`='1'"));
mysql_close($connection);
echo $plro . '<br />';
}
}



status($db_array) ;



?>

Спустя 2 минуты, 51 секунда (13.02.2012 - 19:30) TranceIT написал(а):
А код собственно и не изменился =)

Результат работы функции не возвращается.
О каких $_GET можно говорить?

avengerweb
Вам надо почитать про область видимости переменных. Переменные, объявленные внутри функции не будут видны за ее пределами. Для того чтобы вывести переменную за функцию существует оператор return.
Быстрый ответ:

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