Foros del Web » Programando para Internet » PHP »

Ayuda con select multiple

Estas en el tema de Ayuda con select multiple en el foro de PHP en Foros del Web. Buenas a todos, a ver si alguien puede ayudarme. he cogido de un faq el siguiente codigo: Código: $resultado=mysql_query("SELECT * FROM pisos"); // Se inicial ...
  #1 (permalink)  
Antiguo 09/01/2006, 12:50
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 15 años, 11 meses
Puntos: 3
Ayuda con select multiple

Buenas a todos, a ver si alguien puede ayudarme. he cogido de un faq el siguiente codigo:

Código:
$resultado=mysql_query("SELECT * FROM pisos"); 

// Se inicial el formulario 
echo "<form action=\"procesar.php\" method=\"post\"> \n"; 

// Extraemos y componemos los checbox dinámicos de los datos de nuestra tabla de la BD. 
while ($row = mysql_fetch_array($resultado)){ 
  echo "<input type=\"checkbox\" name=\"seleccion[]\" value=\"".$row['idvivienda']."\">".$row['zona']."<br>"; 
} 

// Cerramos el formulario y ponemos nuestro botón de Submit. 
echo "<input type=\"submit\" name=\"Submit\" value=\"Enviar\">"; 
echo "</form>"; 
?>
esto me coge de una bd y me genera unos checkbox con la zona, y al seleccionar llamo a otro script que lo que me hace es borrar. la cosa es que quiero aplicar este trozo de codigo a una tabla que tengo yo creada, pero el problema es que no me aclaro a la hora de introducir el codigo en el mio, y poner el boton de enviar.... mi tabla es la siguiente:

Código:
<table width="423" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr class="cabeceraBoldCopia">
    <td width="89"><div align="center" class="Estilo8 Estilo13"><span class="Estilo3">Ref.</span></div></td>
    <td width="167" height="21" class="cabeceraBoldCopia Estilo3"><div align="center" class="Estilo13">Zona</div></td>
    <td width="167" height="21" class="cabeceraBoldCopia Estilo3">&nbsp;</td>
  </tr>
  <?
	if (mysql_num_rows($res) > 0) {
		//si hay resultados.
		while(list($idvivienda,$precio,$zona,$foto1,$foto2, $foto3, $tipo) = mysql_fetch_array($res)){
		$URL= "fotos/".$foto1;
		?>
  <tr bgcolor="#FFFFFF" class="texto">
    <td><div align="center" class="Estilo10"><? echo $idvivienda;?></div></td>
    <td><div align="center" class="Estilo10"><? echo $zona;?></div></td>
    <td class="texto"><a href="borrar_vivienda.php?idvivienda=<? echo $idvivienda;?>&zona=<? echo $zona;?>&foto1=<? echo $foto1;?>&foto2=<? echo $foto2;?>&foto3=<? echo $foto3;?>&tipo=<? echo $tipo;?>&codigoInmobiliaria=<? echo $codigoInmobiliaria;?>&idInmobiliaria=<?=$userArray['ID']?>" class="Estilo8">Borrar</a></td>
  </tr>
		<?
 		}//fin del while
	}else{
		//no hay resultados
		?>
  <tr class="texto">
    <td colspan="3" align="center">&nbsp;</td>
  </tr>
  <tr class="texto">
    <td colspan="3" align="center">No hay viviendas en la base de datos </td>
  </tr>
		<?
	}//fin del if/else de resultados
	?>
</table>
a ver si alguien puede hacerme un mix de los codigos, y puedo hacer yo lo mismo!! salu2 y gracias
  #2 (permalink)  
Antiguo 09/01/2006, 16:57
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 15 años, 11 meses
Puntos: 3
he probado con esto:
Código:
<? echo "<form action=\"procesar.php\" method=\"post\"> \n"; ?>
<table width="423" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr class="cabeceraBoldCopia">
    <td width="89"><div align="center" class="Estilo8 Estilo13"><span class="Estilo3">Ref.</span></div></td>
    <td width="167" height="21" class="cabeceraBoldCopia Estilo3"><div align="center" class="Estilo13">Zona</div></td>
    <td width="167" height="21" class="cabeceraBoldCopia Estilo3">&nbsp;</td>
  </tr>
  <?
	if (mysql_num_rows($res) > 0) {
		//si hay resultados.
		while(list($idvivienda,$precio,$zona,$foto1,$foto2, $foto3, $tipo) = mysql_fetch_array($res)){
		$URL= $foto1;
		?>
  <tr bgcolor="#FFFFFF" class="texto">
    <td><div align="center" class="Estilo10"><? echo $idvivienda;?></div></td>
    <td><div align="center" class="Estilo10"><? echo $zona;?></div></td>
    <td class="texto"><div align="center"></div>
        <?  echo "<input type=\"checkbox\" name=\"seleccion[]\" value=\"".$row['idvivienda']."\">".$row['zona']."<br>"; ?>
  </tr>

  <?
 		}//fin del while
	}else{
		//no hay resultados
		?>
  <tr class="texto">
    <td colspan="3" align="center">&nbsp;</td>
  </tr>
  <tr class="texto">
    <td colspan="3" align="center">No hay viviendas en la base de datos </td>
  </tr>
  <?
	}//fin del if/else de resultados
	?>
</table>
  <? echo "<input type=\"submit\" name=\"Submit\" value=\"Enviar\">"; 
echo "</form>"; ?>
y me sale la check box, pero no se me sale el valor. en el procesar hago un echo del seleccion

<?
$lista=implode(',',$HTTP_POST_VARS['seleccion']);
echo $lista;
?>

y me sale en blanco. el error esta en el imput, a ver si alguien me echa un cable:

<? echo "<input type=\"checkbox\" name=\"seleccion[]\" value=\"".$row['idvivienda']."\">".$row['zona']."<br>"; ?>

salu2
  #3 (permalink)  
Antiguo 09/01/2006, 17:32
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 15 años, 11 meses
Puntos: 3
el error primero, esta solucionado. era el simple error del row, q estaba llamando a la variables con el .$row.

ahora en el procesar recibo la variable idvivienda, pero no la borra de la bd. a ver si alguien puede ayudarme.

salu2
  #4 (permalink)  
Antiguo 09/01/2006, 17:51
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 15 años, 11 meses
Puntos: 3
he consguido borrar el registro... pero me falta borrar las fotos que lleva asociadas. en el borrado normal me sirve con hacer un unlink de fotos, pero como hago para que me seleccione todas las fotos?

Código:
<? 
include("includes/config.php");
// Generamos una lista de los ID's (campo value= ..) que tenemos en nuestro array. 
$lista=implode(',',$HTTP_POST_VARS['seleccion']); 
echo $lista; 

// Y lo aplicamos al SQL correspondiente y ejecutamos la consulta. 

$conexion1= mysql_connect( 'localhost', 'root', '' );
mysql_select_db('rbc_com', $conexion1);
        
$sql= mysql_query("SELECT * FROM pisos",$conexion1); 

$result= mysql_query($sql,$conexion1);  
$victimas = isset($_POST['seleccion']) ? $_POST['seleccion'] : array();  
foreach ( $victimas as $id_victima ) {  
    $sql2 = "DELETE FROM pisos WHERE idvivienda = $id_victima";  
    $result2=mysql_query($sql2,$conexion1);  
}  
if($result){
echo "Registro borrado correctamente";
}

?>
como seria?
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:25.