Foros del Web » Programando para Internet » PHP »

Mostrar el primer valor de un array de datos que se extraen de un bbdd

Estas en el tema de Mostrar el primer valor de un array de datos que se extraen de un bbdd en el foro de PHP en Foros del Web. Hola amigos/as, verán tengo un problemilla a ver si me pueden ayudar. Mi código funciona a la hora de mostrar resultados extraídos desde una bbdd. ...
  #1 (permalink)  
Antiguo 18/05/2016, 04:10
 
Fecha de Ingreso: mayo-2012
Mensajes: 760
Antigüedad: 12 años, 6 meses
Puntos: 5
Mostrar el primer valor de un array de datos que se extraen de un bbdd

Hola amigos/as, verán tengo un problemilla a ver si me pueden ayudar.

Mi código funciona a la hora de mostrar resultados extraídos desde una bbdd.

Los muestra recorriendo un array. pero lo que necesito es que me muestre solo un solo valor. Mas concretamente el primer valor del array y nada mas que eso.

Miren este es el codigo si me pudieran ayudar les estaria muy agradecido.

Código PHP:
Ver original
  1. //OBTENEMOS EL VALOR DEL INPUT DEL FORMULARIO QUE SE HA MANDADO............................
  2.             $numero_natural = $_POST['numero_natural'];
  3.            
  4.             $resultado = $conexion->query("SELECT UNO_DE_SUS_DIVISORES FROM numeros where NUMERO_NATURAL = ".$numero_natural);
  5.            
  6.            
  7.             //COMPROBAMOS QUE HAY RESULTADOS Y LOS MOSTRAMOS...........................................
  8.             if($resultado->num_rows)
  9.            
  10.                 {
  11.                     while($query_result = $resultado->fetch_array())
  12.                    
  13.                     {
  14.                         $sol = $query_result['UNO_DE_SUS_DIVISORES'];
  15.                
  16.                         echo $sol . "</br>";       
  17.                     }  
  18.                 }
  19.                
  20.                 else
  21.                
  22.                 {
  23.                     echo 'No hay usuarios en la tabla.';
  24.                 }  
  25.    
  26.             }
  #2 (permalink)  
Antiguo 18/05/2016, 04:42
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Mostrar el primer valor de un array de datos que se extraen de un bbdd

En primer lugar, si quieres mostrar UN sólo valor, no deberías pedirle a la base que devuelva todos los que encuentre que cumplan con el WHERE... Deberías pedirle por el que quieres, de modo que sólo te devuelva... UNO.

Luego, ya en PHP, si quieres sólo el primer valor del array obtenido, ¿para qué recorres el array completo?
Eso no tiene sentido.

Caso 1, suponiendo que usas MySQL:
Código PHP:
Ver original
  1. $numero_natural = $_POST['numero_natural'];
  2.            
  3.             $resultado = $conexion->query("SELECT UNO_DE_SUS_DIVISORES FROM numeros where NUMERO_NATURAL = ".$numero_natural." LIMIT 1");
  4.             if($resultado->num_rows == 1)
  5.            
  6.                 {
  7.                     $query_result = $resultado->fetch_array();
  8.                     $sol = $query_result['UNO_DE_SUS_DIVISORES'];
  9.                     echo $sol . "</br>";    
  10.                 }
  11.                
  12.                 else
  13.                
  14.                 {
  15.                     echo 'No se encontró dato que cumpla con lo solicitado.';
  16.                 }  
  17.    
  18.             }

Caso 2:

Caso 1, suponiendo que usas MySQL:
Código PHP:
Ver original
  1. $numero_natural = $_POST['numero_natural'];
  2.            
  3.             $resultado = $conexion->query("SELECT UNO_DE_SUS_DIVISORES FROM numeros where NUMERO_NATURAL = ".$numero_natural);
  4.             if($resultado->num_rows > 0)
  5.            
  6.                 {
  7.                     $query_result = $resultado->fetch_array();
  8.                     $sol = $query_result['UNO_DE_SUS_DIVISORES'];
  9.                     echo $sol . "</br>";    
  10.                 }
  11.                
  12.                 else
  13.                
  14.                 {
  15.                     echo 'No se encontró dato que cumpla con lo solicitado.';
  16.                 }  
  17.    
  18.             }
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 18/05/2016, 05:29
 
Fecha de Ingreso: mayo-2012
Mensajes: 760
Antigüedad: 12 años, 6 meses
Puntos: 5
Respuesta: Mostrar el primer valor de un array de datos que se extraen de un bbdd

Gracias gnzsoloyo, ahora lo entiendo, tienes razón.

Solo que me equivoqué con decir primer valor, es mas bien el ultimo valor del array.

Es decir si el array da 3 valores 1, 2, 3.

De la manera que pones me da como resultado "1", y lo que debería salir es "3"

  #4 (permalink)  
Antiguo 18/05/2016, 06:58
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Mostrar el primer valor de un array de datos que se extraen de un bbdd

Eso es más fácil, aún...
Código PHP:
Ver original
  1. $numero_natural = $_POST['numero_natural'];
  2.            
  3.             $resultado = $conexion->query("SELECT UNO_DE_SUS_DIVISORES FROM numeros where NUMERO_NATURAL = ".$numero_natural);
  4.             if($resultado->num_rows > 0)
  5.            
  6.                 {
  7.                    $idx = 0;
  8.                     $query_result = $resultado->fetch_all(MYSQLI_NUM);
  9.                     $idx= count($resultado)-1;
  10.                     $sol = $query_result[$idx];
  11.                     echo $sol . "</br>";    
  12.                 }
  13.                
  14.                 else
  15.                
  16.                 {
  17.                     echo 'No se encontró dato que cumpla con lo solicitado.';
  18.                 }  
  19.    
  20.             }

La idea sería esa. Espero haberlo escrito bien...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: bbdd, formulario, primer, select, tabla, usuarios, valor
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 00:09.