Foros del Web » Programando para Internet » PHP »

no puedo consultar e insertar

Estas en el tema de no puedo consultar e insertar en el foro de PHP en Foros del Web. Tengo este codigo y no se lo que pasa o que estoy haciendo mal que no me pasa el valor de las variables $AMD que ...
  #1 (permalink)  
Antiguo 02/10/2006, 21:43
Avatar de admado  
Fecha de Ingreso: junio-2006
Ubicación: Morelos, México
Mensajes: 115
Antigüedad: 17 años, 10 meses
Puntos: 0
Pregunta no puedo consultar e insertar

Tengo este codigo y no se lo que pasa o que estoy haciendo mal que no me pasa el valor de las variables $AMD que se refiere a la fecha y $h que es la hora.

Código PHP:

<?
/*//verifico que el archivo se pueda abrir
    $url_web = "abrir.php";
    if (!$url_web) { echo "<p>Error obteniendo codigo fuente de la web.\n"; exit; }*/
       
$lineas="129,2003,304,2300,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0";
       
$lista explode(",",$lineas);
       
       
/*$med = $lista[0];   $aa = $lista[1];   $dd = $lista[2];  $hh = $lista[3];  $tem = $lista[4]; $temax = $lista[5];
       $temin = $lista[6];  $hum = $lista[7];   $pv = $lista[8]; $rad = $lista[9];   $et = $lista[10];   $vv = $lista[11];
         $vvm = $lista[12];  $dv = $lista[13]; $dvs = $lista[14]; $pp = $lista[15];  $ts = $lista[16];   $ph = $lista[17]; 
          $hs = $lista[18]; $hum = $lista[19]; $bat = $lista[20]; */
        
        // Formato de Fecha 
        
$MD=date("m-d",mktime(0,0,0,1,$lista[2],$lista[1]));
        
$AMD $lista[1]."-".$MD;
            echo 
"<br>".$AMD."<br>";  
       
       
// Formato de hora
       
if($lista[3]==0){
            
$h $lista[3].":00";
            echo 
$h."<br>";
       }else{
           
$parte=split("0",$lista[3]);
           for(
$i=0;$parte[$i];$i++)
              
$h $parte[0].":00";
              echo 
$h."<br>"
        }
         
$med=$lista[0];
         echo 
$med;
        
        
//conectar a BD
        
include "conectar.php";
        
$link Conectarse();
        
$result mysql_query("select id_lectura from lectura where hora='$h' and fecha=(
           select fecha from lectura where fecha='$AMD' and medicion='$med')"
$link);
        if(
$row mysql_fetch_array($result)) {
            echo 
$row['id_lectura'];
            
mysql_free_result($result);
        }else{
             
// Aqui debo hacer la insercion de todos los datos a la base de datos
            
$inserta mysql_query("INSERT INTO lectura VALUES('1','2','$med','$AMD','$h',
                                    '$lista[4]','$lista[5]','$lista[6]','$lista[7]','$lista[8]',
                                    '$lista[9]','$lista[10]','$lista[11]','$lista[12]','$lista[13]',
                                    '$lista[14]','$lista[15]','$lista[16]','$lista[17]','$lista[18]',
                                    '$lista[19]','$lista[20]')"
,$link);
            
mysql_free_result($inserta);
echo 
"<br>Error, query vacio<br>";
             
        }
        
        
?>
alguien ayudeme

Última edición por admado; 03/10/2006 a las 11:05
  #2 (permalink)  
Antiguo 02/10/2006, 23:12
 
Fecha de Ingreso: septiembre-2006
Mensajes: 196
Antigüedad: 17 años, 7 meses
Puntos: 0
m nose si la sintaxis sera correcta en ese query, pero de todas maneras tienes las comillas fuera del paretesis y las empezaste dentro de el

Cita:
select fecha from lectura where fecha='$AMD' and medicion='$med')", $link);
Cita:
"INSERT INTO lectura VALUES('1','2','$med','$AMD','$h',
'$lista[4]','$lista[5]','$lista[6]','$lista[7]','$lista[8]',
'$lista[9]','$lista[10]','$lista[11]','$lista[12]','$lista[13]',
'$lista[14]','$lista[15]','$lista[16]','$lista[17]','$lista[18]',
'$lista[19]','$lista[20]')",
  #3 (permalink)  
Antiguo 03/10/2006, 11:00
Avatar de admado  
Fecha de Ingreso: junio-2006
Ubicación: Morelos, México
Mensajes: 115
Antigüedad: 17 años, 10 meses
Puntos: 0
De acuerdo no puedo consultar e insertar

Las comillas que me marcas no es el problema:
Código PHP:
 select fecha from lectura where fecha='$AMD' and medicion='$med')", $link); 
en una sola linea es:
Código PHP:
$result mysql_query("select id_lectura from lectura where hora='$h' and fecha=(select fecha from lectura where fecha='$AMD' and medicion='$med')"$link); 
El query como tal, si funciona, si le doy valores en vez de pasarle una variable.

el problema que tengo es que si pongo una variable $h o $AMD no me deja pasar lo que contiene cada una de ellas; sin embargo si a esas mismas les asigno una valor por ejemplo $h='12:00'; $AMD='2003-11-25'; si me da un resultado, no se que esta pasando que no me deja pasar en contenido que tienen estas variables. si te das cuenta realizo unas modificaciones para dar formato a la fecha y a la hora.. Espero me este explicando bien.. y mas a aun que puedas ayudarme.. gracias por responder!
  #4 (permalink)  
Antiguo 03/10/2006, 11:03
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
Pregunta

Una aclaración , ¿Cúando haces el echo de tu variable $h y $AMD, se muestran?

Saludillos.
  #5 (permalink)  
Antiguo 03/10/2006, 15:33
Avatar de admado  
Fecha de Ingreso: junio-2006
Ubicación: Morelos, México
Mensajes: 115
Antigüedad: 17 años, 10 meses
Puntos: 0
De acuerdo no puedo consultar e insertar

si, en pantalla me muestra
Código HTML:
2003-10-31
23:00
129
Error, query vacio
Aunque no necesito que muestre lo que contiene esas variables, lo que realmente me interesa es insertar el contenido de la linea en la la base de datos.
  #6 (permalink)  
Antiguo 03/10/2006, 15:58
Avatar de Erikfrancisco  
Fecha de Ingreso: noviembre-2003
Ubicación: Estado de México
Mensajes: 503
Antigüedad: 20 años, 5 meses
Puntos: 4
En lo personal creo que aquí ahi unos detalles:

$lineas="129,2003,304,2300,0,0,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0";
$lista = explode(",",$lineas);

Según esto:
$lista[1] = 2003;
$lista[2] = 304;

Hasta donde yo sé mktime recibe estos parametros:
mktime(0,0,0,date("el_mes"),date("el_día"),date("e l_año"));

Entonces según estos parámetros con la función que pones

$MD=date("m-d",mktime(0,0,0,1,$lista[2],$lista[1]));

En realidad le estas pasando:

$MD=date("m-d",mktime(0,0,0,1,304,2003));

Yo no conozco ningun dia 304. Ahora otro detalle lo encuentro en tu consulta:

mysql_query("select id_lectura from lectura where hora='$h' and fecha=(
select fecha from lectura where fecha='$AMD' and medicion='$med')", $link);

No sería mejor si la pones de este modo:

mysql_query("SELECT id_lectura, fecha FROM lectura WHERE hora = '".$h."' AND fecha = '".$AMD."' AND medicion = '".$med."' )", $link);

No digo que esto sea lo que no te muestra los resultados deseados solo que deberías checarlo. Suerte
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 19:49.