Foros del Web » Programando para Internet » PHP »

Crear un arra en PHP dentro de un bucle

Estas en el tema de Crear un arra en PHP dentro de un bucle en el foro de PHP en Foros del Web. Hola, uiero seleccionar todos los artistas que cumplen que su estilo de musica es $estilo (pop, rock..) La consulta la hace bien, la he comprobado ...
  #1 (permalink)  
Antiguo 29/05/2008, 03:50
Avatar de scout_vlc  
Fecha de Ingreso: julio-2007
Ubicación: Valencia
Mensajes: 141
Antigüedad: 16 años, 9 meses
Puntos: 0
Crear un arra en PHP dentro de un bucle

Hola, uiero seleccionar todos los artistas que cumplen que su estilo de musica es $estilo (pop, rock..)
La consulta la hace bien, la he comprobado con echos...pero quiero guardalos en un vector...pero solo se guarda el último, mejor dicho, sólo se crea un vecto de un elemento cuyo indice es el último.
el codigo es:

Código PHP:
        $artistas="select nomartista from artistas where estilo='$estilo'";
        
$resartistas=odbc_exec($conex,$artistas);
        if (
$resartistas) {
            
$filas=odbc_fetch_row($resartistas);
            
$total odbc_num_rows($resartistas);
            
$i=0;
            
            while (
$filas) {
                echo 
"-----<br>";
                echo (
odbc_result($resartistas,'nomartista'));
                
$nombres = array($i => odbc_result($resartistas,'nomartista'));
                
$i++;
                echo(
$i);
                
            
                
$filas=odbc_fetch_row($resartistas);
            }
//fin del while
            
echo "total: "; echo($total);echo "<br>";
            echo (
$nombres[0]);echo "**"; echo ($nombres[1]); echo "**";echo ($nombres[2]); print_r ($nombres);
            
odbc_free_result($resartistas); 
Y el resultado que me muestra es:

-----
ALASKA 1-----
ROBBIE WILLIAMS 2-----
NATALIA 3total: 3
****NATALIA Array ( [2] => NATALIA )


Si alguien puede ayudarme...muchas gracias.
Porque luego tengo que repetir lo mismo...otro select que lea las claves de los discos cuyo autor está en el vector $nombres....y tendré el mismo problema :(
¿No existe un append o algo asi? he leído en FAQS y en Google...pero nada.
Muchas gracias!!
  #2 (permalink)  
Antiguo 29/05/2008, 04:12
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 18 años, 7 meses
Puntos: 19
Respuesta: Crear un arra en PHP dentro de un bucle

Me parece que tendrías que hacerlo así:
Código PHP:
if ($resartistas) {
            
$total odbc_num_rows($resartistas);
            
$i=0;
            
            while (
$filas=odbc_fetch_row($resartistas)) {
                echo 
"-----<br>"
             ... 
  #3 (permalink)  
Antiguo 29/05/2008, 04:59
Avatar de scout_vlc  
Fecha de Ingreso: julio-2007
Ubicación: Valencia
Mensajes: 141
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Crear un array en PHP dentro de un bucle

Hola!
pues he probado lo que me dices, y el resultado que me sale es este:

estilo: POP
-----
ALASKA 1-----
NATALIA 2total: 3
**NATALIA **Array ( [1] => NATALIA )

Ahora solo me muestra por pantalla dos artistas, y se guarda el último, pero en la posicion 1...
  #4 (permalink)  
Antiguo 29/05/2008, 05:05
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 18 años, 7 meses
Puntos: 19
Respuesta: Crear un arra en PHP dentro de un bucle

Ay, no vi el
Código PHP:
$filas=odbc_fetch_row($resartistas
que tenías al final del while.

O quitas esa línea o lo dejas como estaba.

Por otro lado, creo que tendrías que montar el array de nombres así
Código PHP:
$nombres[$i] = odbc_result($resartistas,'nomartista')); 
  #5 (permalink)  
Antiguo 29/05/2008, 06:40
Avatar de scout_vlc  
Fecha de Ingreso: julio-2007
Ubicación: Valencia
Mensajes: 141
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Crear un arra en PHP dentro de un bucle

Muchas gracias!
ahora síi...ya lo ahbía probado, pero tenia que quietar al declaración de array :)
gracias!!!
  #6 (permalink)  
Antiguo 29/05/2008, 06:49
Avatar de scout_vlc  
Fecha de Ingreso: julio-2007
Ubicación: Valencia
Mensajes: 141
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Crear un arra en PHP dentro de un bucle

Hola,
lo otro ya funciona, ahora quiero ver los CDs que pertenecen a los artistas del vector $nombres.
Ten la sentencia:
Código PHP:
$claves "select clave from realizados where nomartista in ($nombres)";
print_r ($claves); 
y por pantalla muestra...:

select clave from realizados where nomartista in (Array)

¿Cómo hago para que no aparezca array, sino los valores? porque así me devuelve cero filas la consulta

gracias amigo!
  #7 (permalink)  
Antiguo 30/05/2008, 02:53
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 18 años, 7 meses
Puntos: 19
Respuesta: Crear un arra en PHP dentro de un bucle

Tendrías que hacer algo como:
Código PHP:
$claves "select clave from realizados where nomartista in ('".implode("','",$nombres)."')"
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:20.