Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: RedZer en 13 Mayo 2011, 00:53 am



Título: pasar parametros con jquery y ajax
Publicado por: RedZer en 13 Mayo 2011, 00:53 am
tengo un problema con este codigo, les explico yo muestro los resultados obtenidos con un while y a la ves lo pagino, dentro del while genero una liga la cual es para consultar pero a esta liga quiero pasarle parametros con ajax y query y atra ves de el generar la consulta dependiendo el valor que aya llevado la liga  y asi no recargar la pagina y mostrar los resultados en una ventana simple modal ,  lo cual logro pero fuera del while.
la liga que estoy ocupando es esta
 
 
Código
  1. <a href="#" name="<?php echo $mu="paupau"; ?>" class="sample1 osx demo" >click aki</a>

tube que darle la propieda de name al enlace y ponerle un valor  para que atra vez de ajax cogiera el valor al pulsar el enlace, cuando meto el enlace dentro del while solo me toma el ultimo valor

index.php codigo que ocupo para mostrar los resultados

 
Código
  1.  <?php
  2.  
  3.  // Instanciamos el objeto para paginar
  4. require_once 'PHPPaging.lib.php';
  5.          // Abrimos la conexión al servidor MySQL
  6.       $link = mysql_connect('localhost', 'root', '');
  7.       mysql_select_db('clubpca3', $link);
  8.       // Instanciamos, indicando el recurso de conexión
  9.       $paging = new PHPPaging($link);
  10.  
  11.  if($tipo==1){
  12.  
  13.  
  14.  
  15.    $paging->agregarConsulta("select *  FROM socios  WHERE id LIKE '%".$buscar."%'    ");
  16.  
  17. // Ejecutamos la paginación
  18.        $paging->ejecutar();
  19.  
  20.       if($paging->numRegistrosMostrados() >= 1) {
  21.           $contador=1;
  22.            while($row=$paging->fetchResultado())
  23.           {
  24.   //saco el tipo de socio
  25.  conectar();
  26.          $queEmp2 = mysql_query("SELECT nombre FROM tipo_socios where id_tiposocio='$row[1]' ");
  27.          $rowEmp2 = mysql_fetch_assoc($queEmp2);
  28.          $nombre= $rowEmp2['nombre'];
  29.          desconectar();
  30.  
  31.  
  32. echo "
  33.   <tbody>
  34.     <tr>
  35.  
  36.  
  37.            <td>$row[2] $row[3] $row[4]</td>
  38.            <td>$nombre</td>
  39.            <td>--</td>
  40.            <td>
  41.  
  42.  
  43.         <a href=# name='$mu=$row[0]' class='sample1' >BUSCAR</a>
  44.  
  45. </td>
  46.        </tr>
  47.           </tbody>";
  48.  
  49.  
  50.   $contador++;
  51.  
  52.           }
  53.    }       else{
  54. echo"no hay registros";
  55.  
  56.  
  57.              }
  58.  
  59.  }
  60.  ?>
  61.  
  62. script que ocupo para pasar parametros
  63.  
  64.  
  65. [code=php]<script language="javascript" type="text/javascript">
  66.    $('.sample1').click( function() {
  67.  
  68.        $.ajax({
  69.          url: 'consultar.php?action=<?php echo $contador; ?>',
  70.          success: function(data) {
  71.            $('.results').html(data);
  72.          }
  73.        });
  74.  
  75.    });
  76.  
  77.  
  78.    </script>

consultar.php "scrip que ocupo para imprimir "
Código
  1. <?php
  2.  
  3. echo $_REQUEST['action'];
  4.  
  5.  
  6. ?>
[/code]


Título: Re: pasar parametros con jquery y ajax
Publicado por: Shell Root en 13 Mayo 2011, 01:08 am
Mira la función que tengo,
Código
  1. function sPeticion( sAccion, sParametros ){
  2.  $.ajax({
  3.    url     : "acciones.php?accion="+sAccion,
  4.    type    : "POST",
  5.    data    : sParametros,
  6.    success : function (sDatos){ eval( sDatos ); }
  7.  });
  8. }

Y la invoco así,
Código
  1. sPeticion( "iniciarSesion", "txtUser="+sUser+"&txtPass="+sPass );

Y para recolectar información de la URL, estilo $_GET['variable'] en PHP, uso:
Código
  1. function sBuscarParametroGET( sParametro ){
  2.  var sExpReg    = "[\\?&]"+sParametro+"=([^&#38;#]*)";
  3.  var sRegEx     = new RegExp ( sExpReg );
  4.  var sURL       = window.location.href;
  5.  var sResultado = sRegEx.exec( sURL );
  6.  if( sResultado == null ){
  7.    return "";
  8.  }else{
  9.    return sResultado[1];
  10.  }
  11. }


