PHP - Mensaje busqueda base de datos

 
Vista:
sin imagen de perfil
Val: 38
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Mensaje busqueda base de datos

Publicado por Andres (18 intervenciones) el 26/05/2020 16:49:41
Hola como están por favor necesito ayuda, tengo la siguiente sentencia para poder imprimir unos resultados desde la base de datos, pero soy poco nuevo y quisiera saber como puedo poner una condición para que me aparezca un mensaje "No se registran datos" si no encuentra datos en la búsqueda! adjunto la sentencia

1
2
3
4
5
6
7
8
9
10
11
$resultfolio = sqlsrv_query ($conn,$folio);
if ($resultfolio)
 {
 
  while ($folio = SQLSRV_FETCH_array($resultfolio))
  {
 
   printfolio($folio['hiscsec'],$folio['Medico'],$folio['Especialidad'],$folio['Fecha_Atencion'], $cedula, $select);
 
}
}
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
Imágen de perfil de Julio
Val: 2.988
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Mensaje busqueda base de datos

Publicado por Julio (830 intervenciones) el 26/05/2020 19:44:33
Hola.

Con la función sqlsrv_num_rows comprobarás cuántas filas tiene $resultfolio. Lo pones antes del while y, si tiene 0 filas, entonces muestras el mensaje que quieres. Si tiene más de 0 filas, entonces haces el while.

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 38
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Mensaje busqueda base de datos

Publicado por Andres (18 intervenciones) el 26/05/2020 20:57:58
Por favor!
puedes revisar si esta bien, ahorita no se esta ejecutando el While muchas gracias de ante mano
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
$resultfolio = sqlsrv_query ($conn,$folio);
if ($resultfolio)
{
 
    $count=sqlsrv_num_rows($resultfolio);
 
    if ($count==0)
    {
        printf("El resultado tiene %d filas.\n", $count);
 
    }else
    {
 
        while ($folio = SQLSRV_FETCH_array($resultfolio))
        {
 
            printfolio($folio['hiscsec'],$folio['Medico'],$folio['Especialidad'],$folio['Fecha_Atencion'], $cedula, $select);
 
        }
 
    }
 
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Julio
Val: 2.988
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Mensaje busqueda base de datos

Publicado por Julio (830 intervenciones) el 26/05/2020 21:16:15
No lo veo mal. Si no se ejecuta el while es porque te estará devolviendo cero resultados.

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 38
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Mensaje busqueda base de datos

Publicado por Andres (18 intervenciones) el 26/05/2020 21:28:27
El problema es que sin importar el condicional siempre me devuelve 0
if ($count>=0)
existe alguna otra forma de realizar?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Julio
Val: 2.988
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Mensaje busqueda base de datos

Publicado por Julio (830 intervenciones) el 26/05/2020 21:35:32
¿Cómo que sin importar el condicional? Si te da 0 es porque la base de datos te devuelve 0 resultados, ¿no? Si te debería devolver alguno será que la consulta no está bien.

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 38
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Mensaje busqueda base de datos

Publicado por Andres (18 intervenciones) el 26/05/2020 21:39:16
Si retiro el if /if ($count>=0)) en cual realizo el conteo de las filas la consulta se realiza con éxito... tal como lo indico a continuación.

1
2
3
4
5
6
7
8
9
10
11
$resultfolio = sqlsrv_query ($conn,$folio);
if ($resultfolio)
 {
 
  while ($folio = SQLSRV_FETCH_array($resultfolio))
  {
 
   printfolio($folio['hiscsec'],$folio['Medico'],$folio['Especialidad'],$folio['Fecha_Atencion'], $cedula, $select);
 
}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Julio
Val: 2.988
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Mensaje busqueda base de datos

Publicado por Julio (830 intervenciones) el 26/05/2020 22:08:02
¿Pero la consulta te devuelve resultados o no? ¿Te devuelve folios?

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en [url]Programación Básica[/url]
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 38
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Mensaje busqueda base de datos

Publicado por Andres (18 intervenciones) el 26/05/2020 22:48:03
Exacto, si me devuelven datos asi, porque lo busco por numero de cedula , y el mensaje que quiero mostrar es cuando no me devuelva nada de datos "no existe registros..."
de hecho es algo bastante simple solo que tengo `problemas con el condicional!

Screenshot_29
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Julio
Val: 2.988
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Mensaje busqueda base de datos

Publicado por Julio (830 intervenciones) el 26/05/2020 22:51:35
Pues la función para contar el número de filas que te devuelve te debería funcionar y darte un valor si te devuelve filas, o cero si no te devuelve. Es la función predefinida para eso.

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en [url=https:/programacionbasica.es]Programación Básica[/url]
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar