Foros del Web » Programando para Internet » PHP »

guardar variables! problema!

Estas en el tema de guardar variables! problema! en el foro de PHP en Foros del Web. buenas!! directo: tengo una consulta sencilla ejemplo: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original $sql = "Select servicio where id=123 guardo mi resultado @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código ...
  #1 (permalink)  
Antiguo 21/04/2010, 08:31
(Desactivado)
 
Fecha de Ingreso: febrero-2010
Mensajes: 96
Antigüedad: 14 años, 9 meses
Puntos: 0
guardar variables! problema!

buenas!! directo:

tengo una consulta sencilla ejemplo:

Código PHP:
Ver original
  1. $sql="Select servicio where id=123

guardo mi resultado
Código PHP:
Ver original
  1. $servicio = sqlsrv_get_field($sql, 0);

ok esto funciona

mi problemas es que esta busqueda me deberia devolver dos resultados!!

mi pregunta es: ¿¿ como hago para guardar esos dos resultados en dos diferentes variables???

explico un poco mejor!!

la consulta esa me devuelve dos resultados diferentes dentro de la misma variable pero solo me muestra una

como guardo esas dos variables???
  #2 (permalink)  
Antiguo 21/04/2010, 08:47
Avatar de webness  
Fecha de Ingreso: enero-2009
Ubicación: BOGOTA
Mensajes: 312
Antigüedad: 15 años, 10 meses
Puntos: 5
Respuesta: guardar variables! problema!

hola, estuve consultando y encontre esto, espero que te sirva:

http://msdn.microsoft.com/en-us/libr...SQL.90%29.aspx
  #3 (permalink)  
Antiguo 21/04/2010, 08:49
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: guardar variables! problema!

Sin ver lo que hace tu función sqlsrv_get_field() en teoria tienes que bajar los dos arreglos de tu bdd usando alguna de las funciones disponibles (dependiendo de tu motor de bases de datos) y de ahí extraer tus variables.

Saludos.
  #4 (permalink)  
Antiguo 21/04/2010, 08:57
(Desactivado)
 
Fecha de Ingreso: febrero-2010
Mensajes: 96
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: guardar variables! problema!

Cita:
Iniciado por GatorV Ver Mensaje
Sin ver lo que hace tu función sqlsrv_get_field() en teoria tienes que bajar los dos arreglos de tu bdd usando alguna de las funciones disponibles (dependiendo de tu motor de bases de datos) y de ahí extraer tus variables.

Saludos.
Cita:
Iniciado por webness Ver Mensaje
hola, estuve consultando y encontre esto, espero que te sirva:

http://msdn.microsoft.com/en-us/libr...SQL.90%29.aspx

mmm ok ok!!! no han entendido!!
no es el "sqlsrv_get_field" mi problema!!!
disculpenme si no me explique bien!!
a mi parecer es simple, pero a mi se me hace confuso!

mi consulta se hace bien!!


Código PHP:
Ver original
  1. 1.
  2.       $sql="Select servicio where id=123

mi problema es que servicio deberia devolver luz, agua, gas

pero solo me devuelve luz!!!

como hago para sacar los 3 y guardarlos en variables diferentes????


espero me entiendan ahora!!!

Última edición por dohko7; 21/04/2010 a las 09:02
  #5 (permalink)  
Antiguo 21/04/2010, 09:45
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: guardar variables! problema!

Como te comento, dependiendo de la librería que estas usando tienes que ciclar el resultado, por ejemplo si estuvieras usando MySQL:
Código PHP:
Ver original
  1. $query = "SELECT * FROM servicios";
  2. $result = mysql_query($query);
  3. $servicio1 = mysql_fetch_array($result);
  4. $servicio2 = mysql_fetch_array($result);
  5. $servicio3 = mysql_fetch_array($result);
  6. // y así...

Cada que llamas a mysql_fetch_array() te devuelve una fila de tu BDD y avanza el puntero interno al siguiente resultado, así lo puedes ir almacenando en diferentes variables.

