Jump to content


Photo

Function


  • Faça o login para participar
9 replies to this topic

#1 shinagawa

shinagawa

    Novato no fórum

  • Usuários
  • 20 posts
  • Sexo:Não informado

Posted 23/07/2004, 17:29

Como faço para que uma variável de uma function seja reconhecida pela outra function?
tipo:

function connect_db($nome_var) {
    global $$nome_var;

    $query = mysql_query('SELECT * FROM tabela');
    $connect = mysql_connect('localhost', 'user', 'senha');
    mysql_select_db('qualquer');

    $query = mysql_query('SELECT * FROM tabela');
    $$nome_var = mysql_fetch_row($query);
}



function qualquer() {
  connect_db('nome_qualquer');
  return $nome_qualquer; <------------ naum retorna nada!
}

echo qualquer(); <--------- nem sinal de vida


alguem pode matar esta charada pra mim?

desde jah agradecido,
Shinagawa

#2 thiagorsl

thiagorsl

    Ex-admin xD

  • Ex-Admins
  • 1151 posts
  • Sexo:Não informado
  • Localidade:Sampa
  • Interesses:http://sermaldito.amovoce.net/

Posted 23/07/2004, 18:13

Para isso terá que usar OO

http://forum.wmonlin...showtopic=81162

Um belo tuto de OO pedido por mim para um Mestre

#3 shinagawa

shinagawa

    Novato no fórum

  • Usuários
  • 20 posts
  • Sexo:Não informado

Posted 23/07/2004, 18:30

vlw!
gostei muito do tutorial!
o seu MESTRE está de parabéns :P


abraços,
shinagawa

#4 LeoB

LeoB

    Super Veterano

  • Usuários
  • 1876 posts
  • Sexo:Masculino
  • Interesses:Programação

Posted 23/07/2004, 20:09

Não sei se realmente cabe o uso de OO aqui. Bom, vou arriscar de um outro jeito:

PHP
<?php

function connect_db($nome_var){
$query = mysql_query('SELECT * FROM tabela');
  $connect = mysql_connect('localhost', 'user', 'senha');
  mysql_select_db('qualquer');

  $query = mysql_query('SELECT * FROM tabela');
  $GLOBALS[$nome_var] = mysql_fetch_row($query);
}

function
qualquer(){
connect_db('nome_qualquer');
return
$GLOBALS['nome_qualquer'];
}

echo
qualquer();
?>


#5 Felipe Pena

Felipe Pena

    O temor do Senhor é o princípio da sabedoria

  • Ex-Admins
  • 6441 posts
  • Sexo:Masculino

Posted 24/07/2004, 05:04

Ae rapaz.....
PHP
<?php

class mysql {
 var
$conexao;

function
mysql() {

 
$this-> conexao = mysql_connect("localhost","root","") or die ("Erro de conexão!");
}

}

$conexao = new mySQL;
$conexao->conecta();
?>

Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29

#6 Klaus

Klaus

    @ ubuntu jaunty

  • Ex-Admins
  • 7924 posts
  • Sexo:Masculino
  • Localidade:127.0.0.1

Posted 24/07/2004, 05:30

Use constantes.
Klaus Paiva
Conheça também: Taperás

#7 LeoB

LeoB

    Super Veterano

  • Usuários
  • 1876 posts
  • Sexo:Masculino
  • Interesses:Programação

Posted 24/07/2004, 05:34

Mas constantes não podem mudar de valor em tempo de execução. Muito menos ter valores variáveis...

#8 shinagawa

shinagawa

    Novato no fórum

  • Usuários
  • 20 posts
  • Sexo:Não informado

Posted 24/07/2004, 13:27

Não sei se realmente cabe o uso de OO aqui. Bom, vou arriscar de um outro jeito:

PHP
<?php

function connect_db($nome_var){
  $query = mysql_query('SELECT * FROM tabela');
  $connect = mysql_connect('localhost', 'user', 'senha');
  mysql_select_db('qualquer');

  $query = mysql_query('SELECT * FROM tabela');
  $GLOBALS[$nome_var] = mysql_fetch_row($query);
}

function
qualquer(){
  connect_db('nome_qualquer');
  return $GLOBALS['nome_qualquer'];
}

echo
qualquer();
?>

vc fez do msm jeito q eu, soh mudou o "global $$nome_var" por "$GLOBALS[$nome_var]"

msm assim eu testei, mas tb naum funcionou =(

#9 Balala

Balala

    What you want for yourself?

  • Ex-Admins
  • 3357 posts
  • Sexo:Não informado
  • Localidade:Jaraguá do Sul - SC
  • Interesses:http://forum.wmonline.com.br/index.php?showtopic=5792

Posted 24/07/2004, 13:37

Não pode fazer algo assim:

PHP
<?php

function connect_db() {
 
$query = mysql_query('SELECT * FROM tabela');
 
$connect = mysql_connect('localhost', 'user', 'senha');
 
mysql_select_db('qualquer');

 
$query = mysql_query('SELECT * FROM tabela');
 return
mysql_fetch_row($query);
}

$var = connect_db();

?>


A não ser que isso seria apenas um exemplo, mas não tem utilidade fazer dessa forma, e caso queira que variáveis passem de função para função, defina elas com escopo global em ambas as funções:

PHP
<?php

function a($num) {
global
$valor;
$valor += $num;
}

function
b($num) {
global
$valor;
$valor = a($num);
}

$valor = 0;
b(10);
echo
$valor;

?>

Balala - Admin Geral Webfórum - Retired
Twitter
Stop Spreading Lies!
Posted Image

#10 shinagawa

shinagawa

    Novato no fórum

  • Usuários
  • 20 posts
  • Sexo:Não informado

Posted 24/07/2004, 13:45

BINGO!

valew Xplayer, era isso q estava faltando!

eu soh estava declarando global na primeira funçao...

Brigadao ae (y)


[]s
Shinagawa

Edição feita por: shinagawa, 24/07/2004, 13:46.





1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq