
Excluir Múltiplos Campos Do Tipo Checkbox
#1
Posted 09/09/2007, 08:32
Segue uma parte do código para melhor visualizção.
Obrigado!
[codebox]$consulta = mysql_query('SELECT titulo,chamada FROM noticias order by titulo');
$cont = 0;
while($arrayConsulta = mysql_fetch_array($consulta)){
$noticiaid = $arrayConsulta['noticia_id'];
$titulo = $arrayConsulta['titulo'];
$chamada = $arrayConsulta['chamada'];
if($cont%2 == 0){
$cor = '#FFFFFF';
}else{
$cor = '#CCCCCC';
}
$cont++;
?>
<tr bgcolor='<?=$cor;?>'</tr>
<td><div align="center"><a href="editar.php?noticia=<?=$noticiaid?>" class="labels" onMouseOut="this.className='labels';" onMouseOver="this.className='titulos';"><?=$titulo;?></font></div></td>
<td><div align="center"><a href="editar.php?noticia=<?=$noticiaid?>" class="labels" onMouseOut="this.className='labels';" onMouseOver="this.className='titulos';"><?=$chamada;?></font></div></td>
<td><div align="center"><input type="checkbox" name="checkbox" value="checkbox"></div></td>
</tr>
<?
}
?>
<tr>
<td></td>
<td></td>
<td>
<div align="center"><input type="submit" name="Excluir" value="Excluir"></div>
</td>
</tr>[/codebox]
#2
Posted 09/09/2007, 22:58
define("MELHOR_FORUM_DO_MUNDO", "Webmasters Online");
echo MELHOR_FORUM_DO_MUNDO;
?>
#3
Posted 09/09/2007, 23:10
não sei te dizer qual seria mais indicado para teu caso... eu uso foreach para casos semelhantes... mas sei lá...
Talvez alguém possa ter uma dica melhor

canaldev.com.br
sistemabasico.com.br
twitter.com/sistemabasico
twitter.com/lunelli
#4
Posted 09/09/2007, 23:52
Ai no seu formulário, você só precisaria alterar os campos checkbox para serem um vetor, assim:
<input type="checkbox" name="checkbox" value="checkbox[]">
Flws...

#5
Posted 10/09/2007, 00:06
dentro do seu loop coloque o nome do campo do checkbox junto com um '[]"
Assim você vai dizer que na hora de passar o campo pro php, vai ser uma array ;D
<?php while ($condicao) { echo "<input type=\"checkbox\" name=\"checkbox[]\" value=\"" . $valor . "\">"; }
deu pra ter uma noção?
dae na hora do submit, só usar um foreach, um for, ou um while

espero que tenha entendido

#6
Posted 10/09/2007, 08:17

Confundi value com name. Valeu savior

E já que está quase na resposta...

<?php foreach($_POST['checkbox'] as $valor) { // $valor é a variável que você precisa para cada checkbox marcado }?>
Flws...

#7
Posted 12/09/2007, 19:31
enviando de um arquivo php e recebendo em outro php...
assim fica mole mole de entender

brigado pela ajuda
define("MELHOR_FORUM_DO_MUNDO", "Webmasters Online");
echo MELHOR_FORUM_DO_MUNDO;
?>
#8
Posted 12/09/2007, 19:41
Arquivo noticias.php
$consulta = mysql_query('SELECT titulo,chamada FROM noticias order by titulo'); $cont = 0; while($arrayConsulta = mysql_fetch_array($consulta)){ $noticiaid = $arrayConsulta['noticia_id']; $titulo = $arrayConsulta['titulo']; $chamada = $arrayConsulta['chamada']; if($cont%2 == 0){ $cor = '#FFFFFF'; }else{ $cor = '#CCCCCC'; } $cont++; ?> <tr bgcolor='<?=$cor;?>'</tr> <td><div align="center"><a href="editar.php?noticia=<?=$noticiaid?>" class="labels" onMouseOut="this.className='labels';" onMouseOver="this.className='titulos';"><?=$titulo;?></font></div></td> <td><div align="center"><a href="editar.php?noticia=<?=$noticiaid?>" class="labels" onMouseOut="this.className='labels';" onMouseOver="this.className='titulos';"><?=$chamada;?></font></div></td> <td><div align="center"><input type="checkbox" name="checkbox" value="checkbox"></div></td> </tr> <? } ?> <tr> <td></td> <td></td> <td> <div align="center"><input type="submit" name="Excluir" value="Excluir"></div> </td> </tr>
Arquivo deletar.php
$id = addslashes(htmlentities($_POST['id'])); foreach($id as $c) { mysql_query("DELETE FROM noticias WHERE noticia_id = '".$c."'") or die(mysql_error()); }
No arquivo noticias.php você coloca para como checkbox do modo como disseram acima.
Tudo funcionará.
Até mais

Edição feita por: _Dudu_1533, 12/09/2007, 19:42.
Fórum WMO - Equipe de Desenvolvimento / Banco de Dados - Moderador
Twitter: HostCheap
#9
Posted 12/09/2007, 19:48
Mesmo você tratando um array como uma String irá funcionar ?

$id = addslashes(htmlentities($_POST['id']));
foreach($id as $c) {
mysql_query("DELETE FROM noticias WHERE noticia_id = '".$c."'") or die(mysql_error());
}
Aconselho a fazer da seguinte forma:
$id = $_POST['id']; foreach($id as $c) { $c = addslashes(htmlentities($c)); mysql_query("DELETE FROM noticias WHERE noticia_id = '".$c."'") or die(mysql_error()); }
[]'s
Edição feita por: Renan Gonçalves, 12/09/2007, 19:51.
Renan Gonçalves
renan.saddam@gmail.com
(WebSite / Gmail / orkut / Windows Live! Messenger)
"Aquele que se define se limita."
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)