• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

xploit

array todo num campo

8 mensagens neste tópico

Boas pessoal

foreach($array as $array){

mysql_query("Insert into $tbl (nomes) values ('$array')

Where id='$id'");

}

Tendo em conta que isto ta errado ja sei, mas fica a ideia do que eu pretendo , cmo posso por o array todo num campo da base de dados onde esse campot tenha o id igual a variavel id que vem?

Cumprimentos

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Com serialize.

//foreach($array as $array){
mysql_query("Insert into $tbl (nomes) values ('" . serialize($array) . "')
Where id='$id'");
//}

Edit

//foreach($array as $array){
mysql_query("Insert into $tbl (nomes) values ('" . mysql_real_escape_string(serialize($array)) . "')
Where id='$id'");
//}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu tentei esses dois exemplos e nenhum deles funcionou... o mais certo e tar a fazer algo mal nao sei.. so sei e que o objectivo disto tudo e fazer o seguinte:

No $array vem varios URL's de imagens ou seja vem assim (" /destino/numero3/alo.jpg ") , e esses urls ficam todos na $array, eu cria pegar nesses urls todos e por eles num campo na base de dados, que seria um campo onde o "ID" fosse igual a $ID..

Nao sei se existe alguma funcao possivel de por os valores todos numa so variavel so ficar la mesmo os urls, e depois fazia um UPDATE ao campo em questao... E possivel? senao uma maneira que resolva este prob :S

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Este programeta

<?php
$array = array('/destino/numero3/alo.jpg', '/destino/numero3/alo2.jpg', '/destino/numero3/alo3.jpg', '/destino/numero3/alo4.jpg');
echo mysql_real_escape_string(serialize($array));
?>

Tem como resultado isto:

a:4:{i:0;s:24:\"/destino/numero3/alo.jpg\";i:1;s:25:\"/destino/numero3/alo2.jpg\";i:2;s:25:\"/destino/numero3/alo3.jpg\";i:3;s:25:\"/destino/numero3/alo4.jpg\";}

Este resultado é uma string normalíssima da costa. Podes metê-la na base de dados à vontade.

Quando a tirares de lá, aplica-lhe a função unserialize() para converteres num array.

<?php
$res = 'a:4:{i:0;s:24:"/destino/numero3/alo.jpg";i:1;s:25:"/destino/numero3/alo2.jpg";i:2;s:25:"/destino/numero3/alo3.jpg";i:3;s:25:"/destino/numero3/alo4.jpg";}';
$arr2 = unserialize($res);
print_r($arr2);
?>

Array
(
    [0] => /destino/numero3/alo.jpg
    [1] => /destino/numero3/alo2.jpg
    [2] => /destino/numero3/alo3.jpg
    [3] => /destino/numero3/alo4.jpg
)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

fantastico... muitissimo obrigado pela ajuda pmg : D!!!

Eu agora tou com outro problema so para variar lol tenho uma javascript que esta nesta base:

while ($u <= $x) {
echo "{ src: ' "$array_url[$x]" ', dir: 'up'   },";
}

Ele por os urls ate poe mas de uma maneira que depois o javascript nao funciona:

CORRECTO: { src: ' http://www.portugal-a-programar.org ', dir: 'up'   },

ERRADO:  { src: ' http://www.portugal-a-programar.org

', dir: 'up'   },

E no meu caso esta no ERRADO hehe, como faço para ao por o $array_url[], nao de aquele espaço para baixo?

Mais uma vez obrigado pmg foi de grande utilidade a ajuda!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Podes usar o str_replace: str_replace(array("\r", "\n"), "", $var);

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

A função trim() devolve a string passada como parametro com os espaços em branco no princípio e fim da string removidos.

<?php
$src = "http://www.portugal-a-programar.org/\n";
echo '[', $src, ']';
echo "\n--------\n";
echo '[', trim($src), ']';
echo "\n--------\n";
?>

Output

[http://www.portugal-a-programar.org/
]
--------
[http://www.portugal-a-programar.org/]
--------

Mas, era melhor tirar o "\n" logo à raiz, antes de meter a string na base de dados.

PS: O teu código tem erro. A linha abaixo não é aceite pelo PHP.

echo "{ src: ' "$array_url[$x]" ', dir: 'up'  },";

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu e que pus assim o codigo mas no ficheiro esta bem era so para exemplificar, em relacao ao \n , eu nao pus antes de formular o array , o array proveio de um explode secalhar ja poe automatico nao sei..

Mas mais uma vez obrigado resolveu perfeitamente  :confused:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora