Comunidad de diseño web y desarrollo en internet online

Como arreglo un Array obtenido de una db en variables?

Citar            
MensajeEscrito el 16 Ene 2006 07:57 pm
Hola que tal, de nuevo muchas gracias a todos.
Mi pregunta es la siguiente:
Tengo un campo en mi db que tiene los siguientes valores:
Nombre: h_a
valores: -683 -704 -704 -704 -2770 -2157

Entonces, estos valores (pienso yo) es un array, y quiero tratarlo como tal cuando coja su valor con loadVars, pero me gustaría que quedase así:
var num1= -683
var num2= -704
var num3= -704
var num4= -704
var num5= -2770
var num6= -2157
Esto es para su posteríor uso individual y sumar estos valores pero independientemente.
Muchas gracias por su colaboración :)

Por Naujfract

124 de clabLevel



 

Bogotá Colombia

firefox
Citar            
MensajeEscrito el 16 Ene 2006 08:07 pm
ah ok, era con la poderosa función explode(); se me había olvidao ^^, que pena llenar hilos para nada, pero es que no sabía.

Por Naujfract

124 de clabLevel



 

Bogotá Colombia

firefox
Citar            
MensajeEscrito el 16 Ene 2006 08:10 pm

Código :

valores="-683 -704 -704 -704 -2770 -2157";
var valoresArreglo:Array =valores.split(" ");

trace(Number(valoresArreglo[1])+Number(valoresArreglo[2]));
trace("Si no pones Number te sucede esto");
trace(valoresArreglo[1]+valoresArreglo[2]);

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

netscape
Citar            
MensajeEscrito el 16 Ene 2006 08:21 pm
oye, esta bien haberlo hecho de esta forma?
$historico = $myrow['h_e'];
$consumo_mes = explode(" ", $historico);
echo "&mes1=".$consumo_mes[0]; // 1
echo "&mes2".$consumo_mes[1]; // 2
echo "&mes3".$consumo_mes[2]; // 3
echo "&mes4".$consumo_mes[3]; // 4
echo "&mes5".$consumo_mes[4]; //5
echo "&mes6".$consumo_mes[6]; // 6

Ese funcion split es parecida a explode no?

Por Naujfract

124 de clabLevel



 

Bogotá Colombia

firefox
Citar            
MensajeEscrito el 16 Ene 2006 08:29 pm
aja, pero eso solo es en php que existen las dos :P , por el lado de actionscript esta split solamente, explode no


saludos ^^

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

netscape
Citar            
MensajeEscrito el 16 Ene 2006 11:55 pm
Se me presentó otro problema, mira que está tambien estos valores:
-683 -704 -704 -704 -2770 -2157
16535 16535 16535 16535 16535 16535

