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 (AQUI ESTA EL PROBLEMAAAAAAAAAAAA) $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 su ayuda y colaboración