Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/11/2011, 15:47
tvzbien
 
Fecha de Ingreso: abril-2011
Mensajes: 49
Antigüedad: 13 años
Puntos: 3
consulta sql con form select multiple

He llegado hasta aqui por q verdaderamente me siento frustrado y desorientado.
Yo tengo en mi base de datos mysql entre varias tablas la de ALUMNOS dentro de ella estan los campos id_alumnos, email, email2, profesion_ocupacion, apellido_nombre, dni, y varios campos mas.
Bien la idea es que al momento de seleccionar mas de un valor desde un select multiple de consulta de sql del campo profesion_ocupacion me devuelva todos los mail que coincidan con esos valores seleccionado para luego insertalo en un arhivo de texto.
El tema es que cuando selecciono solo una opcion me funciona bien pero cuando selecciono mas de una no funciona.
Aqui paso el codigo para que me tiendas una mano en.

Código PHP:
<form id="form1" name="form1" method="get" action="">
  <select name="profesion_ocupacion[]" id="profesion_ocupacion" multiple="multiple" size="10" style="width:300px;">
    <?  $row_ver_profesion=mysql_query ("SELECT DISTINCT profesion_ocupacion FROM alumnos WHERE email LIKE '%@%' ORDER BY profesion_ocupacion ASC");
                while (
$row mysql_fetch_array($row_ver_profesion)){
            
?>
    <option value="<?php echo $row['profesion_ocupacion']?>"><?php echo $row['profesion_ocupacion']?></option>
    <?}?>
  </select>
  <input name="categoria" type="submit" class="button" value="categoria" id="categoria" />
</form>
<?php
          
if ($_GET['categoria']){ 
//Mostramos las categorias seleccionadas
          
$categoria=$_GET['profesion_ocupacion'];
echo 
"<br>Profesiónes seleccionadas:";
for (
$i=0;$i<count($categoria);$i++) 
{
echo 
"<br> Profesión " $i ": " $categoria[$i];

// Tomamos el o los valores ingresados 
    
$buscar_categoria=implode (", "$_GET['profesion_ocupacion']);
    
//leo los emails de la base de datos
    
$consulta02 "SELECT email FROM alumnos WHERE profesion_ocupacion LIKE '%".$buscar_categoria."' ";
    
$resultado02 mysql_query($consulta02);
    
//Elimino el archivo si ya existe
    
if(file_exists("export_bd_categoria.txt")){
          
unlink("export_bd_categoria.txt");
}
     
//Abro un archivo de texto
    
$fp02 fopen("export_bd_categoria.txt","a");
    
//En la Primer linea escribo la version de la base para evitar errores
    
fwrite($fp02"V:".date("d/m/Y",time()) . PHP_EOL);
    
//pongo la variable errores a cero
    
$errores02 ='';
    
//recorro los resultados de la base de datos
    
while ($linea02 mysql_fetch_array($resultado02)) {
    
$j02++;
        if(
check_email_address($linea02[0])){
            
//meto en el archivo de texto una linea con la consulta
            
$consulta02 "INSERT INTO direcciones (mail, fecha) VALUES('".strtolower($linea02[0]). "', '".date("d/m/Y",time()) ."')";
            
fwrite($fp02,$consulta02 PHP_EOL);
}
}
echo 
'<br><br><a href="export_bd_categoria.txt">Descargar base de datos POR CATEGORIA</a><br>';
}else{ 
      
"No se ha seleccionado ninguna categoría, por favor seleccione al menos una"
      }
?>
De antemano agradesco tu ayuda