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)










