Foros del Web » Programando para Internet » PHP »

arrays

Estas en el tema de arrays en el foro de PHP en Foros del Web. saludos, tengo la siguiente duda y espero me puedan ayudar porfavor desde ajax envio datos de un arreglo por GET http://localhost/prueba2.php?valores=1&check []=3&check[]=7&check[]=10&rand=21794834 lo que quiero ...
  #1 (permalink)  
Antiguo 17/06/2009, 23:21
 
Fecha de Ingreso: noviembre-2007
Mensajes: 237
Antigüedad: 16 años, 5 meses
Puntos: 4
arrays

saludos, tengo la siguiente duda y espero me puedan ayudar porfavor

desde ajax envio datos de un arreglo por GET

http://localhost/prueba2.php?valores=1&check[]=3&check[]=7&check[]=10&rand=21794834

lo que quiero es poder utilizar los datos obtenidos, cuando se soliciten, pero no todos a la vez, alguno en especifico, espero se entienda gracias
  #2 (permalink)  
Antiguo 17/06/2009, 23:27
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: arrays

¿cuales quieres y cuales no?
Si puedes da algun ejemplo de lo que quieres hacer
  #3 (permalink)  
Antiguo 18/06/2009, 00:12
 
Fecha de Ingreso: noviembre-2007
Mensajes: 237
Antigüedad: 16 años, 5 meses
Puntos: 4
Respuesta: arrays

por ejemplo quiero realizar un insert en la bd mas adelante, pero, por lo tanto debo entregar dos variables diferentes para realizarlo, ejemplo:

dato1 y 2 deben salir del array

insert into... values (dato1, dato 2)
  #4 (permalink)  
Antiguo 18/06/2009, 00:29
 
Fecha de Ingreso: junio-2009
Mensajes: 19
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta: arrays

Creo que debes explicar mejor tu ejemplo :)
  #5 (permalink)  
Antiguo 18/06/2009, 00:54
 
Fecha de Ingreso: noviembre-2007
Mensajes: 237
Antigüedad: 16 años, 5 meses
Puntos: 4
Respuesta: arrays

ok, gracias por responder

desde ajax recibo datos de un arreglo por metodo GET, el cual lo muestro a continuacion

http://localhost/prueba2.php?valores=1&check[]=3&check[]=7&check[]=10&rand=21794834

estos datos check[]=3 check[]=7, etc, pueeden ser mas, depende de cuanto checkbox seleccione el usuario

en la pagina prueba2.php

recibo el arreglo asi:

$res= $_GET['check'];


lo que quiero hacer en esta pagina como ejemplo seria, realizar una consulta a la bd con los datos obtenidos (check[]=3&check[]=7&check[]=10 recordando que puede variar la cantidad de check)

Código PHP:
$consultapg_query("select * from prueba where id= 'check' or id= 'chek'......or id='check' "); 
  #6 (permalink)  
Antiguo 18/06/2009, 03:12
Avatar de aliza  
Fecha de Ingreso: diciembre-2008
Mensajes: 156
Antigüedad: 15 años, 4 meses
Puntos: 6
Respuesta: arrays

Si entiendo bien, tu lo que necesitas es un costructor sql, y es algo complejo pero fácil a la vez.
Primero deberías hacer una función que comprobara los valores que pasa el ajax.
Si tienes 2 datos por ejemplo pueden darse 4 casos (00,01,10,11).
Si tienes 3 datos por ejemplo pueden darse 8 casos (000,001,010,011,100,101,110,111).
Y así...
Ahora lo que tienes que hacer es otra función que invoque a esta, ys según el valor que arroje ir construyendo tu sql y almacenando en $sql.
Luego le pasas a la consulta el valor de $sql y listo... si es eso vamos...
Espero que te ayude.

Un saludo.
__________________
Dando cabezados se aprende...
  #7 (permalink)  
Antiguo 18/06/2009, 04:41
 
Fecha de Ingreso: diciembre-2008
Mensajes: 118
Antigüedad: 15 años, 4 meses
Puntos: 6
Respuesta: arrays

usa where in:

Código PHP:
$consultapg_query("select * from prueba where id= 'check' or id= 'chek'......or id='check' ");  

//ahora esto es mas eficaz
//primero puedes armar en una variable todos los $_GET recibidos y la consulta puedes hacerla de la siguiente manera

$consultapg_query("select * from prueba where id IN ('$check1','$check2','$check3',etc...') order... "); 
creo que es lo que buscas no?
  #8 (permalink)  
Antiguo 18/06/2009, 13:37
 
Fecha de Ingreso: noviembre-2007
Mensajes: 237
Antigüedad: 16 años, 5 meses
Puntos: 4
Respuesta: arrays

gracias por las respuestas

lo que me recomienda kristt me sirve, pero yo solo recibo una variable llamada $check la cual tiene los datos enviados por get. en ese caso como coloco para hacer la consulta?
  #9 (permalink)  
Antiguo 18/06/2009, 16:25
 
Fecha de Ingreso: noviembre-2007
Mensajes: 237
Antigüedad: 16 años, 5 meses
Puntos: 4
Respuesta: arrays

esto me sirve, pero tengo un pequeño problema, si se fijan siempre me queda un dato en blanco al principio de la cadena, nose como sacarlo para que empieze desde el primer dato del arreglo, la cadena me imprime

,'7','9'

ayuda porfa

Código PHP:
$res$_GET['check'];

foreach(
$res as $arreglo){

$qryalmcx $qryalmcx.","."'".$arreglo."'";

}

echo 
"$qryalmcx"
  #10 (permalink)  
Antiguo 18/06/2009, 16:42
 
Fecha de Ingreso: noviembre-2008
Mensajes: 67
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: arrays

Código PHP:

$res
$_GET['check'];

foreach(
$res as $arreglo)
{

  if(empty(
$qryalmcx )) 
    {
            
$qryalmcx "'".$arreglo."'";
      }

    else

    {
        
$qryalmcx $qryalmcx.","."'".$arreglo."'";
    }

}

echo 
"$qryalmcx"
prueba con esto... .. lo que hace, es preguntar si en tu variable $qryalmcx esta vacia, y le asinga el primer valor sin coma, a la siguiente ya tendra un valor lo por ke se ira por el else y seguira pegando datos con la coma. despues cuando lo pases a otra pagina le hace un explode por la coma y le das un nuevo foreach para imprimir los datos denuevo.

ve si te funciona.

atte. Patux
  #11 (permalink)  
Antiguo 18/06/2009, 17:16
 
Fecha de Ingreso: noviembre-2007
Mensajes: 237
Antigüedad: 16 años, 5 meses
Puntos: 4
Respuesta: arrays

PATUX si me funciono muchas gracias a ti y a todos los que me ayudaron
  #12 (permalink)  
Antiguo 18/06/2009, 18:09
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
Respuesta: arrays

En Javascript podrías hacer algo así :

Código:
var array = {'dato1','dato2','dato3','dato4','datoetc'};

// En Ajax envías array por parámetro get
Luego con PHP puedes recorrerlo. No creo que me entiendas, pero es mejor xD. Nos vemos.
__________________
Nunca te olvidaré mi negra hermosa. Te extraño demasiado.
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 19:46.