Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá,
Tenho um campo na tabela que está gravando imagens separadas por vírgula, mais ou menos assim:
6954be64998bd336.jpg, 489243b9c1512f79.jpg, 36a41fe1a1fdb26c.jpg
Quero remover uma destas imagens. Como fazer?
<?php
if (isset($_GET['id']) && isset($_GET['img']))
{
$Qry = mysql_query("select imagem from noticias where id='$_GET[id]'");
$Ftc = mysql_fetch_array($Qry);
$Exp = explode(', ', $Ftc['imagem']);
if (in_array($_GET['img'], $Exp))
{
// Remove a imagem que não quero mais
}
}
?>
Obrigado.Havia pensado nesta função mas não obtive sucesso.
Por gentileza, pode dar um exemplo prático baseado no meu código.
<?php
if(($search =& array_search($_GET['img'], $Exp)) != -1){
unset($Exp[$search]);
//Se precisar de um array ordenado da um sort
}
?>você tem que usar array_search primeiro. Essa função retornará o índice em que está o valor procurado. Esse valor você usa no unset
unset($array[$indice_retornado_por_array_search]);
Perdão caras, mas não deu certo.
Será que não havendo uma confusão de string e array aí?
Consegui, eis a solução:
<?php
if (isset($_GET['id']) && isset($_GET['img']))
{
$Qry = mysql_query("select imagem from noticias where id='$_GET[id]'");
$Ftc = mysql_fetch_array($Qry);
$Exp = explode(', ', $Ftc['imagem']);
unset($Exp[array_search($_GET['img'], $Exp)]);
echo implode(', ', $Exp);
}
?>
Obrigado pela atenção.
TÓPICO RESOLVIDO.
unset()
http://www.php.net/unset