Jump to content
fantasma

Associar mysql_fetch a outro array

Recommended Posts

fantasma

Boas,

Tenho-me deparado com um problema estes dias. Não consigo "inventar" uma maneira funcional de associar dois campos de uma tabela através de um array. Necessito disto pois não quero usar todos os campos que vêm da base de dados e quero fazer o print do genero

print $array['Morada'];

O código que  tenho é este

	$sql = "SELECT tipo_cont, conteudo_cont FROM CONTACTOS WHERE id_menu = '1'";

					$query = mysql_query($sql);
						if(!$query)
						{
							echo "Erro ao executar a query".mysql_error();
						}		


					while($row = mysql_fetch_assoc($query))
					{	

						$cont = array($row['tipo_cont'] => $row['conteudo_cont']);

						print_r($cont);
					}

                             echo $cont['Morada'];





Ora o erro que me dá é o seguinte

(Isto é o print_r do array) Array ( [Nome Empresa] => Artzende ) Array ( [Morada] => Rua Sra. Saúde 33 - r/c ) Array ( [Localidade] => Esposende ) Array ( [Telefone 1] => 253963759 )

Notice: Undefined index: Morada in C:\wamp\www\ArtZende\footer.php on line 53

Isto tem a ver com o scoop do array, estando dentro do ciclo? Se usar uma variavel global, resolve-me o problema?

Um abraço,

Share this post


Link to post
Share on other sites
Lfscoutinho

Boas,

O problema é que no id_menu = 1, não existe nenhum tipo_cont com o valor "Morada".

Ou se calhar até tens, mas ao fazeres "$cont = array($row['tipo_cont'] => $row['conteudo_cont']);" estás sempre a criar um novo array, ou seja, no final do ciclo o array $cont só vai ter uma chave e não várias como deves estar à espera.

Share this post


Link to post
Share on other sites
fantasma

Viva,

Obrigado pela tua resposta ;)

Eu sei que ele cria 4 ou 5 arrays novos, 1 por cada ciclo que efectua.  Como resolvo o meu problema? Ir buscar uma série de records e indexá-los pelo nome da coluna tipo_cont da tabela num unico array associativo??

Está-me a dar uma branca descomunal neste caso =S

Share this post


Link to post
Share on other sites
Lfscoutinho

Boas,

Somando arrays.

Por exemplo:

$cont = array();

while($row = mysql_fetch_assoc($query))
{       

$cont += array($row['tipo_cont'] => $row['conteudo_cont']);

}

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.