Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > PHP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-08-2004
cahosoft cahosoft is offline
Miembro
 
Registrado: jul 2003
Posts: 102
Poder: 21
cahosoft Va por buen camino
cargas el resultado de una consulta en un vector

Hola todos como estas...

Mi inquitud es la siguiente....
Tengo una base de datos en my sql... deseo almacenar los datos que resultan de una consulta en un vector.... de la siguiente manera se hace:
$sql="SELECT * FROM ART_SINONI
WHERE CODCARRERA='$codcarrera'
ORDER BY CODMAT";
$res_3=mysql_db_query("ayre",$sql);
$cont=0;
while ($resultado3 = mysql_fetch_array($res_3))
{
$cont++;
$s_codmat[$cont]=$resultado3["CODMAT"];
$s_sinonimo[$cont]=$resultado3["SINONIMO"];
}

quisiera saber... si hay una mejor forma de hacerlo.....
Responder Con Cita
  #2  
Antiguo 12-08-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Código PHP:
$sql 
  
"SELECT * FROM ART_SINONI ".
  
"WHERE CODCARRERA='$codcarrera' ".
  
"ORDER BY CODMAT"

$res_3=mysql_db_query("ayre",$sql);
$s_codmat = array();
$s_sinonimo = array();
while (
$resultado3 mysql_fetch_array($res_3))
{
  
$s_codmat[]=$resultado3["CODMAT"];
  
$s_sinonimo[]=$resultado3["SINONIMO"];

No sé si es mejor o no pero así me gusta más. Evitas el uso del contador. Cuando haces la asignación con los corchetes vacíos los elementos se van insertando secuencialmente.

// Saludos
Responder Con Cita
  #3  
Antiguo 13-08-2004
cahosoft cahosoft is offline
Miembro
 
Registrado: jul 2003
Posts: 102
Poder: 21
cahosoft Va por buen camino
gracias por tu ayuda

te agradesco el aporte
Responder Con Cita
  #4  
Antiguo 19-08-2004
Avatar de Emilio
*Emilio* Emilio is offline
Capo
 
Registrado: may 2003
Ubicación: Palma de Mallorca
Posts: 2.635
Poder: 10
Emilio Va por buen camino
La respuesta de Roman me parece perfecta, no obstante con su permiso añadiría que no es necesario iniciarlizar los arrays
$s_codmat = array();
$s_sinonimo = array();

PHP ya inicializa las variables él solito, de ahí que podamos con toda comodidad pasar de un tipo de dato a otro sin intervención alguna por nuestra parte.
__________________
Saludos
Emilio
Responder Con Cita
  #5  
Antiguo 20-08-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por Emilio
no obstante con su permiso añadiría que no es necesario iniciarlizar los arrays
¡Ah! Pero es que hay una razón para hacerlo,

Los arreglos ciertamente se iniciaizarán desde la primera vez que asignemos

Código PHP:
$arreglo[] = $resultado['elemento']; 
siempre y cuando pasemos por ahí. Si la consulta no devuelve resultados entonces el interior del while nunca se ejecutará y la variable $arreglo, además de no haber quedado definida- y me parece que las últimas versiones de PHP son más estrictas en ese aspecto - no será un arreglo por lo que cualquier llamada a una función que utilice arreglos nos mandará un error. Claro que podríamos verificar con:

Código PHP:
if (isset($arreglo) && is_array($arreglo))
{
  ...

pero me parece más natural en tal caso devolver un arreglo vacío como se obtiene con la inicialización.

// Saludos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 03:29:51.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi