Ver Mensaje Individual
  #12 (permalink)  
Antiguo 15/01/2013, 11:19
Avatar de zalito12
zalito12
 
Fecha de Ingreso: noviembre-2011
Ubicación: Coruña, España
Mensajes: 430
Antigüedad: 12 años, 6 meses
Puntos: 67
Respuesta: Cambiar el Comando IN de SQL, al seleccionar.

Verás, hay tienes un problema con el ámbito de las variables.
La línea 60 está dentro de una función en la cúal no hay ninguna variabl $df.
Hay que tener mucho cuidado con eso.
Como no sé muy bien que valor quieres que tome ahí te daré las dos soluciones posbiles.
1. Declararla como Global y cogerá el valor que tenga en el archivo global
2. Pasarla como parámetro.

Como no estoy muy familiarizado con tu código no te puedo recomendar una opción aunque yo sulo evitar declarar hacer llamadas globales a no ser que sean cosillas tontas como alguna variable de traducción que necesite.

Te pongo tu código con los dos ejemplos, te lo ordenaré un poco poniendo las funciones antes del resto, ya que al leerlo no sabía muy bien lo que estaba dentro y fuera.

1. Variable global
Código PHP:
<?php
function connectDb(){
    
/* MySQL Configuracion de BD */
    
$host       'localhost';
    
$database   'arqonexus';
    
$user       'root';
    
$password   '';

    
$con null;
    
$con = @mysql_connect($host$user$password);
    if (!
$con) {
        die(
'Could not connect: ' mysql_error());
    }

    
mysql_select_db($database$con);
    return 
$con;
}

function 
getData($df){
    
$data = array();
    
$con connectDb();
    
$query "SELECT * FROM bd_telefonica WHERE Codigo IN ('DF-".$df."')";
    
$res mysql_query($query);
    
    if(
$res){
        while (
$row mysql_fetch_array($res)) {
            
$data[] = $row;
        }
    }else{
        die(
'No conecta a la base de datos...');
    }  
    return 
$data;
}

function 
generateXml($title) {
    Global 
$df;
    
$title = isset($title) ? $title 'Titulo'
    
$records getData($df);
     
//...
    //...   
}
if(isset(
$_GET['d'])){
   
$df intval($_GET['d']);
   switch(
$df){
      case 
1:
      case 
2:
      
getData($df);
      break;
     default:
          echo 
'Valor incorrecto';
    }
}else{
    
header("Location: ver_grafico.php");
}
2. Como parámetro, dónde llames a la función deberás darle un valor.
Código PHP:
<?php
function connectDb(){
    
/* MySQL Configuracion de BD */
    
$host       'localhost';
    
$database   'arqonexus';
    
$user       'root';
    
$password   '';

    
$con null;
    
$con = @mysql_connect($host$user$password);
    if (!
$con) {
        die(
'Could not connect: ' mysql_error());
    }

    
mysql_select_db($database$con);
    return 
$con;
}

function 
getData($d){
    
$data = array();
    
$con connectDb();
    
$query "SELECT * FROM bd_telefonica WHERE Codigo IN ('DF-".$d."')";
    
$res mysql_query($query);
    
    if(
$res){
        while (
$row mysql_fetch_array($res)) {
            
$data[] = $row;
        }
    }else{
        die(
'No conecta a la base de datos...');
    }  
    return 
$data;
}

function 
generateXml($title,$d) {
    
$title = isset($title) ? $title 'Titulo'
    
$records getData($d);
     
//...
    //...   
}
if(isset(
$_GET['d'])){
   
$df intval($_GET['d']);
   switch(
$df){
      case 
1:
      case 
2:
      
getData($df);
      break;
     default:
          echo 
'Valor incorrecto';
    }
}else{
    
header("Location: ver_grafico.php");
}
Elige la que más te convenga pero ojo con eso del ámbito de las variables :)