PHP - problema con if y else en php(por favor urgente)

 
Vista:

problema con if y else en php(por favor urgente)

Publicado por castorroy (3 intervenciones) el 15/09/2005 15:57:09
hola,cada vez que ejecuto mi pagina en el navegador me la muestra en blanco y no me aparece el resultado de ingreso.

ahora me explico la idea que programo:
estoy haciendo un formulario por el cual se ingresan datos a una base de datos db2 a traves de odbc,el ingreso y modificado de registros lo hago con un mismo boton que coloque en el formulario,y mi problema es el siguiente ,yo quiero que cada vez que se ingrese un titulo de una noticia con la misma fecha,la varibale de nombre secuencia aumente en 1,y la variable estado cambie su valor a 1 ,lo cual quiere decir que es verdadero y que los datos fueron ingresados con exito,en cambio si la variable queda en 0 es porque los datos fueron ingresados mal,y cuando realizo eso me muestra la pagina en blanco y no el aviso que los datos fueron ingresados,ahora voy a detallar las partes del codigo,

$accion = $_POST['Ingreso'];
if($accion=="grabar")//grabar nombre del boton
{
$dia = $_POST['dia'];
$mes = $_POST['mes']; //aqui recibe los valores del formulario con el metodo post
$anno = $_POST['anno'];
$titulo = $_POST['titulo'];

$query ="SELECT datos.$databasename4.titulo as TITULO
WHERE f01datos.$databasename4.dia=$dia and datos.$databasename4.mes=$mes
and datos.$databasename4.ano=$anno"; //aqui realizo una consulta para ver los valores existen en la base de datos.

$result=odbc_Exec($dbconn,$query);//ejecuto la consulta
$row1 = odbc_fetch_array($result); //recorre el resultado para saber si los valores estan en la base de datos


if($row1!=0){//si los valores existen modifico los valores de la variable.

$mod="UPDATE DATOS.$databasename4 SET
ntitulo='$titulo'
WHERE
nano=$anno and
mes=$mes and
dia=$dia";
$query=odbc_exec($dbconn,$mod);
}
else
{ //si no existen deberia permitir que ingrese nuevos valores,pero esto es lo no me resulta.

$estado=0; //variable estado le asigno 0 ,lo cual significa que no entra al ciclo

if($query ="SELECT datos.$databasename4.dia,
datos.$databasename4.mes,
fdatos.$databasename4.nano FROM datos.$databasename4
WHERE f01datos.$databasename4.dia=$dia
and datos.$databasename4.mes=$mes
and datos.$databasename4.ano=$anno")//aqui realizo una consulta,y si el dia,mes y año esta en la base de datos,quiere decir que se esta ingresando un nuevo registro con esa fecha y la variable secuencia deberia aumentar en 1,(dia,mes,año)son mi clave primaria.)
{
odbc_Exec($dbconn,$query);//ejecuto la sentencia sql
$secuencia=0;//le asigno 0 a secuencia
$secuencia=$secuencia+1;//aqui incremento la variable secuencia en 1
}
$estado=1;//aqui a estado le asigno 1 y quiere decir que todo el ingreso se realizo correcto.

if($estado)//aca pregunto si la variable estado es verdadera
{
return 1;//si lo es retorno 1 y quiere decir que se ejecuto bien el ingreso
}
else//sino retorna 0 lo cual quiere decir que hubo un problema en el ingreso
{
return 0;
}

$ing="INSERT INTO DATOS.$databasename4
values($anno,$mes,$dia,$secuencia,$estado)";

echo "valor secuencia:".$secuencia;
echo "valor estado:".$estado;
$query=odbc_exec($dbconn,$ing);


odbc_close($dbconn); //aca inserto los valores a la base de datos.
}
}

si se ejecuto bien la sentencia,la variable secuencia deberia aumentarme en 1 por cada registro que se ingrese en la misma fecha,y la variable estado deberia almacenar 1 si es verdadero y 0 si es falso,el valor de secuencia y estado tambien deberian quedar en la base de datos,pero ese es mi problema que cada vez que hago click en el boton grabar del formulario me queda la pagina en blanco y no inserta el registro en la base de datos.

pero si yo dejo como comentario esta parte

/* if($estado) //en este if yo creo que esta el problema
{
return 1;
}
else
{
return 0;
} */

me dice que si ingreso los datos,pero cuando yo reviso la base de datos no ha ingresado nada,tambien coloque un echo para ver que valores contienen la variable y siempre me muestra uno y si llego vuelvo a ingresar algo en esa misma fecha siempre me muestra la variable secuencia con el valor 1 y estado con valor 1.

eso me muestra siempre cuando dejo como comentario esa parte,
valor secuencia:1
valor estado:1

por lo que yo creo que el problema esta en ese if pero nose como solucionarlo o que problema sera.

gracias,ojala alguien me pueda ayudar a solucionarlo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder