Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Roberto_S_Luz

[Resolvido] Colocar String num Array

Recommended Posts

Salve...salve terráqueos...bom dia!!!

 

Bom...é o seguinte...estou com um pequeno imparse aqui com arrays, isto pq...nunca mechi com arrays portanto...eles não são a minha praia :D .

 

É o seguinte...

Tenho a seguinte parada

$tabelas = array ('tabela1','tabela2','tabela3','...');
Como ver...eu tenho um array e nele...contém todas as tabelas do meu banco de dados...

Só que...eu tenho que colocar manualmente os nomes de todas as tabelas do meu banco...e isso não estou muito afim de fazer por se tratar de um processo manual...sendo que...eu poderia fazer isso dinamico.

 

Então tive a seguinte ideia...

Atraves desse codigo

     
     $sql = "SHOW TABLES;";
     $resultado = mysql_query($sql);

     while ($retorno = mysql_fetch_assoc($resultado)){
	echo $tables.= $retorno["Tables_in_bom_db"];
    }

Dessa forma aí...eu pego todos os nomes das tabelas do meu banco "bom_db", tipo...elas ficam como se fossem um texto normal...

Agora a questão é...como pegar essa string e colocar dentro de um array?

Já tentei algumas coisas e....não tive muito êxito...por isso...aqui estou eu pedindo uma ajudinha aqui. http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

 

Se alguem puder me dar uma maozinha...ficarei muito grato, pois só está faltando isso para eu fechar um sistema que estou a desenvolver.

 

Desde já...um abraço e muito obrigado a todos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

$sql = "SHOW TABLES;";
$resultado = mysql_query($sql);

$arr_tbl = array();

while ($retorno = mysql_fetch_assoc($resultado)) {
	$arr_tbl[] = $retorno["Tables_in_bom_db"]
}

Verifique com:

 

print_r($arr_tbl);

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Paulo André obrigado por sua atenção.

 

Bom...já tinha tentado isso aí mas...eu não quero imprimir os nomes das tabelas mais sim colocar dentro de um array para que eu possa gerar um backup atravez dos nomes das tabelas...desculpe....eu tinha esquecido de mencionar esse detalhe.

 

Na verdade...eu gostaria que os nomes das tabelas ficassem dessa foram dentro do array

$tabelas = array ('tabela1','tabela2','tabela3','...');
Pq...a partir daí...atraves dos nomes dentro desse array, vou gerar o backup do banco.

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, mas o array $arr_tbl foi gerado com os nomes das tabelas, eu só troquei a sua string que foi concatenando com o array.

 

Agora, o que você vai fazer com este array eu não sei, dei o exemplo do print_r() só para você verificar que as tabelas foram adicionadas. ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ahh tá...entendi.

Bom...obrigado por sua atenção, mas eu também já tinha verificado se já tinha adicionado as tabelas...agora só não sei como o array() irá intempretar elas como "tabela1", "tabela2" e por aí vai.

 

Bom...valeu pela atenção meu amigo...

Compartilhar este post


Link para o post
Compartilhar em outros sites

você sabe iterar sobre arrays??

 

o código passado pelo Paulo André te retorna um array perfeito no formato que você pediu, basta manipulá-lo com o que você quer agora.

Compartilhar este post


Link para o post
Compartilhar em outros sites

você sabe iterar sobre arrays??

Pior que não meu amigo....não sei muito de Arrays.

 

Pois é...o codigo dele...realmente é perfeito, imprime direitinho o nome de todas as tabelas porém... só não sei como pegar os nomes delas e colocar dentro do array...rsss

 

Tentei isso

 

while ($retorno = mysql_fetch_assoc($resultado)){
	$tables[] = "'".$retorno["Tables_in_bom_db"]."',";
}
$tabelas = array ($tables[]); 
E me aparece isso Fatal error: Cannot use [] for reading in .

Bom...vou continuar pesquisando mais....

Valeu....

Compartilhar este post


Link para o post
Compartilhar em outros sites

$tables já é um array contendo as tabelas. Pelo que vi você está tentando passar o array de $tables para $tabelas.

Se quiser isso mesmo, basta fazer uma atribuição normal ($tabelas = $tables;).

 

Caso queira acessar algum elemento do array, ai você usa os colchetes que estão ali.

 

echo $tables[2];

 

Irá exibir o elemento na posição 2 do array (lembrando que array tem sua primeira posição como 0). Sugiro que leia o manual do PHP, na parte de arrays.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom galera...resolvi deixar a parada meio que...manual mesmo...

$tabelas = array ('tabela1','tabela2','tabela3','...');
Pois tenho que entregar o sistema...

Depois irei continuar a tentar isso...

Dificilmente irei mudar o banco...e se isso vier a acontecer...apenas acrescento a nova tabela na lista acima.

 

Bom...o que eu quero mesmo é agradecer a atenção de você's.

Muito obrigado!!!

Abraços e bom fim de semana... http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.