Título: Re: pasar parametros con jquery y ajax
Publicado por: RedZer en 13 Mayo 2011, 04:43 am
shell root lo que pasa es que ami con la funcion que tengo si me recoge las variables y me lo muestra como yo deceo pero al meterlo dentro de un while solo me coge el ultimo valor  y yo lo que deceo que este dentro del while para que asi al momento que se le de click al enlace me desplique el id que se alla clikeado


Título: Re: pasar parametros con jquery y ajax
Publicado por: bomba1990 en 13 Mayo 2011, 05:19 am
oye, sera que te puedes explicar un poco mejor a ver te entiendo, quieres pasar una variable a un script en php, para que despues muestres el resultado en una ventana modal? lo que no entiendo es donde pasas la variable al script php. o cual es el rollo?


Título: Re: pasar parametros con jquery y ajax
Publicado por: RedZer en 13 Mayo 2011, 05:42 am
vez que en php para pasar parametros atraves de url se ase asi
<a href=modsicio2.php?id=variable>click</a>

yo es lo que quiero hacer pero con jquery para no recargar la pagina y el resultado mostrarlo en una ventana modal eso es lo de menos en que lo muestre..
 
ahora bien con esta funcion

Código
  1. <script language="javascript" type="text/javascript">
  2.    $('.sample1').click( function() {
  3.  
  4.        $.ajax({
  5.          url: 'consultar.php?action=<?php echo $mu; ?>',
  6.          success: function(data) {
  7.            $('.results').html(data);
  8.          }
  9.        });
  10.  
  11.    });
  12.  
  13.  
  14.    </script>


al momento de dar click sobre este enlace

<a href=# name='$mu=RedZer' class='sample1' >BUSCAR</a>
me imprime lo que esta en el name del enlace en este caso es una varieble de php que contiene ReDzER
ahora bien yo ese enlace  lo quiero meter dentro de un while ya que asi es como muestro los registros de la bd como puse el codigo  pero ahora en el name del enlace en vez de que contenga redzer quiero que ontenga los id de los registros para que asi al momento que se le de click a un enlace me muestre los campos que tenga que ver con ese id.


Título: Re: pasar parametros con jquery y ajax
Publicado por: bomba1990 en 13 Mayo 2011, 05:52 am
ahora si te entiendo mejor, lo que tu deseas es imprimir varios enlaces asi:

<a href=# name='RedZer' class='sample1' >BUSCAR</a>
<a href=# name='bomba1990' class='sample1' >BUSCAR</a>
<a href=# name='shellroot' class='sample1' >BUSCAR</a>
<a href=# name='nakp' class='sample1' >BUSCAR</a>

entonces al hacer click en cualquiera de ellos envie una variable al script y dependiendo cargue la ventana.

si es asi, pones tu while como ya lo pusiste y ademas vas a poner.

$('.sample1').click( function(event) {
    event.preventDefault()
        $.ajax({
          url: 'consultar.php',
          data: "action="+$(this).attr('name'),
          success: function(data) {
            $('.results').html(data);
          }
        });
 
    });

Si te entendi bien, esto deberia ser suficiente para que te funcione.


Título: Re: pasar parametros con jquery y ajax
Publicado por: RedZer en 13 Mayo 2011, 06:00 am
gracias bomba1990 ya funciono. saludos


Título: Re: pasar parametros con jquery y ajax
Publicado por: Dave Galliardi en 13 Octubre 2011, 04:38 am
que tal, les escribo desde mexico, tengo un problema y espero puedan ayudarme, es algo muy similar al que plantean aqui.

la cosa es que estoy haciendo un pequeño sistema escrito en php, en este momento estoy desarrollando un modulo que genera una consulta general de una tabla en una bd que contiene información acerca de las cartas de presentación de los alumnos de una escuela, dicha tabla tiene relacion con otra tabla llamada alumno, donde se guarda toda la información personal del alumno, las tablas se relacionan gracias al id o matricula del alumno, entonces cuando genero la consulta general de la tabla carta, necesito asignarle un link a la matricula de la carta para que al momento de darle clic me muestre la información relacionada con la matricula, por ejemplo, nombre de la persona que tiene esa matricula, dirección, telefono, cosas de ese tipo.

ya logre asignarle un link al campo, pero no logro hacer que me abra la ventana modal, en este momento utilizo un javascript llamado ventana-modal-1.1.1 pero me gustaría saber si existe algun otro modo mas sencillo de lograr lo que les explico.

este es el codigo del programa que realiza la consulta

                <?

