Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - Chewii

Páginas: [1] 2 3 ... 5
1
PHP / Problema de Login con nueva contraseña
« en: 28 de Septiembre de 2015, 17:24:41 pm »
Buenos dias amigos, espero esten bien, les escribo por lo siguiente:

Estoy desarrollando un pequeño sistema para gestion de datos pesqueros, que contiene un registro y login de usuarios, ya que son varias personas quienes lo manejaran; el proceso de registro e ingreso de usuarios funciona correctamente, incluso cuando se le cambia su cotraseña, el problema radica en que cuando voy a ingresar con la nueva contraseña, no puedo entrar, por lo cual me regresa al formulario de acceso. Aqui les dejo el script que utilizo para cambiar la contraseña, creo a mi parecer esta funcionando bien, porque si la cambia.
Código: [Seleccionar]
<?php
        
if(isset($_SESSION['usuario'])) { // comprobamos que la sesión esté iniciada
            
if(isset($_POST['enviar'])) {
                if(
$_POST['usuario_clave'] != $_POST['usuario_clave_conf']) {
                    echo 
"Las contraseñas ingresadas no coinciden. <a href='javascript:history.back();'>Reintentar</a>";
                }else {
                    
$usuario_nombre $_SESSION['usuario'];
                    
$usuario_clave pg_escape_string($_POST["password"]);
                    
$usuario_clave md5($usuario_clave); // encriptamos la nueva contraseña con md5
                    
$sql pg_query("UPDATE tbl_users SET password='".$usuario_clave."' WHERE usuario='".$usuario_nombre."'");
                    if(
$sql) {
                        echo
"<script>alert('Contraseña cambiada correctamente')</script>";
echo"<script>document.location='../index2.php'</script>";
                    }else {
                        echo 
"Error: No se pudo cambiar la contraseña. <a href='javascript:history.back();'>Reintentar</a>";
                    }
                }
            }else {
?>

            <form action="<?=$_SERVER['PHP_SELF']?>" method="post">
                <label>Nueva contraseña:</label><br />
                <input type="password" name="usuario_clave" maxlength="15" /><br />
                <label>Confirmar:</label><br />
                <input type="password" name="usuario_clave_conf" maxlength="15" /><br />
                <input type="submit" name="enviar" value="Enviar" />
            </form>
<?php
            
}
        }else {
            echo 
"Acceso denegado.";
        }
?>
Aqui va tambien el script que utilzo para accesar al sistema, nose en cual linea de codigo me da problemas, puede ser que pasa las variables de usuario y clave vacias, por lo cual no entra...
Código: [Seleccionar]
<?php
    session_start
();
    include(
'../libs/acceso_db.php');
    if(isset(
$_POST['logueo'])) { // comprobamos que se hayan enviado los datos del formulario
        // comprobamos que los campos usuarios_nombre y usuario_clave no estén vacíos
        
if(empty($_POST['username']) || empty($_POST['password'])) {
            echo 
"El usuario o la contraseña no han sido ingresados. <a href='javascript:history.back();'>Reintentar</a>";
        }else {
            
// "limpiamos" los campos del formulario de posibles códigos maliciosos
            
$usuario_nombre pg_escape_string($_POST['username']);
            
$usuario_clave pg_escape_string($_POST['password']);
            
$usuario_clave md5($usuario_clave);
            
// comprobamos que los datos ingresados en el formulario coincidan con los de la BD
            
$sql pg_query("SELECT id, usuario, password FROM tbl_users WHERE usuario='".$usuario_nombre."' AND password='".$usuario_clave."'");
            if(
$row pg_fetch_array($sql)) {
                
$_SESSION['id'] = $row['id']; // creamos la sesion "usuario_id" y le asignamos como valor el campo usuario_id
                
$_SESSION['usuario'] = $row["usuario"]; // creamos la sesion "usuario_nombre" y le asignamos como valor el campo usuario_nombre
                
header("Location: ../index2.php");
            }else {
?>

               Error, <a href="../index.php">Reintentar</a>
<?php
            
}
        }
    }else {
        
header("Location: ../index.php");
    }
?>

2
PHP / Problema de Seleccion de Registros MySQL para modificar
« en: 18 de Septiembre de 2015, 18:17:46 pm »
Buenas amigos, espero esten bien, les escribo ya que encontre un tutorial acerca de un sistemita de registro de posiciones geograficas, y esta hecho con clases y queria probarlo, pero sinceramente, nose como corregir este error, y pensaba q uds me ayudaran; tengo un problema en el archivo de conexion con la base de datos, en los metodos de edicion de registros, me da un error de sintaxis, el codigo del archivo de conexion es este:
Código: [Seleccionar]
<?php
 define
("mysqlServer","localhost");
 
define("mysqlDB","mapas");
 
define("mysqlUser","root");
 
define("mysqlPass","0000");
  class 
connectToDB
 
{
  public static function 
addCompany$company$details$latitude$longitude$telephone) {
  
$db_connection = new mysqli(mysqlServermysqlUsermysqlPassmysqlDB);
  
$statement $db_connection->prepare("Insert INTO companies( company, details, latitude, longitude, telephone) VALUES( ?, ?, ?, ?, ?)");
   
$statement->bind_param('sssss'$company$details$latitude$longitude$telephone);
   
$statement->execute();
   
$statement->close();
   
$db_connection->close();
  }
    public static function 
updateCompany$id$details$latitude$longitude$telephone) {
   
$db_connection = new mysqlimysqlServermysqlUsermysqlPassmysqlDB);
   
$statement $db_connection->prepare("Update companies SET details = ?,latitude = ?,longitude = ?,telephone = ? where id = ?");
   
$statement->bind_param('ssssi'$details$latitude$longitude$telephone$id);
   
$statement->execute();
   
$statement->close();
   
$db_connection->close();
  }
    public static function 
deleteCompany($id) {
   
$db_connection = new mysqli(mysqlServermysqlUsermysqlPassmysqlDB);
   
$statement $db_connection->prepare("Delete from companies where id = ?");
   
$statement->bind_param('i'$id);
   
$statement->execute();
   
$statement->close();
   
$db_connection->close();
  }
    public static function 
getCompaniesList() {
   
$arr = array();
   
$db_connection = new mysqli(mysqlServermysqlUsermysqlPassmysqlDB);
   
$statement $db_connection->prepare("Select id, company, details, latitude, longitude, telephone from companies order by company ASC");
   
$statement->bind_result$id$company$details$latitude$longitude$telephone);
   
$statement->execute();
   while (
$statement->fetch()) {
    
$arr[] = ["id" => $id"company" => $company"details" => $details"latitude" => $latitude"longitude" => $longitude"telephone" => $telephone];
   }
   
$statement->close();
   
$db_connection->close();
      return 
$arr;
  }
    public static function 
addStreet($street,$geo) {
   
$db_connection = new mysqli(mysqlServermysqlUsermysqlPassmysqlDB);
   
$statement $db_connection->prepare("Insert INTO streets( name, geolocations ) VALUES( ?, ?)");
   
$statement->bind_param('ss'$street$geo);
   
$statement->execute();
   
$statement->close();
   
$db_connection->close();
  }
  
  public static function 
updateStreet($id,$geo) {
   
$db_connection = new mysqli(mysqlServermysqlUsermysqlPassmysqlDB);
   
$statement $db_connection->prepare("Update streets SET geolocations = ? where id = ?");
   
$statement->bind_param('si'$geo$id);
   
$statement->execute();
   
$statement->close();
   
$db_connection->close();
  }
    public static function 
deleteStreet($id) {
   
$db_connection = new mysqli(mysqlServermysqlUsermysqlPassmysqlDB);
   
$statement $db_connection->prepare("Delete from streets where id = ?");
   
$statement->bind_param('i'$id);
   
$statement->execute();
   
$statement->close();
   
$db_connection->close();
  }
    public static function 
getStreetsList() {
   
$arr = array();
   
$db_connection = new mysqlimysqlServermysqlUsermysqlPassmysqlDB);
   
$statement $db_connection->prepare("Select id, name, geolocations from streets order by name ASC");
   
$statement->bind_result$id$name$geolocations);
   
$statement->execute();
   while (
$statement->fetch()) {
    
$arr[] = [ "id" => $id"name" => $name"geolocations" => $geolocations];
   }
   
$statement->close();
   
