Foros del Web » Programando para Internet » PHP »

obtener filas o matriz de mysql

Estas en el tema de obtener filas o matriz de mysql en el foro de PHP en Foros del Web. hola tengo unas dudas... tengo una base de datos, con una tabla...que se llama productos... en el lado "html" tengo una tabla de 2 x ...
  #1 (permalink)  
Antiguo 26/03/2012, 14:22
 
Fecha de Ingreso: junio-2010
Mensajes: 752
Antigüedad: 14 años, 6 meses
Puntos: 5
obtener filas o matriz de mysql

hola tengo unas dudas...

tengo una base de datos, con una tabla...que se llama productos...

en el lado "html" tengo una tabla de 2 x 2...

esta consulta verificara por medio de "php" los productos que siempre seran 4, lo que cambiara seran los productos...


$buscando = "select * from productos where oferta=1";

bueno ahora lo que quiero saber es como tomo cada fila de los resultados obtenidos...

trate de hacerlo con esto...

$busca = mysql_query($buscando,$link);

$vector=mysql_fetch_array($busca);

echo $vector["foto"];

echo $vector["foto"];

echo $vector["foto"];

echo $vector["foto"];

pero siempre me devolvio, el mismo nombre...

estaria bueno hacerlo por medio algo parecido aesto

*que sepa la cantidad de registros obtenidos...por medio de mysql_num_rows

* ya sabiendo la cantidad de filas... me gustaria tener una matriz asi tengo

echo $matriz[1]["foto"];

echo $matriz[2]["foto"];

echo $matriz[3]["foto"];

echo $matriz[4]["foto"];

...........conozco el metodo del while...pero se me complicaria con la tabla 2 x 2...

bueno gracias....
  #2 (permalink)  
Antiguo 26/03/2012, 15:00
Avatar de auttranadhie  
Fecha de Ingreso: noviembre-2008
Ubicación: Madrid (España)
Mensajes: 156
Antigüedad: 16 años
Puntos: 8
Respuesta: obtener filas o matriz de mysql

Hola:

No veo muy clara tu intención pero $vector es una matriz y con los echo sólo te muestra un valor de la misma, no la está recorriendo.

Para eso tienes while() o foreach($vector as $indice => $valor) que para tu caso sería lo mismo.

Por otro lado, si tu objetivo es mostrar los registros en la pantalla no veo la utilidad de mysql_num_rows() a no ser que quieras limitar el número de filas a mostrar.

Un saludo.
__________________
A. Uttranadhie
  #3 (permalink)  
Antiguo 26/03/2012, 17:40
 
Fecha de Ingreso: junio-2010
Mensajes: 752
Antigüedad: 14 años, 6 meses
Puntos: 5
Respuesta: obtener filas o matriz de mysql

el de foreach me gusto mas, lo habia escuchado a ese... osea no es nada del otro mundo lo que busco ,...


por ejemplo..

articulo ----------oferta

remera-----------0
pantalon---------1
zapatilla---------1
campera---------0
camiseta futbol--1
gorras------------1

quiero los nombres de los articulos que tienen en oferta el 1

bien hago la consulta..

y el tema es como se los nombres de cada articulo?
veo con foreach...que puedo hacer...
si era de buscaba un solo nombre lo hago... pero ahora..estoy viendo como...
  #4 (permalink)  
Antiguo 26/03/2012, 23:16
Avatar de auttranadhie  
Fecha de Ingreso: noviembre-2008
Ubicación: Madrid (España)
Mensajes: 156
Antigüedad: 16 años
Puntos: 8
Respuesta: obtener filas o matriz de mysql

Hola:

La consulta ya te filtra los que tienen oferta igual a uno por lo que sólo te queda ponerlo en pantalla. La segunda columna te sobra porque todos los artículos resultantes están de oferta.

El nombre del artículo será el dato correspondiente dentro de cada entrada de la matriz:

foreach($vector as $index => $value)
{
echo '<br>'.$value["nombre_articulo"];
}

Lo de '<br>' es para que te ponga una línea.

Un saludo.
__________________
A. Uttranadhie
  #5 (permalink)  
Antiguo 26/03/2012, 23:41
 
Fecha de Ingreso: junio-2010
Mensajes: 752
Antigüedad: 14 años, 6 meses
Puntos: 5
Respuesta: obtener filas o matriz de mysql

me salio de esta manera...



Código PHP:
$buscando "select foto, nombre from productos where oferta=1";
$busca mysql_query($buscando,$link);

$filas mysql_num_rows ($busca);  
        
        if (
$filas 0)  
        {  
            for (
$i=0$i<$filas$i++)  
            {  
            
                
$variable mysql_fetch_array($busca);  
                
$nombre_foto[$i] = $variable["foto"];  
                
$nombre_art[$nombre_foto[$i]] = $variable["nombre"]; 
                
            }                      
        }  

        
        
$foto1=$nombre_foto[0];
        
$articulo1=$nombre_art[$nombre_foto[0]];
        
$foto2=$nombre_foto[1];
        
$articulo2=$nombre_art[$nombre_foto[1]];
        
$foto3=$nombre_foto[2];
        
$articulo3=$nombre_art[$nombre_foto[2]];
        
$foto4=$nombre_foto[3];
        
$articulo4=$nombre_art[$nombre_foto[3]]; 

no se si es el mas conveniente, pero mientras funcione.... igual voy a ver.. lo de for each.... por q si no se que es FOREACH , ---- directamente NO SE NADA....
  #6 (permalink)  
Antiguo 27/03/2012, 00:20
Avatar de auttranadhie  
Fecha de Ingreso: noviembre-2008
Ubicación: Madrid (España)
Mensajes: 156
Antigüedad: 16 años
Puntos: 8
Respuesta: obtener filas o matriz de mysql

Hola:

Con foreach() se hubieses ahorrado el condicional y todas las líneas de código finales. Lo que hace es recorrer cada índice de la matriz por lo que no tienes porqué preocuparte por dónde realiza dicho recorrido.

Opino que has complicado un poco el trabajo.

Por otro lado, nunca está de más que eches un vistazo a la documentación en línea de PHP que, entre otras cosas, está para resolver dudas.

Un saludo.
__________________
A. Uttranadhie

Etiquetas: filas, html, matriz, mysql, registro, sql, tabla
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 06:23.