Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Recorrer array por $_GET desde Jquery

Estas en el tema de Recorrer array por $_GET desde Jquery en el foro de PHP en Foros del Web. Buenas a todos: Pongo este post aquí porque creo que es donde más acorde va, en caso contrario decírmelo para la próxima vez. Tengo un ...
  #1 (permalink)  
Antiguo 18/08/2015, 04:06
Avatar de Jvgaas7  
Fecha de Ingreso: julio-2015
Mensajes: 40
Antigüedad: 8 años, 10 meses
Puntos: 1
Pregunta Recorrer array por $_GET desde Jquery

Buenas a todos:
Pongo este post aquí porque creo que es donde más acorde va, en caso contrario decírmelo para la próxima vez.

Tengo un jQuery que manda por get dos variables:

La 1º variable es un array donde recoje números de referencia, en este array puede recojer de 1 a infinitos.

La 2º variable llamada escrito, solo y exclusivamente recoge un parámetro.

¿Qué ocurre?

Cuando mando los datos a recibir.php lo que deseo es que con la variable referencia haga una consulta en la BD por cada valor array y me mantenga el valor único en todas. Es decir:

Ref 1 = escrito1
Ref 2 = escrito1
Ref = 3 = escrito1...

Pongo el código que tengo hasta ahora para verlo más graficamente.


/*JQuery*/
Código:
function crearEscritosMasivos(){
     var checkboxValues = new Array();
 	var escrito = $("#escritoExpediente").val(); 
 	if (escrito != -1){
$('.myCheckbox:checkbox:checked').each(function() {
	checkboxValues.push($(this).val());
});
    console.log(checkboxValues);
    window.open("../models/Escritos.php?referencia="+checkboxValues+"&escrito="+escrito, '_blank');
    alert(checkboxValues);
    alert(escrito);
	}
}

/*PHP*/

Código PHP:
<?php
$escrito
$_GET['escrito'];
$referencia=$_GET["referencia"];


/*Cargamos los valores de la base de datos con la referencia del anterior*/
if ($referencia=$_GET["referencia"]){
require(
"../models/conexionBD.php");
    
/*Recoge de las dos tablas existentes los datos y los entremezcla*/
    
$res=mysqli_query($conexion"select * from basica where ref_cortas = '$referencia'");
    
/*La sentencia es posible que se haga con un inner join*/
}

$data=mysqli_fetch_array($res);
     
mysqli_close($conexion);
    

    
//Todos los campos que voy a necesitar
    //$referencia = "";
    
$referencia                 $data["ref_cortas"];
    
$numContrato                 $data["fecha"];
  #2 (permalink)  
Antiguo 18/08/2015, 06:55
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 1 mes
Puntos: 2534
Respuesta: Recorrer array por $_GET desde Jquery

La variable checkboxValues es un array y no puedes concatenar literalmente un array con una cadena de texto, lo correcto es o usar join() para convertir el array en una lista, o bien JSON.stringify() para pasar la lista como JSON.

Ahora, dependiendo de cómo recibas dicho valor deberás descomponerlo en tu código PHP para generar las consultas correctamente.

Primero resuelve tu problema de Javascript (jQuery) y luego el de PHP.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 18/08/2015, 07:50
Avatar de Jvgaas7  
Fecha de Ingreso: julio-2015
Mensajes: 40
Antigüedad: 8 años, 10 meses
Puntos: 1
Respuesta: Recorrer array por $_GET desde Jquery

Primero y antes de nada, gracias por la respuesta.
Tengo que decir que de la manera en que lo tengo sí pasa un valor. Así que el PHP sí lo reconoce, pero no lo recorre.
¿Debería de usar las funciones mencionadas con este detalle? y Cómo?

Muchas gracias.
  #4 (permalink)  
Antiguo 18/08/2015, 10:13
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 1 mes
Puntos: 2534
Respuesta: Recorrer array por $_GET desde Jquery

Cita:
Tengo que decir que de la manera en que lo tengo sí pasa un valor.
Sí, pero es un valor incorrecto.

Tu mismo puedes verificarlo: cuando se hace el window.open() en la barra de direcciones deben ir todos tus valores.

¿Puedes copiar y pegar aquí dicha URL que genera?

Cita:
Así que el PHP sí lo reconoce, pero no lo recorre.
Exactamente lo que te acabo de decir, no lo recorre porque no le pasas un array.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 18/08/2015, 18:15
Avatar de Jvgaas7  
Fecha de Ingreso: julio-2015
Mensajes: 40
Antigüedad: 8 años, 10 meses
Puntos: 1
Respuesta: Recorrer array por $_GET desde Jquery

Te dejo el link para que veas como se pasan los datos por GET, es curioso porque sí pasan todos los datos...

Código:
http://localhost/tdx/models/prueba.php?referencia=S055415,S058177,S060786&escrito=escrito1
Por cada referencia manda un valor.

Gracias.
  #6 (permalink)  
Antiguo 18/08/2015, 19:13
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 1 mes
Puntos: 2534
Respuesta: Recorrer array por $_GET desde Jquery

Bien ahí, eso hacia falta para entender.

Ahora, lo que recibes en PHP no es un array sino una cadena de texto separada por comas.

Puedes usar explode() para convertir dicha cadena en un array.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 19/08/2015, 02:31
Avatar de Jvgaas7  
Fecha de Ingreso: julio-2015
Mensajes: 40
Antigüedad: 8 años, 10 meses
Puntos: 1
Respuesta: Recorrer array por $_GET desde Jquery

Con lo que me has comentado desde luego que, ¡perfecto!

Copio y pego la solución por si alguien tiene el mismo problema.


Código PHP:
$escrito$_GET['escrito'];
$referencia=$_GET["referencia"];

$array explode(","$referencia);

echo 
"<br><br>El número de elementos en el array es: " count($array);
echo 
'<br>';
    foreach (
$array as $valor){
           echo 
"El valor es: $valor";
           echo 
'<br>';


        require(
"../models/conexionBD.php");
        
$busqueda "SELECT * FROM basica WHERE ref_cortas = '$valor'";
            
$result mysqli_query($conexion$busqueda);
                    while (
$fmysqli_fetch_array($result)){     
            

                  
$referencia                 $data["ref_cortas"]; 
                           
$numContrato                 $data["fecha"];
                           echo 
"</tr>";


                       }
                             
    }



?> 
¡¡Muchas gracias!!

Última edición por Jvgaas7; 19/08/2015 a las 06:46

Etiquetas: arrays
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 04:00.