Por eso es que te decia que depende mucho del driver de tu motor de BDD, y de como tengas tus funciones para poder descargar todos los resultados.

Saludos.
  #6 (permalink)  
Antiguo 21/04/2010, 10:27
(Desactivado)
 
Fecha de Ingreso: febrero-2010
Mensajes: 96
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: guardar variables! problema!

gatorv espero me tengas paciencia:

esta es mi consulta: la de verdad.

Código PHP:
Ver original
  1. $sql="Select servicio, nombre, ano, mes, tar
  2.      from servicios(".$id.")";

RESULTADO:
nombre: jose
año: 2010
mes: octubre
servicio: luz

pero servicio debe ser:
luz, gas, agua


mi problema es q una sola variable tiene 3 resultados y solo me saca uno!! pero es una variable!! no la consulta

OJO yo te entiendo lo del array por que ya lo e echo :D
  #7 (permalink)  
Antiguo 21/04/2010, 10:38
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: guardar variables! problema!

Verifica con el operador IN.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #8 (permalink)  
Antiguo 21/04/2010, 10:52
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: guardar variables! problema!

Ejecuta tu consulta en tu gestor de Base de Datos y verifica que te devuelve los resultados que quieres.

Saludos.
  #9 (permalink)  
Antiguo 21/04/2010, 11:09
(Desactivado)
 
Fecha de Ingreso: febrero-2010
Mensajes: 96
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: guardar variables! problema!

sip!!! por eso lo digo!! exactamente la consulta directa en mi gestor efectivamente me devuelve los 3 servicios uno debajo de otro!!
contienen los mismos datos a diferncia de los servicios que difieren en esos 3!

porque?? no concigues nada alrespecto??
  #10 (permalink)  
Antiguo 21/04/2010, 11:14
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 6 meses
Puntos: 1517
Respuesta: guardar variables! problema!

¿Pero pudiste hacer el ejemplo que te indicó GatorV entonces? Porque al tu llamar varias veces mysql_fetch_array() el puntero avanza a la siguiente linea.
Código PHP:
Ver original
  1. $query = "SELECT * FROM servicios";
  2. $result = mysql_query($query);
  3. $servicio1 = mysql_fetch_array($result);
  4. var_dump($servicio1);
  5. $servicio2 = mysql_fetch_array($result);
  6. var_dump($servicio2);
  7. $servicio3 = mysql_fetch_array($result);
  8. var_dump($servicio3);
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #11 (permalink)  
Antiguo 21/04/2010, 11:14
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: guardar variables! problema!

En ese caso tu problema es a nivel código, como te comento el problema reside en tu función sqlsrv_get_field ya que sin saber que driver o motor de base de datos usa no te podría decir.

Si lees el post anterior que puse, te puedes dar una idea como debes de modificar tu función para que te pueda regresar un array con todos tus valores y no solo el primer valor.

Saludos.
  #12 (permalink)  
Antiguo 21/04/2010, 12:26
(Desactivado)
 
Fecha de Ingreso: febrero-2010
Mensajes: 96
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: guardar variables! problema!

Cita:
Iniciado por abimaelrc Ver Mensaje
¿Pero pudiste hacer el ejemplo que te indicó GatorV entonces? Porque al tu llamar varias veces mysql_fetch_array() el puntero avanza a la siguiente linea.
Código PHP:
Ver original
  1. $query = "SELECT * FROM servicios";
  2. $result = mysql_query($query);
  3. $servicio1 = mysql_fetch_array($result);
  4. var_dump($servicio1);
  5. $servicio2 = mysql_fetch_array($result);
  6. var_dump($servicio2);
  7. $servicio3 = mysql_fetch_array($result);
  8. var_dump($servicio3);
claro con mi consulta!!!

hice eso!! este es el resultado!!!
igual sigue mi pregunta!!!!
como separo las dos variables??

Código cv:
Ver original
  1. array(2) { [0]=>  string(27) "DESCUENTO PRONTO PAGO SAGAS" ["concepto_descuento"]=>  string(27) "DESCUENTO PRONTO PAGO SAGAS" } array(2) { [0]=>  string(38) "DESCUENTO PRONTO PAGO IMAU RESIDENCIAL" ["concepto_descuento"]=>  string(38) "DESCUENTO PRONTO PAGO IMAU RESIDENCIAL" }
  #13 (permalink)  
