Foros del Web » Programando para Internet » Jquery »

Arreglo php con jquery

Estas en el tema de Arreglo php con jquery en el foro de Jquery en Foros del Web. Buenoas dias, mi problema es el siguiente. Tengo un codigo jquery que captura el id de la opcion seleccionada y luego a partir de esto ...
  #1 (permalink)  
Antiguo 31/10/2012, 09:49
 
Fecha de Ingreso: diciembre-2006
Mensajes: 20
Antigüedad: 18 años
Puntos: 0
Arreglo php con jquery

Buenoas dias, mi problema es el siguiente.

Tengo un codigo jquery que captura el id de la opcion seleccionada y luego a partir de esto realiza una consulta ajax, enviando al input "metaacción" el value de la respuesta de dicha consulta.

Quiero realizar mediante esta misma funcion, otra consulta ajax, que me devuelva de un ciclo while en php, la impresiona por separado de distintos campos de la tabla de bd, para luego asignarlos al value de varios input text.

ASI VA EL CODIGO

Código HTML:
$(document).ready(function(){
        $("#pro").change(function(event){
            var id = $("#pro").find(':selected').val();
			$.post('pagina1.php?id='+id,function(respuesta){
			$("#metaaccion").val(respuesta)
$.post('meta.php?id='+id,function(respuesta){
			$("#inputtext1").val(respuesta)
$("#inputtext2").val(respuesta)
$("#inputtext3").val(respuesta)
$("#inputtext4").val(respuesta)
este es el contenido de "meta.php"
Código PHP:
<?php
header
("Content-Type: text/html;charset=utf-8");
require(
'clases/cliente.class.php');
            
$objCliente=new Cliente;
$consulta=$objCliente->selecttri();
    while (
$fila mysql_fetch_array($consulta)) {
         echo 
$fila["t1"];
                echo 
$fila["t2"];
echo 
$fila["t3"];
echo 
$fila["t4"];
    };
 
?>
Aqui me quede ya que al realizar la consulta ajax, asigna al input todos los "echo" del meta.php y solo deseo ver segun el orden.


AYUDAAAAAAAAAAAAAAAAAA PLEASEEEEEEEE

Última edición por zeichen; 31/10/2012 a las 09:57
  #2 (permalink)  
Antiguo 01/11/2012, 11:33
Avatar de hackjose  
Fecha de Ingreso: abril-2010
Ubicación: Edo Mexico
Mensajes: 1.178
Antigüedad: 14 años, 8 meses
Puntos: 131
Respuesta: Arreglo php con jquery

tienes que parsear, por ejemplo tu php que te envie esto

campo1-campo2-campo3

ya despues con javascript lo parseas usando split, este metodo te devulve un array y luego cada elemento lo pones en su correspondiente input.

O tambien puedes usar XML, como se te haga mas facil

Saludos
  #3 (permalink)  
Antiguo 02/11/2012, 21:29
 
Fecha de Ingreso: enero-2010
Mensajes: 19
Antigüedad: 14 años, 10 meses
Puntos: 2
Respuesta: Arreglo php con jquery

Comencemos arreglando tu código, lo que vamos hacer es que tu script devuelva un JSON (http://bitly.com/bJUPK):

Código PHP:
Ver original
  1. <?php
  2. require('clases/cliente.class.php');
  3.  
  4. $objCliente = new Cliente;
  5. $consulta = $objCliente->selecttri();
  6. $array = array();
  7.  
  8. while ($fila = mysql_fetch_array($consulta)) {
  9.     $array = $fila;
  10.     $consulta2 = $objCliente->seleccion_dos($id);
  11.     while($valor = mysql_fetch_array($consulta2)) {
  12.         $array['valores'][] = $valor;
  13.     }
  14. }
  15.  
  16. echo json_encode($array)
  17.  
  18. ?>

Ahora arreglemos tu JS:

Código Javascript:
Ver original
  1. $(function() { // Equivalente a $(document).ready();
  2.  
  3.     $("#pro").change(function(event) {
  4.         var id = $("#pro").find(':selected').val();
  5.         $.post('pagina.php?id=' + id, function(data) {
  6.             // Esta consulta nos traería un array de este tipo
  7.             // { meta: "meta 1", valores: [ {valor: 1}, {valor: 2}, {valor: 3}]}
  8.             data = $.parseJSON(data); // Convertimos nuestra cadena en un objeto JSON
  9.             $("#metaaccion").val(data.meta);
  10.             $.each(data.valor, function(index, d) {
  11.                 // Si tus input tiene nombres como input1, input2, input3 etc
  12.                 $("#input" + index).val(d.valor);
  13.             });
  14.         });
  15.     });
  16.  
  17.  
  18. });

PD: Te recomiendo indentar tu código para que sea más legible Saludos.
  #4 (permalink)  
Antiguo 05/11/2012, 22:50
 
Fecha de Ingreso: diciembre-2006
Mensajes: 20
Antigüedad: 18 años
Puntos: 0
Respuesta: Arreglo php con jquery

Cita:
Iniciado por Diego89 Ver Mensaje
Comencemos arreglando tu código, lo que vamos hacer es que tu script devuelva un JSON (http://bitly.com/bJUPK):

Código PHP:
Ver original
  1. <?php
  2. require('clases/cliente.class.php');
  3.  
  4. $objCliente = new Cliente;
  5. $consulta = $objCliente->selecttri();
  6. $array = array();
  7.  
  8. while ($fila = mysql_fetch_array($consulta)) {
  9.     $array = $fila;
  10.     $consulta2 = $objCliente->seleccion_dos($id);
  11.     while($valor = mysql_fetch_array($consulta2)) {
  12.         $array['valores'][] = $valor;
  13.     }
  14. }
  15.  
  16. echo json_encode($array)
  17.  
  18. ?>

Ahora arreglemos tu JS:

Código Javascript:
Ver original
  1. $(function() { // Equivalente a $(document).ready();
  2.  
  3.     $("#pro").change(function(event) {
  4.         var id = $("#pro").find(':selected').val();
  5.         $.post('pagina.php?id=' + id, function(data) {
  6.             // Esta consulta nos traería un array de este tipo
  7.             // { meta: "meta 1", valores: [ {valor: 1}, {valor: 2}, {valor: 3}]}
  8.             data = $.parseJSON(data); // Convertimos nuestra cadena en un objeto JSON
  9.             $("#metaaccion").val(data.meta);
  10.             $.each(data.valor, function(index, d) {
  11.                 // Si tus input tiene nombres como input1, input2, input3 etc
  12.                 $("#input" + index).val(d.valor);
  13.             });
  14.         });
  15.     });
  16.  
  17.  
  18. });

PD: Te recomiendo indentar tu código para que sea más legible Saludos.
MUCHAS GRACIAS POR LA AYUDA AMIGO "Diego89", y ps muy cierta tu acotacion sobre el indentar el codigo, lo tomare en consideracion, sin embargo probe el codigo y no comprendo que haria la consulta seleccion_dos($id);???

Etiquetas: Ninguno
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 09:23.