Foros del Web » Programando para Internet » PHP »

Consulta simple MySQL

Estas en el tema de Consulta simple MySQL en el foro de PHP en Foros del Web. Que tal? Estoy buscando en php.net como realizar lo siguiente, pero no lo puedo encontrar. Tengo que realizar una consulta que me traiga todos los ...
  #1 (permalink)  
Antiguo 18/03/2011, 07:44
 
Fecha de Ingreso: junio-2008
Mensajes: 137
Antigüedad: 15 años, 10 meses
Puntos: 0
Consulta simple MySQL

Que tal?

Estoy buscando en php.net como realizar lo siguiente, pero no lo puedo encontrar.

Tengo que realizar una consulta que me traiga todos los registros de una columna. La consulta es la siguiente:

SELECT cantCanales FROM numeros WHERE idCiudad = 'venecia'

Esto funciona bien, ya que me devuelve:
Código:
-------------
|cantCanales  |
|       3     |
|      15     |
|       4     |
-------------
Esto esta barbaro, pero necesito poder elegir que valor de la columna tomar.
Algo asi como columna[2] para que me de valor 15; columna[3] para que me de el valor 4.

Lo estoy intentando con:
Código:
while($row = $db->fetch_row($query))  
{
        $canalesTotal = "$row[0]";
}
Pero esto me devuelve el ultimo valor, el 4, yo quiero poder seleccionar cual valor de la columna tomar.

Espero haber sido claro.

Muchas gracias!
  #2 (permalink)  
Antiguo 18/03/2011, 07:50
Avatar de bUllan9ebrio  
Fecha de Ingreso: enero-2011
Ubicación: Chile
Mensajes: 1.128
Antigüedad: 13 años, 2 meses
Puntos: 128
Respuesta: Consulta simple MySQL

eso esta bien , solo que dentro del while debes imprimir los valores, para que estos te puedan aparecer por pantalla,
asi como lo tienes el recorrido lo hace, pero como imprimes fuera del ciclo, te muestra solo el ultimo registro

Código PHP:
Ver original
  1. while($row = $db->fetch_row($query))  
  2. {
  3.         $canalesTotal =$row['cantCanales'];//trata de trabajarlos asi,
  4.         //para cuando debas seleccionar mas campos en la base de datos,
  5.         //no este contando donde esta el campo a seleccionar
  6.  
  7.        echo "$canalesTotal <br>";
  8. }


creo que eso era lo que querias, de no ser asi avisas
__________________
Si no vivimos como pensamos, pronto empezaremos a pensar como vivimos.
Más vale un Gracias sincero, que un número que aumente "popularidad" ¬¬°

Universidad de chile, campeón
  #3 (permalink)  
Antiguo 18/03/2011, 08:00
 
Fecha de Ingreso: junio-2008
Mensajes: 137
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Consulta simple MySQL

Gracias bUllan9ebrio, eso esta muy bien, pero necesito guardar el valor de la columna deseada en una variable cada vez.

Eso significa que este proceso estara dentro de una funcion, a la cual le tengo que pasar el numero de valor que deseo extraer.
En pseudo-codigo:
Código:
funcion obtenerCanales($num)
{
        realizo consulta;
        obtengo la cantidad de canales de la fila $num;
        retorno cantidaddecanales;
}
Me explico?
Le tengo que pasar a la funcion cual es la fila que deseo extraer. Con la solucion que me diste, solo imprimo la lista, pero no puedo seleccionar un valor y guardarlo, ya que la funcion haria lo mismo cada vez.
  #4 (permalink)  
Antiguo 18/03/2011, 08:27
 
Fecha de Ingreso: junio-2008
Mensajes: 137
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Consulta simple MySQL

Lo resolvi, era muy facil, simplemente no se me ocurria utilizar un array..

while ($row = $db->fetch_row($query))
{
$canalesTotal[] = "$row[0]";
}
echo $canalesTotal[2];

gracias a todos!!
  #5 (permalink)  
Antiguo 18/03/2011, 08:30
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 2 meses
Puntos: 288
Respuesta: Consulta simple MySQL

hace esto:
$canales=array();
while($row = $db->fetch_row($query)){
$canales[] =$row['cantCanales'];//trata de trabajarlos asi,
}
print_r($canales);

no se para que te sirve esto por que cuando haces una consulta asi
por ej: yo quiero mostar la posicion 9
$canales[8] y hay 3 registros, de que me sirve.
ademas te vas a guiar cantidad de elementos en el array o por algun indice??

otra forma si conozco los indices
$canales=array();
while($row = $db->fetch_row($query)){
$canales[$row['id']] =$row['cantCanales'];//trata de trabajarlos asi,
}
print_r($canales);

Etiquetas: mysql, simple
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 13:27.