$db_connection->close();
   return 
$arr;
  }
    public static function 
addArea($area,$geo) {
   
$db_connection = new mysqli(mysqlServermysqlUsermysqlPassmysqlDB);
   
$statement $db_connection->prepare("Insert INTO areas(name,geolocations) VALUES(?,?)");
   
$statement->bind_param('ss'$area,$geo);
   
$statement->execute();
   
$statement->close();
   
$db_connection->close();
  }
    public static function 
updateArea$id$geo) {
   
$db_connection = new mysqlimysqlServermysqlUsermysqlPassmysqlDB);
   
$statement $db_connection->prepare("Update areas SET geolocations = ? where id = ?");
   
$statement->bind_param('si'$geo$id);
   
$statement->execute();
   
$statement->close();
   
$db_connection->close();
  }
   public static function 
deleteArea($id) {
   
$db_connection = new mysqlimysqlServermysqlUsermysqlPassmysqlDB);
   
$statement $db_connection->prepare("Delete from areas where id = ?");
   
$statement->bind_param('i'$id);
   
$statement->execute();
   
$statement->close();
   
$db_connection->close();
  }
    public static function 
getAreasList() {
   
$arr = array();
   
$db_connection = new mysqlimysqlServermysqlUsermysqlPassmysqlDB);
   
$statement $db_connection->prepare("Select id, name, geolocations from areas order by name ASC");
   
$statement->bind_result$id$name$geolocations);
   
$statement->execute();
   while (
$statement->fetch()) {
    
$arr[] = [ "id" => $id"name" => $name"geolocations" => $geolocations];
   }
   
$statement->close();
   
$db_connection->close();
    return 
$arr;
  }
 }
?>

Y las lineas donde me da el error son estas:
Código: [Seleccionar]
$arr[] = ["id" => $id, "company" => $company, "details" => $details, "latitude" => $latitude, "longitude" => $longitude, "telephone" => $telephone];
$arr[] = [ "id" => $id, "name" => $name, "geolocations" => $geolocations];
$arr[] = [ "id" => $id, "name" => $name, "geolocations" => $geolocations];
El problema se me da en los arreglos donde se guardan las actualizaciones, que me dice q hay un problema con un "["; espero me puedan ayudar, ya que me llamo mucho la atencion y quisiera saber como funciona. Saludos

3
Buenas amigos, espero esten bien, les escribo ya que encontre un tutorial acerca de un sistemita de registro de posiciones geograficas, y esta hecho con clases y queria probarlo, pero sinceramente, nose como corregir este error, y pensaba q uds me ayudaran; tengo un problema en el archivo de conexion con la base de datos, en los metodos de edicion de registros, me da un error de sintaxis, el codigo del archivo de conexion es este:
Código: [Seleccionar]
<?php
 define
("mysqlServer","localhost");
 
define("mysqlDB","mapas");
 
define("mysqlUser","root");
 
define("mysqlPass","0000");
  class 
connectToDB
 
{
  public static function 
addCompany$company$details$latitude$longitude$telephone) {
  
$db_connection = new mysqli(mysqlServermysqlUsermysqlPassmysqlDB);
  
$statement $db_connection->prepare("Insert INTO companies( company, details, latitude, longitude, telephone) VALUES( ?, ?, ?, ?, ?)");
   
$statement->bind_param('sssss'$company$details$latitude$longitude$telephone);
   
$statement->execute();
   
$statement->close();
   
$db_connection->close();
  }
    public static function 
updateCompany$id$details$latitude$longitude$telephone) {
   
$db_connection = new mysqlimysqlServermysqlUsermysqlPassmysqlDB);
   
$statement $db_connection->prepare("Update companies SET details = ?,latitude = ?,longitude = ?,telephone = ? where id = ?");
   
$statement->bind_param('ssssi'$details$latitude$longitude$telephone$id);
   
$statement->execute();
   
$statement->close();
   
$db_connection->close();
  }
    public static function 
deleteCompany($id) {
   
$db_connection = new mysqli(mysqlServermysqlUsermysqlPassmysqlDB);
   
$statement $db_connection->prepare("Delete from companies where id = ?");
   
$statement->bind_param('i'$id);
   
$statement->execute();
   
$statement->close();
   
$db_connection->close();
  }
    public static function 
getCompaniesList() {
   
$arr = array();
   
$db_connection = new mysqli(mysqlServermysqlUsermysqlPassmysqlDB);
   
$statement $db_connection->prepare("Select id, company, details, latitude, longitude, telephone from companies order by company ASC");
   
$statement->bind_result$id$company$details$latitude$longitude$telephone);
   
$statement->execute();
   while (
$statement->fetch()) {
    
$arr[] = ["id" => $id"company" => $company"details" => $details"latitude" => $latitude"longitude" => $longitude"telephone" => $telephone];
   }
   
$statement->close();
   
$db_connection->close();
      return 
$arr;
  }
    public static function 
addStreet($street,$geo) {
   
$db_connection = new mysqli(mysqlServermysqlUsermysqlPassmysqlDB);
   
$statement $db_connection->prepare("Insert INTO streets( name, geolocations ) VALUES( ?, ?)");
   
$statement->bind_param('ss'$street$geo);
   
$statement->execute();
   
$statement->close();
   
$db_connection->close();
  }
  
  public static function 
updateStreet($id,$geo) {
   
$db_connection = new mysqli(mysqlServermysqlUsermysqlPassmysqlDB);
   
$statement $db_connection->prepare("Update streets SET geolocations = ? where id = ?");
   
$statement->bind_param('si'$geo$id);
   
$statement->execute();
   
$statement->close();
   
$db_connection->close();
  }
    public static function 
deleteStreet($id) {
   
$db_connection = new mysqli(mysqlServermysqlUsermysqlPassmysqlDB);
   
$statement $db_connection->prepare("Delete from streets where id = ?");
   
$statement->bind_param('i'$id);
   
$statement->execute();
   
$statement->close();
   
$db_connection->close();
  }
    public static function 
getStreetsList() {
   
$arr = array();
   
$db_connection = new mysqlimysqlServermysqlUsermysqlPassmysqlDB);
   
$statement $db_connection->prepare("Select id, name, geolocations from streets order by name ASC");
   
$statement->bind_result$id$name$geolocations);
   
$statement->execute();
   while (
$statement->fetch()) {
    
$arr[] = [ "id" => $id"name" => $name"geolocations" => $geolocations];
   }
   
$statement->close();
   
$db_connection->close();
   return 
$arr;
  }
    public static function 
addArea($area,$geo) {
   
$db_connection = new mysqli(mysqlServermysqlUsermysqlPassmysqlDB);
   
$statement $db_connection->prepare("Insert INTO areas(name,geolocations) VALUES(?,?)");
   
$statement->bind_param('ss'$area,$geo);
   
$statement->execute();
   
$statement->close();
   
$db_connection->close();
  }
    public static function 
updateArea$id$geo) {
   
$db_connection = new mysqlimysqlServermysqlUsermysqlPassmysqlDB);
   
$statement $db_connection->prepare("Update areas SET geolocations = ? where id = ?");
   
$statement->bind_param('si'$geo$id);
   
$statement->execute();
   
$statement->close();
   
$db_connection->close();
  }
   public static function 
deleteArea($id) {
   
$db_connection = new mysqlimysqlServermysqlUsermysqlPassmysqlDB);
   
$statement $db_connection->prepare("Delete from areas where id = ?");
   
$statement->bind_param('i'$id);
   
$statement->execute();
   
$statement->close();
   
$db_connection->close();
  }
    public static function 
getAreasList() {
   
$arr = array();
   
$db_connection = new mysqlimysqlServermysqlUsermysqlPassmysqlDB);
   
$statement $db_connection->prepare("Select id, name, geolocations from areas order by name ASC");
   
$statement->bind_result$id$name$geolocations);
   
$statement->execute();
   while (
$statement->fetch()) {
    
$arr[] = [ "id" => $id"name" => $name"geolocations" => $geolocations];
   }
   
$statement->close();
   
$db_connection->close();
    return 
$arr;
  }
 }
?>
Y las lineas donde me da el error son estas:
Código: [Seleccionar]
<?php
 $arr