Antiguo 21/04/2010, 13:17
(Desactivado)
 
Fecha de Ingreso: febrero-2010
Mensajes: 96
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: guardar variables! problema!

mmm creo que de este modo me entenderan un poco mas:

si lo coloco con un while:

Código PHP:
Ver original
  1. while( $row = sqlsrv_fetch_array( $consult, 1))
  2. {
  3.      echo "Prod: ".$row[0]."\n";
  4.      echo "-----------------\n";
  5. }

fijense que estoy jalando una sola variable!! el resultado es este:

Código cv:
Ver original
  1. Prod:luz-----------------Prod:agua-----------------Prod:gas

aja pero lo que necesito y no e podido
es separa cada una en una variable diferente!!
  #14 (permalink)  
Antiguo 21/04/2010, 13:37
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: guardar variables! problema!

No es necesario que pongas las cosas en rojo

Si lees y entiendes lo que te puse en el mensaje, puedes ver que solo necesitas llamar a la función muchas veces para guardarlas en variables diferentes:
Código PHP:
Ver original
  1. $prod1 = sqlsrv_fetch_array( $consult, 1);
  2. $prod2 = sqlsrv_fetch_array( $consult, 1);
  3. $prod3 = sqlsrv_fetch_array( $consult, 1);
  4.  
  5. var_dump($prod1, $prod2, $prod3);

Saludos.
  #15 (permalink)  
Antiguo 21/04/2010, 13:55
(Desactivado)
 
Fecha de Ingreso: febrero-2010
Mensajes: 96
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: guardar variables! problema!

ok!!! siguen sin saber cual es mi problema!!

si lees y entiendes lo que te e escrito quisas puedas entenderme!!

lo pongo en rojo porque pienso que quisas lean algunas cosas puesto que por mas que intento no me han entendido!!

Código PHP:
Ver original
  1. 1.
  2.       $prod1 = sqlsrv_fetch_array( $consult, 1);
  3.    2.
  4.       $prod2 = sqlsrv_fetch_array( $consult, 1);
  5.    3.
  6.       $prod3 = sqlsrv_fetch_array( $consult, 1);
  7.    4.
  8.        
  9.    5.
  10.       var_dump($prod1, $prod2, $prod3);

este tipo de solucion no me a servido puesto que lo han puesto 4 veces y obviamente lo e probado!!
y e puesto su resultado despues de intentarlo!

que podria poner?? para intentar otra solucion???

de antemano gracias! ya que se que no es una obligacion para ustedes!! espero no ofender a nadie!!

Última edición por dohko7; 21/04/2010 a las 14:05
  #16 (permalink)  
Antiguo 21/04/2010, 14:07
(Desactivado)
 
Fecha de Ingreso: febrero-2010
Mensajes: 96
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: guardar variables! problema!

GatorV te coloco el resultado despues de intentar eso:
con el var_dump me muestra
Código cv:
Ver original
  1. array(1) { [0]=>  string(39) "DESCUENTO PRONTO PAGO SAGAS RESIDENCIAL" }
  2. array(1) { [0]=>  string(38) "DESCUENTO PRONTO PAGO IMAU RESIDENCIAL" }

me muestra eso que dice array (1) como resuelvo eso??
si coloco

echo $prod1;

me aparece: Array nada mas!!!
  #17 (permalink)  
Antiguo 21/04/2010, 15:48
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: guardar variables! problema!

Porque es un arreglo y repito una vez más parece que te saltas los mensajes y no lees, tu función sqlsrv_fetch_array te regresa un array, es lo que dice, por ende si quieres imprimir el valor de un array tienes que usar el indice que viene dentro del array.

¿Como? Lee el Manual la referencia, de arrays, simplemente pasa el indice a imprimir: echo $prod1[0].

Saludos.

Etiquetas: variables
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 14:07.