Asi claramente te puedes dar cuenta que el espacio " " es distinto en todos, y al listarlos me varia en todas las nuevas variables y aveces no las coje bien, que puedo hacer hay?
Había puesto un espacio más largo y me funcionó con algunos valores, pero los que tienen un espacio distinto no los puede "leer".
Será que lo soluciono fácil o me va a tocar modificar los 7000 valores que tengo así :(

Por Naujfract

124 de clabLevel



 

Bogotá Colombia

firefox
Citar            
MensajeEscrito el 17 Ene 2006 01:08 am
Esos procedimientos "manuales", son buenos en un principio, para aprender, pero definitivamente no es la solución. Para convertir variables en datos almacenables debes usar la función de php, serialize.

Saludos :wink:

Por Dano

BOFH

4273 de clabLevel

14 tutoriales
4 articulos
10 ejemplos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Lugar estratégico para vigilarte

firefox
Citar            
MensajeEscrito el 17 Ene 2006 03:06 am
Ok, estaba pensando en solucionar esto con split(), que me mire el array si empieza por un numero con espacio, será que asi podré solucionarlo?

Por Naujfract

124 de clabLevel



 

Bogotá Colombia

firefox
Citar            
MensajeEscrito el 17 Ene 2006 03:08 am
split() de php

Por Naujfract

124 de clabLevel



 

Bogotá Colombia

firefox
Citar            
MensajeEscrito el 17 Ene 2006 03:11 am
Tal vez no fui claro, mira vas a guardar las variables tal cual, no vas a hacer split, ni poner guiones ni nada. Solo vas a hacer esto:


Guardar:

Código :

   function guarda($arreglo)
   {
      $File=fopen($this->PathFile,"w");
      fwrite($File,serialize($arreglo));
      fclose($File);
      return true;
   }


Leer:

Código :

   function lee()
   {
      $File=fopen($this->PathFile,"r");
      $Datos=fread($File,filesize($this->PathFile));
      fclose($File);
      $Datos=unserialize($Datos);
      return $Datos;
   }

Donde $this->PathFile, es la ruta de tu archivo.

Es todo, no haces spliteos ni explosiones, nada, guardas la variable tal cual.

Saludos :wink:

Por Dano

BOFH

4273 de clabLevel

14 tutoriales
4 articulos
10 ejemplos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Lugar estratégico para vigilarte

firefox
Citar            
MensajeEscrito el 17 Ene 2006 03:54 am

Dano escribió:

ni explosiones:

:lol:
Oye, pero el problema es que tengo 7000 campos en mi DB que están de esta forma (yo no los hice) entonces estos valores tengo que separarlos con variables, ese es el problema, y tengo que usar está base de datos por que los demás valores si los estoy tratando correctamente y los leo bien...
Que me aconsejas que haga?
Muchas gracias

Por Naujfract

124 de clabLevel



 

Bogotá Colombia

firefox
Citar            
MensajeEscrito el 17 Ene 2006 04:10 am
Ok, pensando en que "no existe alternativa" sencilla, de cualquier manera, realiza el split en Flash, no tiene caso que satures a tu server, con cada petición. Cada que haces un split en php(que lo haras así como lo tienes), cargas al server, así que divide el trabajo, deja que Flash realice el split.

Algo así:
PHP

Código :

echo "&VariableParaFlash=".$CampoRaroDeTuBD;


FLASH:

Código :

obj=new LoadVars();
obj.onLoad=function(){
   errMF=String(this.VariableParaFlash).split("-");
  trace(errMF[0]);
  trace(errMF[1]);
  trace(errMF[2]);
}
....



Suerte! ^^

Por Dano

BOFH

4273 de clabLevel

14 tutoriales
4 articulos
10 ejemplos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Lugar estratégico para vigilarte

firefox
Citar            
MensajeEscrito el 17 Ene 2006 04:17 am
Oye, pero los que no tienen "-"?

Por Naujfract

124 de clabLevel



 

Bogotá Colombia

firefox
Citar            
MensajeEscrito el 17 Ene 2006 04:27 am
Quitale pues el guión, usa un poco de SQL, y te ahorras mil problemas, voy a hacer un SQL de ejemplo, que espero te sirva, correlo en el phpmyadmin.

Código :

Update Tabla SET campoRaro = REPLACE(campoRaro, ' -', ' ');


Con eso le haces que los que tengan guíon se los quite, así tu delimitador es el ' ', únicamente.

Por Dano

BOFH

4273 de clabLevel

14 tutoriales
4 articulos
10 ejemplos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Lugar estratégico para vigilarte

firefox
Citar            
MensajeEscrito el 17 Ene 2006 04:38 am
Oye, esa fué la solución, muchias gracias :)

Por Naujfract

124 de clabLevel



 

Bogotá Colombia

firefox
Citar            
MensajeEscrito el 17 Ene 2006 04:44 am
Te molesto mucho si te pregunto como le insertaría un nuevo campo a esa array? :o

Por Naujfract

124 de clabLevel



 

Bogotá Colombia

firefox
Citar            
MensajeEscrito el 17 Ene 2006 04:50 am
No me molestas, pero es que de hecho no sabía que los arrays tuvieran campos.

En caso de que no te refieras a un campo, si no a un nuevo elemento del array, pues en flash, solo esto:

Código :

array.push("nuevo");
:wink:

Por Dano

BOFH

4273 de clabLevel

14 tutoriales
4 articulos
10 ejemplos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Lugar estratégico para vigilarte

firefox
Citar            
MensajeEscrito el 17 Ene 2006 04:55 am

Dano escribió:

No me molestas, pero es que de hecho no sabía que los arrays tuvieran campos.

Código :

array.push("nuevo");
:wink:


Perdón, lo que pasa es que me refería a un nuevo "elemento" de la Db que contiene esto:
755 756 757 758 759 750
Como agregaría el "751"?, teniendo en cuenta que es un "Array"? o una cadena con espacios?
:?
Que pena molestarte :oops:

Por Naujfract

124 de clabLevel



 

Bogotá Colombia

firefox
Citar            
MensajeEscrito el 17 Ene 2006 04:58 am
así?

Código :

UPDATE Tabla SET campo = CONCAT(campo,' 1337') WHERE idMeet=12

Por Dano

BOFH

4273 de clabLevel

14 tutoriales
4 articulos
10 ejemplos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Lugar estratégico para vigilarte

firefox
Citar            
MensajeEscrito el 17 Ene 2006 05:05 am
perfecto, eso era lo que necesitaba, eres muy amable, muchas gracias :) por que idMeet=12?

Por Naujfract

124 de clabLevel



 

Bogotá Colombia

firefox
Citar            
MensajeEscrito el 17 Ene 2006 05:08 am
Las variables, términos, que use no les des importancia, da igual como se llamen los campos. :wink:

Por Dano

BOFH

4273 de clabLevel

14 tutoriales
4 articulos
10 ejemplos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Lugar estratégico para vigilarte

firefox
Citar            
MensajeEscrito el 17 Ene 2006 05:13 am
ah ok, en ese espacio es el típico WHERE tal = tal.
Muchas Gracias de nuevo :)

Por Naujfract

124 de clabLevel



 

Bogotá Colombia

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.