$con=mysql_connect("localhost","root","12345678");
  mysql_select_db("tesco",$con);
  $sqlz="Select * from carta ";
 
  $dat1=mysql_query($sqlz,$con);
 
  echo "<center><table border=2 width=800>";
  echo "<tr>";
         echo "<th>    MATRICULA     </th>";
       echo "<th>    FOLIO     </th>";
       echo "<th>    DESTINATARIO     </th>";
       echo "<th>    PROFESION     </th>";
       echo "<th>    PUESTO     </th>";
       echo "<th>    DEPENDENCIA     </th>";
        echo "<th>    ESTATUS     </th>";
      echo "</tr>";
  while($reg1=mysql_fetch_array($dat1))
  {
      echo "<tr>";
         echo "<td><a href='javascript:abrirVentanaVariable('index.html', 'ventana', 'Servicio1')'>    $reg1[1]     </a></td>";
        echo "<td>    $reg1[2]     </td>";
         echo "<td>    $reg1[3]    </td>";
         echo "<td>    $reg1[4]     </td>";
         echo "<td>    $reg1[5]     </td>";
       echo "<td>    $reg1[6]     </td>";
        echo "<td>    $reg1[7]     </td>";
      echo "</tr>";
  }
  echo "</table></center>";

mysql_free_result($dat1);
  mysql_close($con);


?>


Título: Re: pasar parametros con jquery y ajax
Publicado por: RedZer en 13 Octubre 2011, 08:13 am
te recomiendo que abras un tema nuevo explicando solo esta parte
ya logre asignarle un link al campo, pero no logro hacer que me abra la ventana modal, en este momento utilizo un javascript llamado ventana-modal-1.1.1 pero me gustaría saber si existe algun otro modo mas sencillo de lograr lo que les explico.
con forme a tu problema pueden ser varios factores ejemplo:
1.- que no estes incluyendo bien las librerias que ocupa la ventana modal
2.-error de sintaxis.

yo nunca he ocupado  esa libreria que ocupas pero si eocupado otras  y he pasado parametros , y tambien me he visto en problemas de que no se me abre la ventana yo lo que ago cuando me pasa eso es hacer primero pruebas sin el codigo php osea solo pongo el lo basico que se ocupa para que se genere la ventana y pongo un link cualquiera y le doy click si veo que funciona entonces obiamente mi error radicara en el php y no en la ventana modal.


Título: Re: pasar parametros con jquery y ajax
Publicado por: Dave Galliardi en 13 Octubre 2011, 08:19 am
si lo he hecho, y funciona bien abriendo una ventana modal, pero cuando intento implementarlo desde php no sucede nada, he buscado otras opciones, encontre jquery y ajax, pero la verdad es que no tengo idea de funcionana, la mayoria de los ejemplos solo explican como abrir la pantalla pero no como mandar las variables, crees que pueda mostrarte mi proyecto y tal vez darme una mano?


Título: Re: pasar parametros con jquery y ajax
Publicado por: RedZer en 13 Octubre 2011, 08:33 am
claro mandamelo


Título: Re: pasar parametros con jquery y ajax
Publicado por: Dave Galliardi en 13 Octubre 2011, 08:40 am
webone10@hotmail.com agregame y te muestro lo que llevo gracias


Título: Re: pasar parametros con jquery y ajax
Publicado por: kyuzodsc en 15 Marzo 2012, 05:31 am
k tal mi estimado RedZer

tengo el mismo problema k comntas al inicio, con un simple modal normal sin pasar datos si lo gro mostrarlo, mi duda es como lograste que se mostrara un simple modal por registro de la bd. no se si puedas poner  los archivos completos i las librerias k utilizaste por favor


Título: Re: pasar parametros con jquery y ajax
Publicado por: RedZer en 15 Marzo 2012, 05:54 am
si mira primeramente prueba la ventana modal por si solo luego lo mezclas con php generalmente las ventanas modales funcionan  por id, en la parte de arriba esta la solucion le cuidadosamente.


Título: Re: pasar parametros con jquery y ajax
Publicado por: kyuzodsc en 15 Marzo 2012, 21:48 pm
ya lo revise y si me muestra una pagina modal por cada registro pero no me repeta el id de la base de datos , no se si sea por como lo estoy implementando mira:

Código:
<script type='text/javascript' src='../view/lib/jquerymodal.js'></script>
<script type='text/javascript' src='../view/lib/jquery.simplemodal.js'></script>

<script language="javascript" type="text/javascript">
//cone sto abro el simple modal al dar click
jQuery(function ($) {
// Load dialog on page load
//$('#basic-modal-content').modal();


// Load dialog on click

$('#basic-modal .basic').click(function (e) {
$('#basic-modal-content').modal({
opacity:80,
overlayCss: {backgroundColor:"#000000"}


});



return false;
});
});

</script>
-///despues e hacer la paginacion y traer los datos imprimo un link para cada modal

            <td>
<div id='content'>
<div id='basic-modal'>
       <a href='#' name='<?php echo $mu=$row['id_empresa']; ?>' class='basic'>Detalle</a></td>

</div>
        </div>
        <!-- modal content -->//aki es el contenido del modal si me muestra lo del iframe pero siempre me manda el primer registro y en el codigo fuente en html si me manda odos los registros diferentes
<div id="basic-modal-content">
<iframe frameborder="0" width='600' height='500' src='<?php echo "../view/detalle_empresa.php?emp=$id_empresa"; ?>'></iframe>

            
</div>

        </td>



no se si estoy haciendo mal la llamada del siple modal o de las paginas o como :(