Foros del Web » Programando para Internet » PHP »

Como sería?

Estas en el tema de Como sería? en el foro de PHP en Foros del Web. Buenas, intento hacer un script que me calcule los años que tiene una persona y lo guarde en una tabla. No tengo mucha idea con ...
  #1 (permalink)  
Antiguo 28/10/2003, 18:56
 
Fecha de Ingreso: octubre-2003
Ubicación: Galicia-España
Mensajes: 17
Antigüedad: 14 años, 1 mes
Puntos: 0
Como sería?

Buenas, intento hacer un script que me calcule los años que tiene una persona y lo guarde en una tabla. No tengo mucha idea con PHP pero intento aprender
Este sería el código que tengo:
Código PHP:
<?
include("conecta.php");
$selec=mysql_query("select * from fichas"$conecta);
$datos mysql_fetch_array($selec);

$dia=date("d");
$mes=date("m");
$ano=date("Y");
$exp_mes=$datos[exp_meses];
$exp_dia=$datos[exp_dias];

if ((
$mes==$exp_mes)&&($dia==$exp_dia))
   {
$totalanos=$ano-$datos[exp_anos];
myqsl_query("insert into fichas (totalanos) values ('$totalanos')"$conecta);

echo 
"$datos[totalanos]";

    }
else
{
echo 
"El día y mes no coinciden.";
}


/*No tiene nada que ver, simplemente es para saber que datos
hay en la bd*/
echo "<br>$exp_mes";
echo 
"<br>$datos[exp_anos]";
echo 
"<br>$exp_dia";

mysql_free_result($selec);
mysql_close($conecta);
?>
Tengo una tabla fichas en la que tengo 4 campos: exp_dias, exp_meses, exp_anos y totalanos. Intento que verifique si el día y mes actual son iguales a los de los campos exp_dias y exp_meses, con esto me dice si es su cumpleaños. Si es así al año actual le resto el año de campo exp_anos y me da los años que tiene la persona. Ahora viene el problema, una vez me calcula los años de la persona intento que ese dato lo inserte en el campo totalanos para así motrar mediante un echo lo que tengo en ese campo.

No se si me he explicado bien, aguien podría ayudarme?.
Me da el siguiente error:
Fatal error: Call to undefined function: myqsl_query() in c:\archivos de programa\apache group\apache\htdocs\public_html\prueba\fichas\cump le2.php on line 15

No se si está bien el código que tengo hecho

Un saludo

Última edición por Leg0las; 28/10/2003 a las 19:04
  #2 (permalink)  
Antiguo 28/10/2003, 21:40
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
Fatal error: Call to undefined function: myqsl_query() in c:\archivos de programa\apache group\apache\htdocs\public_html\prueba\fichas\cump
le2.php on line 15



Je je... se llama mysql_query() no myqsl_query();
__________________
Manoloweb
  #3 (permalink)  
Antiguo 29/10/2003, 13:01
 
Fecha de Ingreso: octubre-2003
Ubicación: Galicia-España
Mensajes: 17
Antigüedad: 14 años, 1 mes
Puntos: 0
hoho, gracias Manoloweb ,que fallo más tonto, pero tengo el problema de que no me lo inserta en la misma fila que la fecha que estoy verificando.
Le he añadido un campo nuevo id que se autoincrementa.

Ejemplo de la base de datos:

| id | exp_dias | exp_meses | exp_anos | totalanos |
-------------------------------------------------------------------
|.. 1. |.... 29........ |...... 10.......... |...... 2002.... |..... 0......... |
-------------------------------------------------------------------
|.. 2. |..... 0......... |....... 0........... |......... 0....... |...... 1........ |
-------------------------------------------------------------------

Lo que me hace es que me compara el día y el mes, si es su cumpleaños resta el año actual (2003) menos el año del campo exp_anos (2002) y me lo añade con un nuevo id (2) en vez de actualizar el id (1) que es el que le corresponde a ese usuario.
Como lo arreglo, alguien sabe?

Un saludo y gracias

Última edición por Leg0las; 29/10/2003 a las 13:21
  #4 (permalink)  
Antiguo 30/10/2003, 13:26
 
