Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/05/2011, 16:02
ciberchema
 
Fecha de Ingreso: diciembre-2007
Mensajes: 23
Antigüedad: 17 años
Puntos: 0
error al generar .csv de descarga: syntax to use near '' at line 1

hola

estoy generando un fichero de descarga .csv al que vuelvo una consulta sql que carga los alumnos que se agrupan en aulas, que pertenecen a escuelas.

la consulta se monta en funcion de los parametros que selecciona el usuarion en un formulario previo.

el error que recibo al ejecutar este codigo es:

check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

sin embargo ejecuto las consultas sql en phpmyadmin y corren sin problemas.

por mas vueltas que le doy, no logro ver donde esta el error. he rehecho varias veces las consultas sql por que parece que es como si faltara alguna comilla, pero no hay manera de que funcione

cualqueir ayuda sera bienvenida. muchas gracias

Y aqui les dejo el codigo fuente:

$separador=";";
$valores="";
// redirect output to client browser


header('Content-Type: application/text');
header('Content-Disposition: attachment;filename="informe_alumnos.csv"');


//recepcion de variables

if (isset($_GET[escuela])&&($_GET[escuela]!="")) {
$escuela_seleccionada=$_GET[escuela];
}else {
$escuela_seleccionada=0;
}



if (isset($_GET[estado])) {
switch ($_GET[estado]){

case "":
$estado="(0, 1, 2, 3)";
break;

case 0:
$estado="(0)";
break;

case 1:
$estado="(1)";
break;

case 2:
$estado="(2)";
break;

case 3:
$estado="(3)";
break;
}
}



if ($escuela_seleccionada==0) {
$cabecera="LISTADO ALUMNOS TODAS LAS ESCUELAS";
}else {
echo $sql_escuelas="select * from escuelas where id_escuela=".$escuela_seleccionada;
$tabla=mysql_query($sql_escuelas,$conexion);
$escuela=mysql_fetch_array($tabla);
$cabecera="LISTADO ALUMNOS\n\nEscuela: ".addslashes($escuela[localidad]);
}

$cabecera.="\nNombre Alumno;Escuela;Aula;Estado;Notas;\n";


$buscando_alumnos=0;
$buscando_escuelas=0;
$sql="select * from alumnos";

if(isset($_GET[escuela])&&($_GET[escuela]!="")){
$sql.=", aula where alumnos.id_aula=aula.id_aula and aula.id_escuela=$_GET[escuela]";
$buscando_escuela=1;
}

if(isset($_GET[nombre_alumno])&&($_GET[nombre_alumno]!="")){
if ($buscando_escuela==0){
$sql.=" where alumnos.nombre like '%".$_GET[nombre_alumno]."%' or alumnos.apellidos like '%".$_GET[nombre_alumno]."%' ";
}

if ($buscando_escuela==1){
$sql.=" and alumnos.nombre like '%".$_GET[nombre_alumno]."%' or alumnos.apellidos like '%".$_GET[nombre_alumno]."%' ";
}
$buscando_alumnos=1;
}

if ((isset($_GET[estado])) && (($_GET[estado])!="")) {

if(($buscando_alumnos==1)||($buscando_escuela==1)) {
$sql.=" and alumnos.archivado in ".$estado;
}

if(($buscando_alumnos==0)&&($buscando_escuela==0)) {
$sql.=" where alumnos.archivado in ".$estado;
}
}

echo $sql;

$tabla_alumnos=mysql_query($sql,$conexion) or die("error ".$sql);
while($datos_alumnos=mysql_fetch_array($tabla_alum nos)){
$valores.=$datos_alumnos[nombre]." ".$datos_alumnos[apellidos].";".devuelve_estado($datos_alumnos[archivado]).";".muestra_aula_alumno($datos_alumno[id_alumno]).";"."".";"."".";".$importe_positivo.";"."\n";
}

//fin de seleccion de ayudas para el periodo dado


$valores.="\n\n;;;;;;;;;";

echo $cabecera.$valores;