Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/11/2005, 05:15
magarca85
 
Fecha de Ingreso: noviembre-2005
Mensajes: 4
Antigüedad: 18 años, 6 meses
Puntos: 0
Pasar variable php a javascript y recuperarla

Buenos dias compañero!!
Soy nueva en el foro, si veis cualquier cosa mal comentarmela yo intentare explicar mis dudas de la mejor forma posible y poner el codigo de forma que sea facil de entender.
Despues de mucho tiempo leyendo y viendo mensajes expuestos en este foro, y de haberlo probado todo continuo si saber como pasar una variable que se ha generado en php a javascript y luego recuperarlo.
Yo estoy haciendo el proyecto final de carrera se trata de un programa que recoge los datos de una pda y a partir de ahi genera toda la contabilidad, facturas, albaranes.. etc
El problema me vino cuando fui a enseñarle el proyecto a mi tutor y me dijo que a la hora de borrar el precio de los gases (se trata de una empresa que vende gases) me deberia salir una ventana que me pregunte que si realmente estan seguros de borrarlo, como trabajo con php, mysql y html, estube buscando alguna funcion de php que me gestionara los popup, cosa que no he encontrado, por ello decidi recurrir a JavaScript y crear una funcion que me gestionara los popup, y gracias a este foro enseguida lo consegui.

Código:
<script language="JavaScript">
<!--

function confirmar() {
	var respuesta = confirm('Esta seguro de eliminar el precio del gas?');
	if (respuesta == true) {
	alert('Si estoy seguro');
	window.location.href = "BorrarPrecioGas.php?accion=borrar&$Id";

	} else {

	alert('No deseo cancelarlo ....');
	window.location.href = "BorrarPrecioGas.php?accion=no";
	}
}


//-->
Esta funcion me va de lujo, incluso he conseguido que php recupere la variable accion que la genero en javascript y la recupero en php con:

Código PHP:
$id_borrar$_GET['accion']; 
Mi problema es que para que php pueda borrar el gas de mysql necesito enviar desde php a javascript la variable $Id que es el identificador del gas que vamos a borrar.

Lo he intentado de mil formas pero nada, es imposible para mi, por que llevo 2 semanas con lo mismo y nada , y el problema es que no me dejan hacerlo de ninguna otra forma tiene que ser con este tipo de popup.

Código PHP:
print ("<td bgcolor=#FFCC99><center><a href=\"$pag?accion=borrar&id=$Id\" Onclick=\"javascript:mensaje()\">Borrar</a></center></td></tr>");                                                                                    
print ("<td bgcolor=#FFCC99><center><a href=\"javascript:confirmar(<?php echo "'$Id'";?>)\">Borrar</a></center></td></tr>");

print ("<td bgcolor=#FFCC99><center><a href=\"javascript:confirmar()\">Borrar</a></center></td></tr>");
Estas son unas de mil formas que he intentado.
De todas formas os pongo el codigo entero de la pagina :

Código PHP:
<?Php
  
require("aut_verifica.inc.php");
   
$nivel_acceso=3// Nivel de acceso para esta página.
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>

<style>

a{text-decoration:none}
a:hover{color:black}
}
BODY {
    SCROLLBAR-FACE-COLOR: #309EB6; SCROLLBAR-HIGHLIGHT-COLOR: #309EB6; SCROLLBAR-SHADOW-COLOR: #FFFFFF; SCROLLBAR-3DLIGHT-COLOR: #FFFFFF; SCROLLBAR-ARROW-COLOR: #FFFFFF; SCROLLBAR-TRACK-COLOR: #309EB6; SCROLLBAR-DARKSHADOW-COLOR: orange;
}
</style>


<head>
<title> Imprimir Gases / Modificar </title>

<script language="JavaScript">
<!--

function confirmar() {
    var respuesta = confirm('Esta seguro de eliminar el precio del gas?');
    if (respuesta == true) {
                    alert('Si estoy seguro');
                window.location.href = "BorrarPrecioGas.php?accion=borrar&$Id";
    } else {
        alert('No deseo cancelarlo ....');
        window.location.href = "BorrarPrecioGas.php?accion=no";
    }
}


//-->
</script>

</head>

<body bgcolor="#309EB6" text="#309EB6" link="#6633CC" alink="#6633CC" vlink="#6633CC">

<?php