[] = ["id" => $id"company" => $company"details" => $details"latitude" => $latitude"longitude" => $longitude"telephone" => $telephone];
$arr[] = [ "id" => $id"name" => $name"geolocations" => $geolocations];
$arr[] = [ "id" => $id"name" => $name"geolocations" => $geolocations];
?>

El problema se me da en los arreglos donde se guardan las actualizaciones, que me dice q hay un problema con un "["; espero me puedan ayudar, ya que me llamo mucho la atenciony quisiera saber como funciona. Saludos

4
PHP / Problema en consulta phpy postgresql
« en: 24 de Noviembre de 2014, 19:25:49 pm »
Que tal amigos, espero esten bien, les escribo porq tengo un problemita en una consulta que estoy haciendo para extraer una parte de la fecha. Resulta que tengo un campo fecha de tipo timestamp without time zone, y necesito extraer las partes año mes y dia para luego asignarlas a un campo de formulario; estuve leyendo un poco sobre las funciones de fecha y hora en postgresql, y consegui la funcion EXTRACT, la probe en el manejador y hasta ahi todo bien, el problema se me presenta es cuando hago la consulta con php, cuando la voy a mostrar me carga el valor "Array", revise las variables que uso y esta todo bien; les dejo el codigo de la consulta y el campo donde la asigno para que la ojeen y me digan si estoy haciendo algo mal.

Esta la uso para extraer el año, mes y dia, solo q puse la del año porq las demas tienen la misma forma.

Código: [Seleccionar]
<?php
$f 
"SELECT EXTRACT(year from fhs) FROM bb_cp  ORDER BY id DESC LIMIT 1"
$an pg_query($f); 
$anho pg_fetch_assoc($an); 
echo 
$anho;
?>
 

Este es el campo donde asigno el año, en formato html..
Código: [Seleccionar]
<input name="anno" type="text" class="input" id="anno" title="A&ntilde;o del Evento"   size="4" maxlength="4" value="<?php echo $anho['YEAR from fhs']; ?>">

Espero puedan ayudarme a ver que pasa, porq ya la e probado y nada q funciona. Saludos..

5
PHP / Re:Listas desplegables en PHP/MySQL y AJAX
« en: 03 de Noviembre de 2014, 19:19:23 pm »
Citar
No veo donde insertas los datos en la base de datos (dichos ids).

Saludos.
Que tal manux, se me paso por alto ponerlo, aqui esta el código de insercion...

