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
Até mais
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...
Até mais
#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...
Até mais
#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)