$id_borrar
$_GET['accion'];
print(
"$id_borrar------------------------<br>");
$id$_GET['id2'];
/*print("$id---------1");*/

$pag=$_SERVER['PHP_SELF'];  // el nombre y ruta de esta misma página.

$db=mysql_pconnect('localhost','root','');

if (!
$db){
    
    print (
"No se ha podido abrir la base de datos,por favor prueba mas tarde.<br>/n");
        
    }
    
    
mysql_select_db('clientesprueba');


$query"select * from gases";
    
    
$result=mysql_query($query);
        
    
$k=0;    

while (
$Row=mysql_fetch_array($result)) {
                
    
$Gases[]=$Row[NomGas];  /*nombre gas*/
    
$IdGas4[]=$Row[IdGas4];
    
$k++;

     }
    
    
    

/*------------Buscamos el precio----------------*/


mysql_select_db('datos');

for (
$i=0;$i<$k;$i++) {
    
    
$IdGas=$IdGas4[$i];
    

    
$IdGas=trim($IdGas);
    
$Id=$IdGas;

$query"select * from egas where Idgaspre=$IdGas";


$result=mysql_query($query);
$num_results=mysql_num_rows($result);
$Row=mysql_fetch_array($result);

 
$Precio[]=$Row[Precio];


}    


/*-----------------------Imprimimos todo-----------------------*/
print ("<br>");
print (
" <font color=#FFFFFF size=5><b><center>.:Eliminar Precio:.</center></b></font>");

print (
"<br><br>");
print (
"<table border=1 cellspacing=0 cellpadding=4 bordercolor=#CCCCCC align=center>");
print (
" <tr bgcolor=#00CCCC><td><font color=#FFFFFF><b><center>Nombre Gas</center></b></font></td><td><font color=#FFFFFF><b><center>Precio Gas</center></b></font></td><td><font color=#FFFFFF><b><center><br></center></b></font></td></tr>");

for (
$i=0;$i<$k;$i++) {
    
    
$Id=$IdGas4[$i];

if(
$Precio[$i]){        
if (
$Gases[$i]) {
    
print (
"<tr><td bgcolor=#FFFFEA>$Gases[$i]</td>");

} else { print (
"<td bgcolor=#FFFFEA><br></td>");}


if (
$Precio[$i]) {
    
print (
"<td bgcolor=#FFFFEA>$Precio[$i] &euro;uros</td>");

} else { print (
"<td bgcolor=#FFFFEA><br></td>");}

if(
$Precio[$i]){
    
    

    
/*print ("<td bgcolor=#FFCC99><center><a href=\"$pag?accion=borrar&id=$Id\" Onclick=\"javascript:mensaje()\">Borrar</a></center></td></tr>");*/                                                                                    
/*print ("<td bgcolor=#FFCC99><center><a href=\"javascript:confirmar(<?php echo "'$Id'";?>)\">Borrar</a></center></td></tr>");*/
print ("<td bgcolor=#FFCC99><center><a href=\"javascript:confirmar()\">Borrar</a></center></td></tr>");

}else{  print (
"<td bgcolor=#FFCC99><br></td>");}

}
}
/*for*/

print("</table>");


if (
$id_borrar==borrar){
    
    print(
"esto si me lo hace bien, el resto no :( ");
    
if (isset(
$_GET["id2"])){
    

mysql_select_db('datos');
    

$egas="egas";
$id_borrar$_GET['id2'];
mysql_query("DELETE FROM $egas WHERE Idgaspre=$id_borrar");

header ("Location: $pag");
exit;

}

}else{ print(
"esto tambien me lo hace bien me falta, el id del gas");

}
?>

</body>

</html>

Lo que pretendo en ese codigo es que cuando javascript me envie accion si accion=borrar que me borre el gas y si es diferente (accion=no) que no borre nada, hasta ahi bien, pero cuando entra en el if de id2, al no llegarle el valor de id2 pues no lo puede hacer.

Bueno amigos espero que me podais ayudar (estoy segura de que si :D), muchisimas gracias por todo. Y espero haberme explicado mas o menos bien.

Por cierto Cluster tu autentificator es una maravilla, lo he utilizado en mi proyecto y he dejado el codigo a tu nombre.

Cuando acabe el proyecto colgare el codigo para quien le interese.

Muchas gracias