Foros del Web » Programando para Internet » PHP »

Como guardo esto en un Array

Estas en el tema de Como guardo esto en un Array en el foro de PHP en Foros del Web. Antetodo gracias por ayudarme y por darme una mano. Tengo el siguiente Query y quiero guardar el resultado del mismo en un array Query ------ ...
  #1 (permalink)  
Antiguo 18/09/2003, 09:32
Avatar de Chuty  
Fecha de Ingreso: noviembre-2002
Ubicación: el bar de la esquina
Mensajes: 609
Antigüedad: 21 años, 5 meses
Puntos: 2
Como guardo esto en un Array

Antetodo gracias por ayudarme y por darme una mano.
Tengo el siguiente Query y quiero guardar el resultado del mismo en un array

Query ------
Código PHP:
$consulta "select  Key_1, Key_4, Descrip, Seleccion from mibase.tmp_clientes order by Key_4"
El array en el que tengo que guardar los datos del resultado ya sean 1 registro o mas tendria que ser ...
-- Por ejemplo dos registros de resultado --

Código PHP:
$ArrayGrpVto = array ( array ( 'Key_1'      => '' ,
                                 
'Key_4'       => '' ,
                                 
'Descrip'     => '' ,
                                 
'Seleccion'  => '' ),
                                  array ( 
'Key_1'      => '' ,
                                 
'Key_4'       => '' ,
                                 
'Descrip'     => '' ,
                                 
'Seleccion'  => '' )); 
Como seria la forma de hacer esto?....
desde ya muchas gracias y saludos a todos
  #2 (permalink)  
Antiguo 18/09/2003, 11:16
Avatar de josgat  
Fecha de Ingreso: noviembre-2002
Mensajes: 137
Antigüedad: 21 años, 4 meses
Puntos: 0
Es sencillo:

$res = mysql_result($consulta);
while ($row = mysql_fetch_array($res)){
$tu_vector[] = $row;
}

de esta forma para acceder al key_1 de la primera fila:

$tu_vector[0]['key_1'];


Es eso lo que buscabas?
__________________
Lo importante no es saber sino saber el teléfono del que sabe, jajaja.
  #3 (permalink)  
Antiguo 11/01/2005, 11:32
Avatar de t0m|ta  
Fecha de Ingreso: julio-2002
Ubicación: Madrid
Mensajes: 369
Antigüedad: 21 años, 8 meses
Puntos: 3
Hola,

Ya estoy de preguntona otra vez. Me he basado en este post para tratar de solucionar un problemilla que tengo con un script que quiero adaptar, casi lo tengo pero cada item me sale 2 veces:

http://www.tomatoma.ws/WEBNUEVA/includes/sindicar1.php

Estoy utilizando un script "pre-fabricado·", para sindicar los posts de otras páginas mi página principal.

Este script parte de un array embebido en el que se le meten a capón los feeds que vas a sindicar.


Mi idea es modificarlo para que en lugar de siempre los mismos 5, salgan 5 al azar de una lista guardada en una Base de datos. La BD es muy simple sólo tiene una tabla, con el id del feed y la url del mismo.

No sé muy bien que he hecho mal, porque en el tema de los arrays me pierdo un poco.

El script original va así:

Código PHP:
include "lastRSS.php";

// Obtener lista de RSS de la BD

 
List of RSS URLs
 $rss_left 
= array(
  
'http://abraldes.net/feeds/naveganteblog.xml',
  
'http://www.elcuaderno.info/wp-rss2.php',
  
'http://www.d.umn.edu/itss/support/Training/Online/webdesign/webdesign.xml',
 
'http://cek.bitacoras.com/wp-rss2.php',
'http://www.filmica.com/david_bravo/index.xml'
);

// Create lastRSS object
$rss = new lastRSS;

// Show all rss files
foreach ($rss_left as $urlShowOneRSS($url); 
Y yo lo que he hecho es sustituir el array de forma que me queda así:

Código PHP:
include "lastRSS.php";

// Obtener lista de RSS de la BD

include('connectagrega.php');


 
$sql "SELECT feed
    FROM Rss_agrega
    ORDER BY RAND( )
    LIMIT 5 "


$result = @mysql_query($sql);
     if (!
$result) {
     echo (
"Error en la query");
    exit();
            }

while (
$row = @mysql_fetch_array($result))
{  
$rss_left$row;


// Create lastRSS object
$rss = new lastRSS;

// Show all rss files
foreach ($rss_left as $urlShowOneRSS($url);
}
?> 
Pero, me sale cada rss 2 veces, alguna pista?

Gracias por anticipado :)
__________________
:ojotes: t0m|ta - IHQ :ojotes:
No tengo palabras
Instrucciones de andar por casa
  #4 (permalink)  
Antiguo 11/01/2005, 12:49
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
No entiendo muy bien que hace tu script (classe mejor dicho) .. pero:

// Create lastRSS object
$rss = new lastRSS;

eso no debería estar fuera de tu bucle while() ? .. estás instanciando tantas veces como registros arroje tu consulta .. creo que con una sobrar (fuera de tu bucle)

A su vez .. deberías usar la misma técnica que aquí describió josemi . .con el detelle de acceder a tu "campo" por su nombre:

Código PHP:
while ($row = @mysql_fetch_array($result)){
  
$rss_left[]= $row['feed']; 
}

// Create lastRSS object 
$rss = new lastRSS

// Show all rss files 
foreach ($rss_left as $url){
 
ShowOneRSS($url); 
}

?> 

ó incluso:

Código PHP:
while ($row = @mysql_fetch_array($result)){
   
ShowOneRSS($row['feed']); 

no hace falta crear un array para luego volver a leerlo si ya lo haces cuando usas tu mysql_fetch_xxx() y recorres en un bucle los posibles resultados que obtengas de tu consulta SQL.

Un saludo,

Última edición por Cluster; 11/01/2005 a las 12:52
  #5 (permalink)  
Antiguo 11/01/2005, 13:05
Avatar de t0m|ta  
Fecha de Ingreso: julio-2002
Ubicación: Madrid
Mensajes: 369
Antigüedad: 21 años, 8 meses
Puntos: 3
Perfecto

Funciona de maravilla . Es que a lo de las clases todavía no he llegado, me superan un poco.

No puse el script entero porque es muy largo, lo que hace es que a partir de una url de un feed, seleciona los N últimos mensajes y coloca un enlace a ese mensaje en cuestión. Así puedes hacerte como una pequeña sección de "noticias": titular y enlace a la otra web. A diferencia de otros scripts del mismo tipo, permite sindicar varios feeds en lugar de uno sólo. Por si interesa el script está en: http://lastrss.webdot.cz/ y tiene licencia GPL.

Muchísimas gracias
__________________
:ojotes: t0m|ta - IHQ :ojotes:
No tengo palabras
Instrucciones de andar por casa
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:39.