Foros del Web » Programando para Internet » PHP »

Necesito una opinion

Estas en el tema de Necesito una opinion en el foro de PHP en Foros del Web. Hola amigos, hace días tengo un problema con una consulta donde utilizaba odbc_num_rows y que siempre me devolvia -1, creo que yá la habran visto ...
  #1 (permalink)  
Antiguo 17/09/2008, 14:33
 
Fecha de Ingreso: septiembre-2008
Mensajes: 136
Antigüedad: 15 años, 6 meses
Puntos: 1
Necesito una opinion

Hola amigos, hace días tengo un problema con una consulta donde utilizaba odbc_num_rows y que siempre me devolvia -1, creo que yá la habran visto en el foro; bueno trate de todas las formas y con las ayudas de ustedes principalmente la de GatorV, pero no le encontre solucion o mejor dicho si, pero una solucion que no sé si sea la mejor, es la siguiente:

<?php
if(isset($_POST['dates']))
{
$db = odbc_connect('base','','');
if (!$db) {
exit('Error en la conexión a la base de datos');
} else {

$fecha1=$_POST['dates'];
$fecha2=$_POST['dates1'];

$consulta = "SELECT *FROM Fichas WHERE (((Fichas.Fecha) Between #$fecha1# And #$fecha2#) AND ((Fichas.Clasificacion)>='001' And (Fichas.Clasificacion)<='002'))";

$result = odbc_exec($db,$consulta);
if (!$result) {
exit("Error en la consulta");
} else {

$valor = odbc_fetch_array($result);
if($valor['Ficha_No']==0)
{
print "<table align='center' ><tr height=200><td>No Hay Nuevas Adquisiciones</td></tr></table><br><br><br><br>";

}else{
$consulta = "SELECT *FROM Fichas WHERE (((Fichas.Fecha) Between #$fecha1# And #$fecha2#) AND ((Fichas.Clasificacion)>='001' And (Fichas.Clasificacion)<='002')) order by Fichas.Fecha desc";
$result = odbc_exec($db,$consulta);
while($valor = odbc_fetch_array($result))
{
//aqui muestra la informacion

}


}
odbc_close($db);


}


}


}


?>

basicamente el problema era que necesitaba comparar si la consulta obtenia registro pero como ya les dije odbc_num_rows no me devolvia ese dato, entonces está fue la unica solucion que encontre, osea hacer dos consultas, la primera que esta en azul donde hago la primera comparacion de que si no hay registro salga el mensaje y la segunda que esta en rojo que es lo contrario que muestre la consulta; esta solucion la estoy probando y hasta el momento me funciona bien.

Otra cosa que se me olvidaba, decidi utilizar las dos consultas porque cuando utilizas dos odbc_fetch_array en una sola consulta, la segunda vez que se usa se pierde el primer registro.

Mi pregunta es, esto no hace más lento a la consulta?, es prudente hacer dos consultas?
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 05:15.