Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal,
bom estou com um problema (ja procurei na net mas nada), fiz uma pagina onde tem a opção de escolher várias imagens para apagar de uma vez só. como posso itilizar o php para apagar as linhas?
por exemplo:
passo por campo oculto o valor de id, depois recebo esta id, mas quando recebo (via post), so recebo uma só!
como proceder?
fico no aguardo!
>
passe como array..
<input type="hidden" name="id[]" value="3" />
<input type="hidden" name="id[]" value="2" />
<input type="hidden" name="id[]" value="5" />ai você pode dar um **implode()**[http://www.php.net/implode](http://www.php.net/implode)
e então, fazer o delete, com um IN()
DELETE FROM tabela WHERE id IN('2,5');
Bom não tive uscesso com a dica. O problema mesmo é na hora de receber as variaveis. Ela é gerada de acordo com o cod abaixo:
function verImagensporCategoria($categoria, $pNumColunas, $pQuery){
include("class.configbd.php");
$sql = new conectar();
$sql->conecta();
$rs = $sql->executaBD("SELECT * FROM galeria WHERE pasta='$categoria'");
if($sql->registros_num_rows($rs)!== 0){
echo ("<table width='100%' border='0'>\n");
for($i = 0; $i <= $sql->registros_num_rows($rs); ++$i) {
for ($intCont = 0; $intCont < $pNumColunas; $intCont++) {
$linha = $sql->fecth_arrayBD($rs);
if ($i > $linha) {
if ( $intCont < $pNumColunas-1) echo "</tr>\n";
break;
}
$imagem_BD = $linha["foto01"];
$nome_BD = $linha["nome"];
$pasta_BD = $linha["pasta"];
$data_BD = $linha["data"];
$id_BD = $linha["id"];
$texto = " <table width='0' border='0' cellspacing='0' cellpadding='0'>
<tr>
<td>
<table width='0' border='0' cellspacing='0' cellpadding='0'>
<tr>
<td colspan='4'> </td>
</tr>
<tr>
<td width='100'><img src='../../../galeria/".$categoria."/".$imagem_BD."' width='100' height='100' /></td>
<td width='10'> </td>
<td width='206'><table width='0' border='0' cellspacing='0' cellpadding='0'>
<tr>
<td><span class='sobTitulos'>Nome: ".$nome_BD."</span></td>
</tr>
<tr>
<td><img src='images/spacer.gif' width='1' height='5'></td>
</tr>
<tr>
<td><span class='sobTitulos'>Data da Postagem: ".$data_BD."</span></td>
</tr>
<tr>
<td><input name='id[]' type='hidden' value='".$id_BD."'></td>
</tr>
<tr>
<td><table width='0' border='0' cellspacing='0' cellpadding='0'>
<tr>
<td width='20'><span class='sobTitulos'>
<input name='iten' type='checkbox' id='iten' value='".$imagem_BD."'>
</span></td>
<td width='10'> </td>
<td width='166'><span class='sobTitulos'>Selecione para Apagar</span></td>
</tr>
</table></td>
</tr>
</table></td>
<td width='31' valign='top'> </td>
</tr>
</table>
</td>
</tr>
</table>";
if ( $intCont == 0 ) echo "<tr>\n";
echo "<td>". $texto ."</td>\n";
if ( $intCont == $pNumColunas-1 ) {
echo "</tr>\n";
} else { $i++; }
}
}
echo ('</table>');
}else{
echo("<td><table width='15%' border='0' cellspacing='0' cellpadding='0' align='center'>
<tr>
<td><table width='0' border='0' align='left' cellpadding='0' cellspacing='0' bordercolor='#000000' bgcolor='#FFFFFF'>
<tr>
<td><table width='0' border='0' align='center' cellpadding='0' cellspacing='0'>
<tr>
<td><font size='2' color='#ff0000' face='Verdana'>Nenhum resultado encontrado.</font></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table></td>
");
}
}
aqui que to falhando: <input name='id[]' type='hidden' value='".$id_BD."'>, antes tava assim: <input name='id' type='hidden' name='id' value='".$id_BD."'>
ai ele ate gera no html certo com as ids certas, mas na hora de passar via post da pau!
fico no aguardo de uma ajuda!
>
na hora de passar via post da pau!
o que significa isso ??
como você faz o post ?
no teu caso, você apaga oque selecionar no checkbox, certo ? então o array, deveria estar nele:
<input name='iten[]' type='checkbox' id='iten' value='".$imagem_BD."'>
rsrs!
" na hora de passar via post da pau! ", siginifica: que não dava certo!
fiz um form e coloquei isso no form:
<table width='0' border='0' cellspacing='0' cellpadding='0'>
<tr>
<td>
<table width='0' border='0' cellspacing='0' cellpadding='0'>
<tr>
<td colspan='4'> </td>
</tr>
<tr>
<td width='100'><img src='../../../galeria/".$categoria."/".$imagem_BD."' width='100' height='100' /></td>
<td width='10'> </td>
<td width='206'><table width='0' border='0' cellspacing='0' cellpadding='0'>
<tr>
<td><span class='sobTitulos'>Nome: ".$nome_BD."</span></td>
</tr>
<tr>
<td><img src='images/spacer.gif' width='1' height='5'></td>
</tr>
<tr>
<td><span class='sobTitulos'>Data da Postagem: ".$data_BD."</span></td>
</tr>
<tr>
<td><input name='id[]' type='hidden' value='".$id_BD."'></td>
</tr>
<tr>
<td><table width='0' border='0' cellspacing='0' cellpadding='0'>
<tr>
<td width='20'><span class='sobTitulos'>
<input name='iten' type='checkbox' id='iten' value='".$imagem_BD."'>
</span></td>
<td width='10'> </td>
<td width='166'><span class='sobTitulos'>Selecione para Apagar</span></td>
</tr>
</table></td>
</tr>
</table></td>
<td width='31' valign='top'> </td>
</tr>
</table>
</td>
</tr>
</table>
Mando por post, mas só chega o ultimo iten. neste caso ele aparece 3 imagens, ele apaga o qeu for selecionado pelo checkbox.
por exemplo: se são 3 imagens e cada uma tiver como id= 022, id=023, id=024, so chega no outro lado o ultimo.
Valeu pela ajuda, to tentando aqui!
fico no aguardo!
Olá,
Faz o seguinte:
1 - No Checkbox voce cria um arranjo como nome do elemento, p. ex.:
<input name="[b]cod[][/b]" type="checkbox" value="<=$valor_qualquer?>"/>
2 - Se voce estiver enviando o formulario para a a mesma pagina põe isso no começo ou perto do começo:
<?php
mysql_select_db($base_de_dados_qualquer, $variavel_que_contem_os_dados_para_conexao);
if(isset($_POST['cod'])){ //Verifica se existe post e se nele há o elemento COD
$excluir = $_POST['cod']; // Caso exista o elemento COD no POST cria uma variavel e atribui a ela o elemento COD passado pelo POST
$verifica = implode(", ", $excluir); // Adiciona a cada valor do arranjo, representado por $excluir, uma vírgula e um espaço
foreach ($_POST['cod'] as $item) { // Para cada um valor passado pelo POST adicione a uma variavel chamada item
$sql = mysql_query("DELETE FROM TABELA_QUALQUER WHERE id='$item'") or die(mysql_error()); // Executa a consulta para exclusao dos itens
}
}
?>
Boa sorte e até mais!po valeu mesmo consegui! obrigado!
passe como array..
e então, fazer o delete, com um IN()
DELETE FROM tabela WHERE id IN('2,5');