Fecha de Ingreso: octubre-2003
Ubicación: Galicia-España
Mensajes: 17
Antigüedad: 14 años, 1 mes
Puntos: 0
:(

Nadie sabe como arreglo eso??
  #5 (permalink)  
Antiguo 30/10/2003, 13:32
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 14 años, 7 meses
Puntos: 2
pon el code que hace eso..... asi si lo vemos te diremos donde puede estar el error... saludossss ;)
__________________
3w.valenciadjs.com
3w.laislatv.com
  #6 (permalink)  
Antiguo 30/10/2003, 15:29
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

INSERT = insertar un registro nuevo

UPDATE = modificar un registro ya existente. Especificas el registro exacto con un WHERE. Tambien puede actualizar grupos de registros, incluso todos de golpe.

A revisar tu manual de SQL para ver la sintaxis del UPDATE.

Suerte.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #7 (permalink)  
Antiguo 31/10/2003, 12:36
 
Fecha de Ingreso: octubre-2003
Ubicación: Galicia-España
Mensajes: 17
Antigüedad: 14 años, 1 mes
Puntos: 0
Ya está solucionado.
He cambiado esto:
Código PHP:
mysql_query("insert into fichas (totalanos) values ('$totalanos')"$conecta); 
por esto:
Código PHP:
mysql_query("update fichas set totalanos=$totalanos where id=1"$conecta); 
y ya me lo actualiza.
Gracias a todos! y Un saludo
  #8 (permalink)  
Antiguo 31/10/2003, 12:56
 
Fecha de Ingreso: octubre-2003
Ubicación: Galicia-España
Mensajes: 17
Antigüedad: 14 años, 1 mes
Puntos: 0
Por cierto nuevo el código era el de arriba.
Un saludo y gracias.
  #9 (permalink)  
Antiguo 31/10/2003, 15:09
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
¿id=1? Entonces siempre actualiza el registro de fichas con el id igual a uno. No se si eso es como debe ser, pero solo funcionaria si la tabla fichas solo va a tener un unico registro.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #10 (permalink)  
Antiguo 31/10/2003, 19:48
 
Fecha de Ingreso: octubre-2003
Ubicación: Galicia-España
Mensajes: 17
Antigüedad: 14 años, 1 mes
Puntos: 0
Entoces, como sería? id simplemente sin el 1?
  #11 (permalink)  
Antiguo 01/11/2003, 09:49
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 14 años, 7 meses
Puntos: 2
si quieres cambiar el id1 seria id='1', si usaras un boton que fuese dinamico, podrias usar $_GET[id], asi solo pulsando ese boton que se repetiria en todos los ID de la tabla, accederias a el, por ejemplo para borrar, modificar... mira te pongo unos ejemplos de como quedaria la funcion mysql


Código PHP:

mysql_query
("DELETE FROM $sql_tabla_color_dll WHERE id=$_GET[id]") or die("MySQL dice: ".mysql_error());//eliminar template

-----------------------------


mysql_query("UPDATE $sql_tabla_color_dll SET  max_menu_url_font_texto='$max_menu_url_font_texto' WHERE id=$_GET[id]") or die("MySQL dice: ".mysql_error()); 
saludos ....
__________________
3w.valenciadjs.com
3w.laislatv.com

Última edición por nuevo; 01/11/2003 a las 09:50
  #12 (permalink)  
Antiguo 01/11/2003, 15:50
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Bueno, ahora me fijo en tu codigo original, y veo que hacias la consulta sin WHERE, y que solo recogias un registro con mysql_fetch_array(). Entonces ese codigo solo lee el primer registro.

No se como vas a usar ese codigo, ni si la tabla fichas va a tener mas de un registro. Lo normal seria que si.

En ese caso, el "SELECT ..." tambien tendria que tener el "WHERE id=$_GET[id]" (o $_POST o como pasases el valor del id del registro a modificar).

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #13 (permalink)  
Antiguo 02/11/2003, 10:13
 
Fecha de Ingreso: octubre-2003
Ubicación: Galicia-España
Mensajes: 17
Antigüedad: 14 años, 1 mes
Puntos: 0
Muchas gracias a los dos, nuevo y josemi, en serio gracias por vuestra paciencia. :)
Si que pretendo tener más de un registro en la bd, probaré esto que me explicasteis.

Un saludo.
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 22:10.