Código: [Seleccionar]
<?php
//Mensajes a mostrar durante la ejecucion del script
$mens="Los datos fueron registrados con exito";
$error '<a href="javascript: window.history.back()"><< Regresar a solucionar el problema</a>';
//Conexion con la base
require_once('../../librerias/config.php');
if(!isset(
$_POST["registro"])) { //Si nombre boton no es igual a registro, envia le mensaje
echo 'No puedes enviar  el formulario vacio, debes llenar todos los datos..<br />';
} else { 
//De lo contrario, a llenar las variables 
/**************************VARIABLES DE ENTRADA******************************/
$cinpa $_POST["cod_esp"]; //CODIGO EN NUMEROS DE LA ESPECIE A REGISTRAR
$cfao $_POST["cod_fao"]; //CODIGO EN LETRAS DE LA ESPECIE A REGISTRAR
$ning $_POST["ning"]; //NOMBRE EN INGLES DE LA ESPECIE A REGISTRAR
$nfran $_POST["nfran"]; //NOMBRE EN FRANCES DE LA ESPECIE A REGISTRAR
$nc1 $_POST["nc1"];//NOMBRE EN ESPAÑOL O COMUN 1 DE LA ESPECIE A REGISTRAR
$nc2 $_POST["nc2"];//NOMBRE EN ESPAÑOL O COMUN 2 DE LA ESPECIE A REGISTRAR
$nc3 $_POST["nc3"];//NOMBRE EN ESPAÑOL O COMUN 3 DE LA ESPECIE A REGISTRAR
$nc4 $_POST["nc4"];//CNOMBRE EN ESPAÑOL O COMUN 4 DE LA ESPECIE A REGISTRAR
$rei $_POST["select1"]; //REINO AL CUAL PERTENECE LA ESPECIE
$phy $_POST["select2"]; //PHYLUM AL CUAL PERTENECE LA ESPECIE
$cla $_POST["select3"];//CLASE AL CUAL PERTENECE LA ESPECIE
$ord $_POST["select4"]; //ORDEN AL CUAL PERTENECE LA ESPECIE
$fam $_POST["select5"]; //FAMILIA AL CUAL PERTENECE LA ESPECIE
$gen $_POST["select6"]; //GENERO AL CUAL PERTENECE LA ESPECIE
$esp $_POST["esp"];//NOMBRE DE LA ESPECIE
$ncien $_POST["ncient"]; //NOMBRE CIENTIFICO DE LA ESPECIE
$espigual mysql_query("SELECT * FROM especies WHERE cod_esp = $cinpa"); //Consulta que recoge los numeros de crucero
if(mysql_num_rows($espigual)) { //Funcion que verifica si el numero de crucero a ingresar ya existe, si existe emite un mensaje de error
echo 'la Especie Número (<i><b>' $cinpa '</b></i>), YA existe; Ingresa otro numero.<br />' $error '';
exit;
}
 /*echo 'reino:'.$rei;
  echo 'phylum:'.$phy;
  echo 'clase:'.$cla;
  echo 'orden:'.$ord;
  echo 'familia:'.$fam;
  echo 'genero:'.$gen; */
  
/*********************************************CONSULTA DE INGRESO DE DATOS*********************************************/
$sqlsp mysql_query("INSERT INTO especies (cod_esp,cfao,ning,nfran,nc1,nc2,nc3,nc4,reino,phylum,clase,orden,familia,genero,especie,nomb_cient,dataentry) 
  VALUES  ('
$cinpa','$cfao','$ning','$nfran','$nc1','$nc2','$nc3','$nc4','$rei','$phy','$cla','$ord','$fam','$gen','$esp','$ncien',NOW()) ");
  
  
  if(!$sqlsp) {    //Si hay error en la consulta de insercion, envie el error
echo 'Error en el registro.' $error '';
exit;
} else {// De lo contrario ingresar los datos
if (($cod_esp >= 160) && ($cod_esp <= 169)){  //Para las Caracteristicas de Tortugas Marinas
   print "<script>alert('$mens')</script>";
   print"<script>document.location='carac_tm.php'</script>";
    }else {
      if (($cod_esp >= 9) && ($cod_esp <= 95)){  //Para las Caracteristicas de Mamíferos Marinos
         print "<script>alert('$mens')</script>";
         print"<script>document.location='carac_mm.php'</script>";
      }else {   //Para las demas especies marinas (peces)
           print "<script>alert('$mens')</script>";
           print"<script>document.location='carac_esp.php'</script>";  
        }
              }
       }
}

?>

6
PHP / Listas desplegables en PHP/MySQL y AJAX
« en: 30 de Octubre de 2014, 17:13:22 pm »
Buenas amigos, espero esten bien, les escribo por lo siguiente, estoy creando un formulario para guardar datos de listas deslegables anidadas, y consegui un tuto en internet, descargue los archivos y hasta ahora me ha ido bien, salvo una cosa, cuando voy a guardar los datos de los selects que me generan los scripts me guarda los ids de los registros de las tablas, me gustaria que me guarde los nombres de las opciones como tal; lo q estoy creando es un pequeño sistemita de taxonomia, y me gustaria guardarlo de esa manera para no tener problemas a la hora de mostrar informacion acerca de algunas especies de animales.. Aqui les dejo los códigos:

reg_sp.php (El formulario, pongo solo los selects porq es algo largo)
Código: [Seleccionar]
<?php 
//Llamamos a config 
require_once('../../librerias/config.php'); 
function 
generaSelect() 

    
//include '../librerias/conexion.php'; 
    //conectar(); 
    
$consulta=mysql_query("SELECT id, opcion FROM reino"); 
    
//desconectar(); 

    // Voy imprimiendo el primer select  
     
    
echo "<select name='select1' id='select1' onChange='cargaContenido(this.id)'>"
    echo 
"<option value='0'>Selecciona Opción...</option>"
    while(
$registro=mysql_fetch_row($consulta)) 
    { 
        echo 
"<option value='".$registro[0]."'>".$registro[1]."</option>"
    } 
    echo 
"</select>"

?>

<td><span class="title03">Reino:</span><br />
                            <div id="demoIzq">
                              <?php generaSelect(); ?>
                            </div></td>
                          <td><span class="title03">Phylum:</span><br />
                            <div id="demoMed">
                              <select name="select2" disabled="disabled"  id="select2">
                                <option value="0">Selecciona opci&oacute;n...</option>
                              </select>
                            </div></td>
                          <td><span class="title03">Clase:</span><br />
                            <div id="demoDer">
                              <select name="select3" disabled="disabled"  id="select3">
                                <option value="0">Selecciona opci&oacute;n...</option>
                              </select>
                            </div></td>
                          <td><span class="title03">Orden:</span><br />
                            <div id="demoMed2">
                              <select name="select4" disabled="disabled"  id="select4">
                                <option value="0">Selecciona opci&oacute;n...</option>
                              </select>
                            </div></td>
                        </tr>
                        <tr>
                          <td><span class="title03">Familia:</span><br />
                            <div id="demoMed3">
                              <select name="select5" disabled="disabled"  id="select5">
                                <option value="0">Selecciona opci&oacute;n...</option>
                              </select>
                            </div></td>
                          <td><span class="title03">Genero:</span><br />
                            <div id="demoMed4">
                              <select name="select6" disabled="disabled"  id="select6">
                                <option value="0">Selecciona opci&oacute;n...</option>
                              </select>
                            </div></td>

cons_sel.php (Script que realiza la consulta de carga de datos a los selects)
Código: [Seleccionar]
<?php 
// Array que vincula los IDs de los selects declarados en el HTML con el nombre de la tabla donde se encuentra su contenido 
$listadoSelects=array( 
"select1"=>"reino"
"select2"=>"phylum"
"select3"=>"clase"
"select4"=>"orden"
"select5"=>"familia"
"select6"=>"genero" 
); 

function 
validaSelect($selectDestino

    
// Se valida que el select enviado via GET exista 
    
global $listadoSelects
    if(isset(
$listadoSelects[$selectDestino])) return true
    else return 
false


function 
validaOpcion($opcionSeleccionada

    
// Se valida que la opcion seleccionada por el usuario en el select tenga un valor numerico 
    
if(is_numeric($opcionSeleccionada)) return true
    else return 
false


$selectDestino=$_GET["select"]; $opcionSeleccionada=$_GET["opcion"]; 

if(
validaSelect($selectDestino) && validaOpcion($opcionSeleccionada)) 

    
$tabla=$listadoSelects[$selectDestino]; 
    include 
'../../librerias/config.php'
    
//conectar(); 
    
$consulta=mysql_query("SELECT id, opcion FROM $tabla WHERE relac='$opcionSeleccionada'") or die(mysql_error()); 
    
//desconectar(); 
     
    // Comienzo a imprimir el select 
    
echo "<select name='".$selectDestino."' id='".$selectDestino."' onChange='cargaContenido(this.id)'>"
    echo 
"<option value='0'>Selecciona opción...</option>"
    while(
$registro=mysql_fetch_row($consulta)) 
    { 
        
// Convierto los caracteres conflictivos a sus entidades HTML correspondientes para su correcta visualizacion 
        
$registro[1]=htmlentities($registro[1]); 
        
// Imprimo las opciones del select 
        
echo "<option value='".$registro[0]."'>".$registro[1]."</option>"
    }             
    echo 
"</select>"

?>

Aqui dejo un archivo .js que forma parte del modulo, si hay q cambiar el tema de foro, no hay problema.
Código: [Seleccionar]
function nuevoAjax()
{
/* Crea el objeto AJAX. Esta funcion es generica para cualquier utilidad de este tipo, por
lo que se puede copiar tal como esta aqui */
var xmlhttp=false;
try
{
// Creacion del objeto AJAX para navegadores no IE
xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
try
{
// Creacion del objet AJAX para IE
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch(E)
{
if (!xmlhttp && typeof XMLHttpRequest!='undefined') xmlhttp=new XMLHttpRequest();
}
}
return xmlhttp;
}

// Declaro los selects que componen el documento HTML. Su atributo ID debe figurar aqui.
var listadoSelects=new Array();
listadoSelects[0]="select1";
listadoSelects[1]="select2";
listadoSelects[2]="select3";
listadoSelects[3]="select4";
listadoSelects[4]="select5";
listadoSelects[5]="select6";

function buscarEnArray(array, dato)
{
// Retorna el indice de la posicion donde se encuentra el elemento en el array o null si no se encuentra
var x=0;
while(array[x])
{
if(array[x]==dato) return x;
x++;
}
return null;
}

function cargaContenido(idSelectOrigen)
{
// Obtengo la posicion que ocupa el select que debe ser cargado en el array declarado mas arriba
var posicionSelectDestino=buscarEnArray(listadoSelects, idSelectOrigen)+1;
// Obtengo el select que el usuario modifico
var selectOrigen=document.getElementById(idSelectOrigen);
// Obtengo la opcion que el usuario selecciono
var opcionSeleccionada=selectOrigen.options[selectOrigen.selectedIndex].value;
// Si el usuario eligio la opcion "Elige", no voy al servidor y pongo los selects siguientes en estado "Selecciona opcion..."
if(opcionSeleccionada==0)
{
var x=posicionSelectDestino, selectActual=null;
// Busco todos los selects siguientes al que inicio el evento onChange y les cambio el estado y deshabilito
while(listadoSelects[x])
{
selectActual=document.getElementById(listadoSelects[x]);
selectActual.length=0;

var nuevaOpcion=document.createElement("option"); nuevaOpcion.value=0; nuevaOpcion.innerHTML="Selecciona Opci&oacute;n...";
selectActual.appendChild(nuevaOpcion); selectActual.disabled=true;
x++;
}
}
// Compruebo que el select modificado no sea el ultimo de la cadena
else if(idSelectOrigen!=listadoSelects[listadoSelects.length-1])
{
// Obtengo el elemento del select que debo cargar
var idSelectDestino=listadoSelects[posicionSelectDestino];
var selectDestino=document.getElementById(idSelectDestino);
// Creo el nuevo objeto AJAX y envio al servidor el ID del select a cargar y la opcion seleccionada del select origen
var ajax=nuevoAjax();
ajax.open("GET", "cons_sel.php?select="+idSelectDestino+"&opcion="+opcionSeleccionada, true);
ajax.onreadystatechange=function()
{
if (ajax.readyState==1)
{
// Mientras carga elimino la opcion "Selecciona Opcion..." y pongo una que dice "Cargando..."
selectDestino.length=0;
var nuevaOpcion=document.createElement("option"); nuevaOpcion.value=0; nuevaOpcion.innerHTML="Cargando...";
selectDestino.appendChild(nuevaOpcion); selectDestino.disabled=true;
}
if (ajax.readyState==4)
{
selectDestino.parentNode.innerHTML=ajax.responseText;
}
}
ajax.send(null);
}
}

Bueno, basicamente estos son los cripts que uso para realizar estas operaciones, pero como les dije, no quiero guardar los ids sino los nombres de las opciones, pero nose que cambiar. Espero su ayuda.. Saludos

7
PHP / Mostrar mapa de ruta de navegacion haciendo clic en un link
« en: 01 de Agosto de 2012, 17:59:11 pm »
Que tal amigos, espero esten bien, les escribo porque tengo l siguiente detallito:

En mi software tengo un modulo para mostrar la ruta de los barcos en un mapa, lo puse con google maps, e hice la prueba y me coloca las rutas tal cual dependiendo de los parametros de latitud y longitud, hasta ahi todo bien. El problema se me presenta cuando tengo mas de un viaje, y quiero verlo, hice una busqueda en la base de datos por codigo de viaje, y este se me muestra en una tabla en html, aqui el siguiente codigo:

Código: [Seleccionar]
<?php 
require("phpsqlajax_dbinfo.php"); 

// Opens a connection to a MySQL server 
$connection=mysql_connect (localhost$username$password); 
if (!
$connection) { 
  die(&
#39;Not connected : &#39; . mysql_error()); 


// Set the active MySQL database 
$db_selected mysql_select_db($database$connection); 
if (!
$db_selected) { 
  die (&
#39;Can\&#39;t use db : &#39; . mysql_error()); 

if(isset(
$_GET[&#39;cod&#39;])){ //ESTA ES LA VARIABLE QUE ME CARGA EL NUMERO DEL VIAJE 
         
        
$code $_GET[&#39;cod&#39;];    //ESTA ES LA VARIABLE QUE ME CARGA EL NUMERO DEL VIAJE 
         
                 
        //Se procede con la consulta 
        
$query = &#39;SELECT * FROM cuad_pesca WHERE crno = \&#39;&#39;.$code.&#39;\&#39; order by id_cpp asc&#39;;  
        
$que mysql_query($query); 
                         
        
//Comprobar si se ha realizado la consulta 
        
if (!$query) { 
            die(&
#39;Error: &#39;.mysql_error()); 
        

        
//Mensaje de error en caso de que el codigo no exista 
        
if (!mysql_num_rows($que)) { 
            echo &
#39;Error en el codigo ingresado, intenta de nuevo&#39;.  $error . &#39;&#39;; 
            
exit; 
        } 
    } 
?>

<a href="phpsqlajax_map.htm?id=<?php echo $code?>">VER MAPA</a>//AQUI EL LINK
<table id="Exportar_a_Excel" width=500 align=center > 
<tr bgcolor="0479ff" align=center> 
       <td><b class="heads_tbl">Evento</b></td> 
    <td><b class="heads_tbl">Fecha</b></td> 
       <td><b class="heads_tbl">Latitud</b></td> 
       <td><b class="heads_tbl">Longitud</b></td>
</tr> 
<?
//creo e inicializo la variable para contar el número de filas 
$num_fila = 0; 

//bucle para mostrar los resultados 
while ($damefila=mysql_fetch_object($que)){ 
       echo "<tr "; 
       if ($num_fila%2==0) 
           echo "bgcolor=#dfecfc"; //si el resto de la división es 0 pongo un color 
       else 
           echo "bgcolor=#92c2fc"; //si el resto de la división NO es 0 pongo otro color 
       echo ">"; 
?> 
           <td align="center" class="data"><? echo $damefila->avbevento;?></td> 
         <td align="center" class="data"><? echo $damefila->fechahora;?></td> 
           <td align="center" class="data"><? echo $damefila->lat_dec;?></td> 
           <td align="center" class="data"><? echo $damefila->long_dec;?></td> 
      </tr> 
<? 
       //aumentamos en uno el número de filas 
       $num_fila++; 
} //cierro el while 
?>     
</table>

El enlace "ver mapa", me lleva a otro archivo .php que me genera los datos en un archivo .XML, e aqui donde tengo el detalle, cuando voy a cargar el archivo XML, me lo carga vacio, por lo cual no me carga los puntos en el mapa, aqui el codigo de este archivo:

Código: [Seleccionar]
<?php 
require("phpsqlajax_dbinfo.php"); 

function 
parseToXML($htmlStr)  
{  
$xmlStr=str_replace(&#39;<&#39;,&#39;&lt;&#39;,$htmlStr);  
$xmlStr=str_replace(&#39;>&#39;,&#39;&gt;&#39;,$xmlStr);  
$xmlStr=str_replace(&#39;"&#39;,&#39;&quot;&#39;,$xmlStr);  
$xmlStr=str_replace("&#39;",&#39;&#39;&#39;,$xmlStr);  
$xmlStr=str_replace("&",&#39;&amp;&#39;,$xmlStr);  
return $xmlStr;  
}  

// Opens a connection to a MySQL server 
$connection=mysql_connect (localhost$username$password); 
if (!
$connection) { 
  die(&
#39;Not connected : &#39; . mysql_error()); 


// Set the active MySQL database 
$db_selected mysql_select_db($database$connection); 
if (!
$db_selected) { 
  die (&
#39;Can\&#39;t use db : &#39; . mysql_error()); 


// Select all the rows in the markers table 
$query "SELECT * FROM cuad_pesca WHERE 1"
$result mysql_query($query); 
if (!
$result) { 
  die(&
#39;Invalid query: &#39; . mysql_error()); 


header("Content-type: text/xml"); 

// Start XML file, echo parent node 
echo &#39;<markers>&#39;; 

// Iterate through the rows, printing XML nodes for each 
while ($row = @mysql_fetch_assoc($result)){ 
  
// ADD TO XML DOCUMENT NODE 
  
echo &#39;<marker &#39;; 
  
echo &#39;crno="&#39; . parseToXML($row[&#39;crno&#39;]) . &#39;" &#39;; 
  
echo &#39;fecha="&#39; . parseToXML($row[&#39;fechahora&#39;]) . &#39;" &#39;; 
  
echo &#39;even="&#39; . parseToXML($row[&#39;avbevento&#39;]) . &#39;" &#39;; 
  
echo &#39;lat="&#39; . parseToXML($row[&#39;lat_dec&#39;]) . &#39;" &#39;; 
  
echo &#39;long="&#39; . parseToXML($row[&#39;long_dec&#39;]) . &#39;" &#39;; 
  
echo &#39;/>&#39;; 


// End XML file 
echo &#39;</markers>&#39;; 

?>

el detalle que tengo es como pasar la variable $code para que me tome los datos en el archivo donde me genera el XML, y asi poder mostrar los puntos en el mapa. Espero su ayuda. Saludos

8
JavaScript / Problema al multiplicar latitud por -1
« en: 19 de Julio de 2012, 21:46:54 pm »
Que mas amigos, les escribo por lo siguiente:

Mi sistema trabaja con coordenadas de latitud y longitud (Grados y Minutos), y tengo una funcion que genera la mascara de entrada y hace el calculo de conversion a decimales, hasta ahi todo bien. En mi form tengo un campo que me indica cuando al latitud es al Norte (1) o al Sur (2); cuanod la latitud esta registrada al norte, es decir 1, no tengo problemas, el detalle se me presenta cuando la latitud es igual a 2, ya que en la conversion se debe multiplicar por -1 para que de negativa. Les dejo als funciones que utilizo para generar mascara de entrada y hacer los calculos.

Código: [Seleccionar]
//Funcion que genera una mascara de entrada para la latitud
 function mascara_lat(lat){ 
              var mylat = ''; 
              mylat = mylat + lat; 
              if (mylat.length == 2){ 
                  mylat = mylat + '°'; 
                  document.forms[0].lat.value = mylat; 
              } 
              if (mylat.length == 5){ 
                  mylat = mylat + '´'; 
                  document.forms[0].lat.value = mylat; 
                  verifica_coord(); 
              } 
          } 
  //Funcion que verifica las coordenadas de latitud correctas       
         function verifica_coord(){ 
               m1= 1;
               
              var dec=''
              gds = (document.forms[0].lat.value.substring(0,2)); 
              min = (document.forms[0].lat.value.substring(3,5)); 
               
               situacao = ""; 
              // verifica grados y minutos
              if ((gds < 00) || (gds > 25)){
                  situacao = "falsa";
              }
              if (( min < 00) ||( min > 59)){ 
                  situacao = "falsa"; 
              } 
               if (document.forms[0].ns.value == 2) { //Aqui esta el detalle, nose si lo estoy haciendo bien
                  m1 = -1; 
              } 
               
              if (document.forms[0].lat.value == "") { 
                  situacao = "falsa"; 
              } 

              if (situacao == "falsa") { 
                  alert("Posicion Invalida!"); 
                  document.forms[0].lat.focus(); 
              } 
            dec = (parseFloat(gds) + (min / 60.0)) * m1;
            document.forms[0].xxxx.value = dec;
                 
        } 

Con la longitud no tengo problemas, ya que esta siempre es al oeste, espero me puedan ayudar con este detallito. Saludos...

9
PHP / Exportar datos de consulta mysql a pdf/excel/word desde PHP
« en: 14 de Junio de 2012, 22:14:41 pm »
Que mas amigos, les escribo por lo siguiente:

Estoy generando reportes en mi aplicacion, y necesito mostrar los resultados en informes, ya sea en pdf, excel o word (si puedo exportarlos de las 3 maneras mucho mejor), tengo los resultados con sus consultas en php y los muestro en tablas html en una pagina normal, desde ahi quisiera presionar un boton y que me los exporte a cualquiera de las 3 aplicaciones; tengo un boton para imprimir datos desde la misma pagina del reporte, y funciona sin problemas.  He probado la herramienta "dompdf", pero solo llegue a colocar el titulo del reporte y la cabecera de la tabla, del resto no e podido hacer mas nada, y tambien probe la herramienta "fpdf" y, a pesar de que obtuve los resultados que queria, me faltaron un par de variables que no consigo como guardar.  El detalle es que no encuentro como mostrar o exportar los resultados que quiero de la forma que quiero, asi que preferi mejorar el diseño de las tablas y mostrar los datos en una pagina web normal, comun y corriente. lo estoy haciendo de esta forma:

El codigo de busqueda:

Código: [Seleccionar]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>..::||| BUSQUEDA DE CRUCEROS |||::..</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../css/style.css">

</head>

<body>
<table width="455" border="0" align="center" cellpadding="3" cellspacing="1" bgcolor="#000000" class="input">
  <tr>
    <td align=center bgcolor="#ffffff"><img src="../../../images/palangreh.png" width="466" height="62"></td>
  </tr>
</table>
<p>&nbsp;</p>
<p align="center" class="title03">CAPTURA TOTAL POR CRUCERO/TIPO</p>
<form method="GET" name="frm_barco" action="caps_crno.php" target="_blank">
  <div align="center">
    <p>&nbsp;</p>
    <p>CRUCERO:
      <input name="cod" type="text" class="input" id="cod"  size="10" maxlength="5" title="Codigo del crucero a ingresar">
    TIPO CAPTURA:
    <input name="cod2" type="text" class="input" id="cod2"  size="5" maxlength="1" title="Codigo del crucero a ingresar">
    </p>
    <p>
      <input name="Submit" type="submit" class="FBoton" value="Enviar">
</p>
    <p>&nbsp;    </p>
  </div>
</form>
<p>&nbsp;</p>
</body>
</html>

Archivo de consultas e impresion de datos en html:

Código: [Seleccionar]
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../css/style.css">
<?php  
require_once(&#39;../librerias/config.php&#39;);
$error = &#39;<a href="javascript: window.history.back()"><< Volver >></a>&#39;;// Mensaje de error y nos devuelve atras
if(isset($_GET[&#39;cod&#39;])){ //SI SE HA METIDO EL CODIGO DEL BARCO

//Realizar la conexion al servidor (sustituyes la info con los datos de tu servidor)
$code $_GET[&#39;cod&#39;]; //PARA USAR GET, USA EL FORM QUE TE DEJO
$codi $_GET[&#39;cod2&#39;];

//Se procede con la consulta
$query = &#39;SELECT nlance,ci,nind,nkg FROM caplpal WHERE crno = \&#39;&#39;.$code.&#39;\&#39; && cond = \&#39;&#39;.$codi.&#39;\&#39; order by nlance asc&#39;; 
$que mysql_query($query);

//Comprobar si se ha realizado la consulta
if (!$query) {
die(&#39;Error: &#39;.mysql_error());
}
//Mensaje de error en caso de que el codigo no exista
if (!mysql_num_rows($que)) {
echo &#39;Error en el codigo ingresado, intenta de nuevo&#39;.  $error . &#39;&#39;;
exit;
}
}
?>

<?php echo &#39;<p align="center"><b>CAPTURA TOTAL POR CRUCERO/TIPO </b></p>&#39;; ?>
<?php echo &#39;<p align="center"><b>CRUCERO: &#39;. $code . &#39;</b>&#39;,&#39; &#39;, &#39;<b>TIPO CAPTURA: &#39;. $codi . &#39;</b></p>&#39;; ?>
<table width=500 align=center >
<tr bgcolor="0479ff" align=center>
    <td><b class="heads_tbl">LANCE</b></td>
    <td><b class="heads_tbl">ESPECIE</b></td>
    <td><b class="heads_tbl">N&deg; INDIVIDUOS</b></td>
    <td><b class="heads_tbl">N&deg; KILOGRAMOS</b></td>
</tr>
<?
//creo e inicializo la variable para contar el número de filas
$num_fila = 0;

//bucle para mostrar los resultados
while ($damefila=mysql_fetch_object($que)){
    echo "<tr ";
    if ($num_fila%2==0)
      echo "bgcolor=#dfecfc"; //si el resto de la división es 0 pongo un color
    else
      echo "bgcolor=#92c2fc"; //si el resto de la división NO es 0 pongo otro color
    echo ">";
?>
      <td align="center" class="data"><? echo $damefila->nlance;?></td>
         <td align="center" class="data"><? echo $damefila->ci;?></td>
      <td align="center" class="data"><? echo $damefila->nind;?></td>
      <td align="center" class="data"><? echo $damefila->nkg;?></td>
      </tr>
<?
    //aumentamos en uno el número de filas
    $num_fila++;
} //cierro el while
?>
</table>
<p align="center">
      <input type="button" name="pdf" id="pdf"  value="Enviar a PDF"/>
      <input type="button" name="xls" id="pdf"  value="Enviar a MS Excel"/>
      <input type="button" name="doc" id="pdf"  value="Enviar a MS Word"/>
  <input type="button" name="button" id="button" value="Imprimir" onclick="window.print();"/>
</p>

Esta es la manera que uso para crear los reportes y, como les dije, quisiera que al hacer click en cualquiera de los botones me exporte el reporte a la respectiva aplicacion, ya sea word, excel o formato pdf. Espero su ayuda muchachos..

10
JavaScript / habilitar campos del formulario dependiendo de un valor ingresado
« en: 01 de Junio de 2012, 20:36:18 pm »
Que mas amigos, les escribo esta vez porque quiero que me den una manito, les cuento el problema:

Resulta que tengo un formulario que maneja unos datos de actividades de navegacion de un barco, estas actividades se denominan sucesos o eventos, y ocurren durante el viaje de una embarcacion y dependiendo de estos sucesos o eventos registrados, se llena una serie de campos en el formulario, los datos del formulario son los siguientes:

numero del crucero
año
fecha
hora
evento/suceso
latitud
longitud
numero observacion
velocidad
rumbo
temperatura
nubosidad
visibilidad
beaufort
captura o pesca(yft,alb,bet,skj,otr)
codigo especie
lance


como expuse anteriormente, estos datos se van a llenar dependiendo del suceso que ocurra en el momento, los sucesos son los siguientes:

deriva = 3
mamif = 4
nav = 8
salida = 14
llegada = 15
tortuga = 17
alba = 21
ocaso = 22
inilan = 23
inirec = 24
finlan = 25
finrec = 26


estos eventos se registran en la planilla con su codigo o abreviatura en letras, en la aplicacion se registraran con su equivalente en numeros.

Lo que quiero hacer es que los campos se deshabiliten dependiendo del evento que se haya registrado, por ejemplo, para el suceso "DERIVA" se registra solo el numero de crucero, fecha, hora y evento, los demas campos quedan vacios, en cambio, para el suceso "NAV(navegar)", se ingresan el numero del crucero, fecha, hora, evento, latitud longitud, velocidad, rumbo, temperatura y factores climaticos (nubosidad, visibilidad, beaufort); los unicos datos que se llenaran para todos los eventos son Numero dle crucero, fecha, hora y evento, estos van obligatoriamente para todos, y dependiendo del evento qe ocurra se llenaran los campos asociados a dicho evento, los demas deben quedar deshabilitados. probe con la funcion switch pero nose que atributo asignarle al campo de texto, ya que el suceso se debe ingresar por teclado. Espero me puedan ayudar. Saludos

11
PHP / Calculo de distancia entre dos coordenadas
« en: 30 de Mayo de 2012, 22:44:34 pm »
que mas amigos, espero esten bien, les escribo por lo siguiente:

Necesito calcular la distancia entre dos puntos dadas sus coordenadas geograficas, lo estoy trabajando de a siguiente manera: ingreso las coordenadas de un punto en formato de latitud y longitud, el sistema me hace la conversion a formato decimal, y este ingresa todos los datos en los dos formatos en una tabla llamada "posiciones", luego extraigo todos los datos conforme los voy ingresando y los muestro en una tabla debajo del formulario,esta tabla contiene una columna al final donde se va a mostrar la distancia calculada entre los dos puntos,  hasta ahi todo bien; luego para hacer los calculos de distancia, selecciono solo las coordenadas en formato decimal, y las asigno a 4 variables, dado que son 4 datos para poder aplicar la formula, el calculo lo hice de dos formas:

1ra forma: Aplique la siguiente consulta:

Código: [Seleccionar]
$d= mysql_query("SELECT (acos(sin(radians(l1)) * sin(radians(l2)) + cos(radians(l1)) * cos(radians(l2)) * cos(radians(lo1) - radians(lo2))) * 6378) as distp1p2 FROM posiciones_dist");
$dis=mysql_fetch_assoc($d);
$dist=($dis['distp1p2']);

el resultado me lo da para el primer registro, pero luego lo que hace es repetirme el mismo valor en todas las columnas..

2da forma: Aplique la siguiente formula:

Código: [Seleccionar]
$dist = acos(sin($g) * sin($h) + cos($g) + cos($h) * cos($i) - $j) * $earth;
el resultado fue que me mostraba un "NAN" en cada columna, supongo que es algun valor no determinado..

los 2 script que estoy usando son los siguientes.:

lat_long.php

Código: [Seleccionar]
<?php
require_once(&#39;librerias/config.php&#39;);
$earth 6378;
$querys "SELECT * FROM posiciones_dist ORDER BY id DESC limit 5";
$que mysql_query($querys);
$e mysql_query(&#39;SELECT l1,l2,lo1,lo2 FROM  posiciones_dist order by id desc limit 1&#39;);
$f mysql_fetch_assoc($e);//Arreglo que guarda los valores de la consulta
$g = ($f[&#39;l1&#39;]);
$h = ($f[&#39;l2&#39;]);
$i = ($f[&#39;lo1&#39;]);
$j = ($f[&#39;lo2&#39;]);

$dist acos(sin($g) * sin($h) + cos($g) + cos($h) * cos($i) - $j) * $earth;
/*$d= mysql_query("SELECT (acos(sin(radians(l1)) * sin(radians(l2)) + cos(radians(l1)) * cos(radians(l2)) * cos(radians(lo1) - radians(lo2))) * 6378) as distp1p2 FROM posiciones_dist");
$dis=mysql_fetch_assoc($d);
$dist=($dis[&#39;distp1p2&#39;]);*/

?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" type="text/css" href="css/cuscosky.css">
<title>Documento sin t&iacute;tulo</title>
<script charset="utf8">
//Funcion que genera una mascara de entrada para la latitud
 function latitud(l1){
              var mylat = '';
              mylat = mylat + l1;
              if (mylat.length == 2){
                  mylat = mylat + '°';
                  document.forms[0].l1.value = mylat;
              }
              if (mylat.length == 5){
                  mylat = mylat + '´';
                  document.forms[0].l1.value = mylat;
                  verifica_coord();
              }
          }
  //Funcion que verifica las coordenadas de latitud correctas       
         function verifica_coord(){
               m1= 1;
           
    var dec=''
              gds = (document.forms[0].l1.value.substring(0,2));
              min = (document.forms[0].l1.value.substring(3,5));
             
  // verifica grados y minutos
              situacao = "";
  if ((gds < 00) || (gds > 25)){
                  situacao = "falsa";
              }
              if (( min < 00) ||( min > 59)){
                  situacao = "falsa";
              }
               
              if (document.forms[0].l1.value == "") {
                  situacao = "falsa";
              }

              if (situacao == "falsa") {
                  alert("Posicion Invalida!");
                  document.forms[0].l1.focus();
              }
            dec = (parseFloat(gds) + (min / 60.0)) * m1;
            document.forms[0].ld1.value = dec;
               
        }
             
  //Funcion que genera una mascara de entrada para la longitud
        function longitud(lo1){
              var mylong = '';
              mylong = mylong + lo1;
              if (mylong.length == 2){
                  mylong = mylong + '°';
                  document.forms[0].lo1.value = mylong;
              }
              if (mylong.length == 5){
                  mylong = mylong + '´';
                  document.forms[0].lo1.value = mylong;
                  verifica_coord2();
              }
       }     
 
//Funcion que verifica las coordenadas de longitud correctas
        function verifica_coord2(){
               m1= -1;
               var dec=''             
              gds = (document.forms[0].lo1.value.substring(0,2));
              min = (document.forms[0].lo1.value.substring(3,5));
                             
              situacao = "";
              // verifica grados y minutos
               if ((gds < 00) || (gds > 80)){
                  situacao = "falsa";
              }
              if (( min < 00) ||( min > 59)){
                  situacao = "falsa";
              }
               
              if (document.forms[0].lo1.value == "") {
                  situacao = "falsa";
              }

                if (situacao == "falsa") {
                  alert("Posicion Invalida!");
                  document.forms[0].lo1.focus();
              }
            dec = (parseFloat(gds) + (min / 60.0)) * m1;
            //valor=dec.toFixed(0);
            document.forms[0].lod1.value = dec;
            }
     //Funcion que genera una mascara de entrada para la latitud
 function latitud2(l2){
              var mylat = '';
              mylat = mylat + l2;
              if (mylat.length == 2){
                  mylat = mylat + '°';
                  document.forms[0].l2.value = mylat;
              }
              if (mylat.length == 5){
                  mylat = mylat + '´';
                  document.forms[0].l2.value = mylat;
                  verifica_coord3();
              }
          }
  //Funcion que verifica las coordenadas de latitud correctas       
         function verifica_coord3(){
               m1= 1;
              // m2= 100;
              var dec=''
              gds = (document.forms[0].l2.value.substring(0,2));
              min = (document.forms[0].l2.value.substring(3,5));
             
               situacao = "";
              // verifica grados y minutos
             
  if ((gds < 00) || (gds > 25)){
                  situacao = "falsa";
              }
              if (( min < 00) ||( min > 59)){
                  situacao = "falsa";
              }
               
              if (document.forms[0].l2.value == "") {
                  situacao = "falsa";
              }

              if (situacao == "falsa") {
                  alert("Posicion Invalida!");
                  document.forms[0].l2.focus();
              }
           dec = (parseFloat(gds) + (min / 60.0)) * m1;
            document.forms[0].ld2.value = dec;
               
        }
             
  //Funcion que genera una mascara de entrada para la longitud
        function longitud2(lo2){
              var mylong = '';
              mylong = mylong + lo2;
              if (mylong.length == 2){
                  mylong = mylong + '°';
                  document.forms[0].lo2.value = mylong;
              }
              if (mylong.length == 5){
                  mylong = mylong + '´';
                  document.forms[0].lo2.value = mylong;
                  verifica_coord4();
              }
       }     
 
//Funcion que verifica las coordenadas de longitud correctas
        function verifica_coord4(){
               m1= -1;
              // m2= 100;
              var dec=''             
              gds = (document.forms[0].lo2.value.substring(0,2));
              min = (document.forms[0].lo2.value.substring(3,5));
                             
              situacao = "";
              // verifica grados y minutos
               if ((gds < 00) || (gds > 80)){
                  situacao = "falsa";
              }
              if (( min < 00) ||( min > 59)){
                  situacao = "falsa";
              }
               
              if (document.forms[0].lo2.value == "") {
                  situacao = "falsa";
              }

                if (situacao == "falsa") {
                  alert("Posicion Invalida!");
                  document.forms[0].lo2.focus();
              }
           dec = (parseFloat(gds) + (min / 60.0)) * m1;
            document.forms[0].lod2.value = dec;
            }

</script>
<style type="text/css">
.Estilo5 {font-size: 75%}
.Estilo7 {font-size: 70%}
</style>
</head>

<body>
<form id="form1" name="form1" method="post" action="dist.php">
  <p>Latitud 1:
    <input type="text" name="l1" id="l1" onkeyup="latitud(this.value)" />
    <input type="text" name="ld1" id="ld1"  readonly="readonly"/>
  Longitud 1:
    <input type="text" name="lo1" id="lo1" onkeyup="longitud(this.value)" />
    <input type="text" name="lod1" id="lod1" readonly="readonly"/>
  </p>
  <p>Latitud 2:
    <input type="text" name="l2" id="l2" onkeyup="latitud2(this.value)" />
    <input type="text" name="ld2" id="l4" readonly="readonly"/>
  Longitud 2:
    <input type="text" name="lo2" id="lo2" onkeyup="longitud2(this.value)" />
    <input type="text" name="lod2" id="lo4" readonly="readonly"/></p>
  <p>
    <input type="submit" name="enviar" id="enviar" value="Enviar" />
  </p>
</form>
<table align="center" summary="Tabla de ejemplo">
  <caption>
    LATITUDES Y LONGITUDES
  </caption>
  <thead>
    <tr class="Estilo5">
      <th>LATIDUD1</th>
      <th>LATITUD_D1</th>
      <th>LATITUD2</th>
      <th>LATITUD_D2</th>
      <th>LONGITUD1</th>
      <th>LONGITUD_D1</th>
      <th>LONGITUD2</th>
      <th>LONGITUD_D2</th>
      <th>DISTANCIA</th>
     </tr>
  </thead>
  <tbody>
    <?php while ($rs mysql_fetch_assoc($que)) { ?>
    <tr class="Estilo7">
      <td><?php echo $rs[&#39;lat1&#39;]; ?></td>
      <td><?php echo $rs[&#39;l1&#39;]; ?></td>
      <td><?php echo $rs[&#39;lat2&#39;]; ?></td>
      <td><?php echo $rs[&#39;l2&#39;]; ?></td>
      <td><?php echo $rs[&#39;long1&#39;]; ?></td>
      <td><?php echo $rs[&#39;lo1&#39;]; ?></td>
      <td><?php echo $rs[&#39;long2&#39;]; ?></td>
      <td><?php echo $rs[&#39;lo2&#39;]; ?></td>
      <td><?php echo $dist?></td>
     </tr>
    <?php }  ?>
  </tbody>
</table>
<p>
</body>
</html>

dist.php

Código: [Seleccionar]
<?php
require_once(&#39;librerias/config.php&#39;);
$mens="Los datos fueron registrados con exito"//Mensaje de guardado correcto de datos
$error = &#39;<a href="javascript: window.history.back()"><< Regresar a solucionar el problema</a>&#39;; //Mensaje de Error de guardado de los datos
if(!isset($_POST["enviar"])) { //Si nombre boton no es igual a registro, envia le mensaje
echo &#39;No puedes enviar  el formulario vacio, debes llenar todos los datos..<br />&#39;;
} else { //De lo contrario, a llenar las variables 
$lat1 $_POST["l1"]; 
$l1 $_POST["ld1"]; 
$lat2 $_POST["l2"]; 
$l2 $_POST["ld2"];
$long1 $_POST["lo1"];
$lo1 $_POST["lod1"];
$long2 $_POST["lo2"]; 
$lo2 $_POST["lod2"];
$sql mysql_query("INSERT INTO posiciones_dist (lat1,l1,lat2,l2,long1,lo1,long2,lo2) 
                   VALUES  (&#39;
$lat1&#39;,&#39;$l1&#39;,&#39;$lat2&#39;,&#39;$l2&#39;,&#39;$long1&#39;,&#39;$lo1&#39;,&#39;$long2&#39;,&#39;$lo2&#39;) ");
 
 if(!
$sql) {    //Si hay error en la consulta de insercion, envie el error
echo &#39;Error en el registro.&#39; . $error . &#39;&#39;;
exit;
} else {// De lo contrario ingresar los datos
print "<script>alert(&#39;$mens&#39;)</script>";
print"<script>document.location=&#39;lat_long.php&#39;</script>";
}
}



?>

Quiero saber que es lo qe estoy aplicando mal, que no me funciona de ninguna de las dos formas, espero me puedan dar una manito. Saludos!!

12
PHP / Advertencia en presentacion de registros en pantalla...
« en: 29 de Febrero de 2012, 19:44:39 pm »
Que mas amigos, tenia tiempo sin pasarme por aqui, les escribo porque tengo un problemita en mi sistema, se trata de lo siguiente:

Resulta que yo tengo un formulario llamado resumen del crucero que me ingresa los datos generales del viaje, y este formulario lo dividi en 2 partes, una que contiene los datos generales del viaje, tales como el nombre del barco, numero del viaje, nombre del observador a bordo, nombre del capitan, fecha de inicio y de final del viaje; el otro formulario me muestra un resumen de las capturas totales que tuvo el barco durante las faenas de pesca, y voy ingresando por especie de peces y por kilogramos capturados, y al final muestro los totales de individuos y de kilogramos, hasta ahi todo bien, tengo dos tablas distintas para cada formulario y estas se enlazan con el codigo de la emarcacion y el codigo del viaje, y estos datos se muestran en el segundo formulario.

El problemita se me presenta cuando voy a ingresar el primer registro, en la primera parte los ingresa sin problemas, y los muestra tal cual en pantalla, pero cuando paso al segundo formulario, el de la captura total, me muestra el siguiente error:

Código: [Seleccionar]
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\pruebas\res_crnoi.php on line 58
Esto sucede porque tengo 2 consultas que me realizan la suma de indivduos y kilogramos capturados, esta son dichas consultas:

Código: [Seleccionar]
$ind =  mysql_query('SELECT SUM( nind ) as tind FROM rccaii WHERE crno = '.$g.'');
$sum =  mysql_fetch_assoc($ind);
$suma = ($sum['tind']);

$kgs =  mysql_query('SELECT SUM( nkg ) as tkg FROM rccaii WHERE crno = '.$g.'');
$sumkg =  mysql_fetch_assoc($kgs);
$sumakg = ($sumkg['tkg']);

luego de ingresar el primer registro, los errores desaparecen, solo se muestran cuando tengo la tabla sin datos, estos se muestran en 3 lineas del codigo fuente, y dos de esas son las consultas mostradas anteriormente, la otra es cuando muestro los registros en pantalla, quisiera que me dieran una ayudita con esto ya que no tengo idea del porque me arroja esa advertencia. Saludos

13
PHP / Guardar el nombre de usuario en la tabla de registros
« en: 03 de Noviembre de 2011, 16:42:24 pm »
Que mas amigos, espero esten bien, les escribo ahora porq tngo una pregunta:

Como puedo guardar el nombre de usuario en una tabla donde este ingresando registros X? me refiero, quiero saber quien realiza los ingresos en el sistema que estoy desarrollando, puesto que tenemos varios usuarios, cada quien se loguea con su user y su clave, pero quisiera saber como guardar ese user en una tabla a modo de llevar un historial de cuando se hacen y quien hace los ingresos de datos; ya logre ingresar la fecha y la hora con la funcion NOW() de mysql, y todo perfecto, pero no encuentro como ingresar el nombre del usuario. Espero puedan ayudarme. Saludos!!!

14
PHP / Re:Problema con edicion de datos y headers
« en: 02 de Noviembre de 2011, 20:25:06 pm »
Tranquilo amigo, no hay cuidado, gracias por la respuesta de todas maneras, igual si no la habria visto me hubiese servido. Un saludo!!

15
PHP / Re:Problema con edicion de datos y headers
« en: 02 de Noviembre de 2011, 19:33:45 pm »
Citar
Hola Chewii Nos podrias dar la estructura de la base de datos tienes algun varchar en ninguna veo '' eso te podria arrojar error dejanos ver la estructura de la tabla

Que mas amigo jeduaror, aqui t dejo la estructura de la tabla...

Código: [Seleccionar]
CREATE TABLE `caplpal` (
  `id_caplpal` int(10) NOT NULL auto_increment COMMENT 'id autonumerico para manejar y contar los registros de las capturas',
  `crno` int(5) NOT NULL COMMENT 'Numero del crucero',
  `nlance` int(4) NOT NULL COMMENT 'Numero del lance',
  `ci` int(4) default NULL COMMENT 'Codigo INPA de la especie',
  `nind` int(4) default NULL COMMENT 'Numero de individuos capturados por especie',
  `nkg` int(4) default NULL COMMENT 'Kilogramos capturados por especie',
  `cond` int(1) NOT NULL,
  PRIMARY KEY  (`id_caplpal`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=247 ;


Citar
El error de headers es común, usa mejor javascript para redireccionar.

Con lo otro, posiblemente sea lo que dice jeduardor.
Saludos.

Bueno amigo joaquin, sera que probare direccionar con javascript, en caso de q me siga lanzando el error. Saludos y gracias por su ayuda, cualquier cosa vuelvo a mensajear...

EDITO

Que tal amigos, ya encontre el problemita que tenia, estaba haciendo el update en la tabla que no era, tenia el nombre errado en la consulta, de ahi el porq no me modificaba, definitivamente hay q levantarse a tomarse un break y comer, sobretodo eso, para poder pensar mejor. Saludos y muchisimas gracias por sus respuestas.

Páginas: [1] 2 3 ... 5