entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

0voto

Como puedo obtener el valor de una variable en PHP desde jQuery?

Buenas colegas... estoy con un problema de haces semanas, y es que en realidad he estado buscando ejemplos hasta ahora se que se tiene que utilizar AJAX, pero lo único que solo me a logrado es enredarme mas... la cuestion es que tengo una base de datos en mysql ingresando datos mediante php, ahora estoy desarrollando una web app mediante jquery mobile. El punto en la que me he quedado ha sido que necesito desde jQuery borrar registro mediante un botón de borrar que he creado que sale mediante swipe slide que se le hace sobre el registro que se desea borrar; ahora tengo que obtener el valor de esa variable 'id' del php desde jQuery para después llamar un delete.php y poder borrar ese registro desde jQuery. Aquí les dejo mejor la pagina que he echo hasta el momento a ver si me pueden ayudar por favor.

http://waybill.hyeride.com/index.php (pagina php)

http://waybill.hyeride.com/js/jqueryfunctions.js (funciones jQuery)

http://waybill.hyeride.com/css/style.css (hoja de estilos)

...desde ya muchas gracias.

0voto

carlossevi comentado

No acabo de entender por qué necesitas rescatar primero el ID mediante una llamada asíncrona y posteriormente llamar a la función de eleminación.

Yo creo que el ID ya lo tienes en el HTML y podrías llamar directamente a la función de eliminación con ese valor como argumento.

Captura de aplicación

¿No son lo que te resalto en la imagen los IDs que necesitas? En ese caso te puedes ahorrar la llamada para obtenerlos.

*Edito: Parece que no se ve la imagen que he puesto, a ver si Peter puede echarle un vistazo.

0voto

chirola30 comentado

y como seria eso? porque yo estoy haciendo el botón desde jquery llamo addClass para que me fabrique el botón de delete:

var onswipe = false;
  $('td').swipe({
    swipeRight:function(){
      if(!onswipe){
        onswipe = true;
        $(this).prepend('<tecla>delete</tecla>');
        $('tecla').addClass('boton_borrar').click(function(){ 

               /* acá se crea el  botón delete y quiero que tome como referencia el 'id' para borrar el registro por medio de una llamada de ajax a un delete.php */

        });
      }else{
        $('tecla').remove();
        onswipe = false;
      }
    }
  });

1 Respuesta

1voto

carlossevi Puntos63580

Siguiendo al hilo de los comentarios y convirtiendo esto en respuesta veo dos opciones:

Añadir un atributo personalizado al HTML que generas del botón, ejemplo:

HTML a generar desde PHP:

<tecla miatributo="valor">delete</tecla>

JS para captura del valor antes de hacer la petición:

valor = $(this).attr("miatributo");

Otra opción es que con jQuery selecciones el .parent() que contenga el ID y obtengas el .html().

0voto

Leonardo-Tadei comentado

Hola chirola30,

tal y como dice @carlossevi, ya tenés el valor del ID en la pantalla. Solo tienes que enviarlo junto con la petición de borrado al servidor para que se procese todo junto...

1voto

chirola30 comentado

perdón que ser tan lento en esto, lo que pasa es que tengo poca experiencia en esto, pero no se si la respuesta que me han dado esto me lo solucione, porque no se si me han terminado de entender, el 'id' aparece en la pantalla pero se esta mostrando en una lista por medio de un <tr><td>lista</tr></td> como aquí le muestro abajo el php. gracias por su paciencia.

<?php

    include("conexion/conexion.php");

?>

<?php
    $consulta=mysql_query("select *  from waybill") or die(mysql_error());
    $registro=mysql_fetch_array($consulta);
    echo "<table id='cuadro' cellpadding='0' cellspacing='0'>";
    do{
        $ids=$registro['id'];
        $dat=$registro['date'];
        $amo=$registro['amount'];
        $dri=$registro['driver'];
        $lic=$registro['licence'];
        $npe=$registro['npersons'];
        $pas=$registro['passenger'];
        $pic=$registro['pickup'];
        $dro=$registro['dropoff'];
    echo "<tbody><tr><td><caja><span>Id: </span> $ids</br> <span>Date:</span> $dat       <span>Amount:</span> $amo</br> <span>Passengers:</span> <b>$pas ($npe)</b></br><span>Pick-up:</span> $pic<br><span>Drop-off:</span> $dro</br><span>Driver: </span>$dri</br><span>Veh.Licence PLate: </span>$lic</caja></td></tr></tbody>";
    }while($registro=mysql_fetch_array($consulta));
    echo "</table>";
?>
    </div>

0voto

chirola30 comentado

Me podrías dar un ejemplo mejor escrito en código por favor. Gracias. :)

0voto

carlossevi comentado

Te he preparado un ejemplo muy rudimentario para rescatar el ID con el HTML que genera tu página.
Puedes verlo en acción en este ejemplo: http://jsfiddle.net/NZpu6/

De todas formas te pego el JS también aquí:

$(".boton_borrar").click(function(){ 
    htmlcaja = $(this).parent().children("caja").html();
    desde = htmlcaja.indexOf("</span>") + "</span>".length;
    hasta = htmlcaja.indexOf("<br"); 
    valueid = htmlcaja.substring(desde,hasta).replace(/ /g,'');
    alert(valueid);
});

En cualquier caso, sería muy conveniente arreglar el HTML que generas para que sea más sencillo rescatar el ID metiendo dentro de alguna etiqueta fácilmente seleccionable con selectores de jQuery pero tampoco he quiero modificarte el HTML.

0voto

chirola30 comentado

Perfecto gracias me sirvió! pero antes una ultima cosita, y no te molesto mas, mira ya tengo el valor ahora como puedo borrar el registro que esta en la base de datos mysql de ese valor del 'id' que tengo como referencia? me podrías ayudar con eso por favor. Gracias :)

0voto

Peter comentado

@chirola30, por favor abre preguntas nuevas para cada duda. No pongas varias preguntas en una misma que no tiene nada que ver con la anterior. Marca esta como solucionada seleccionando una respuesta correcta en caso de que esté y crea una nueva con tus siguientes dudas.

Gracias.

0voto

carlossevi comentado

Me alegro que te sirva, aunque quería remarcar una vez más que es una solución un poco chapucera y lo mejor sería generar un HTML diferente que te permita seleccionar el ID de una manera menos rebuscada.

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta