Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/07/2010, 13:53
SixtuX
 
Fecha de Ingreso: julio-2010
Mensajes: 4
Antigüedad: 13 años, 10 meses
Puntos: 0
Información Interactuar variables Javascript con PHP by Sixtux

Este es una pequeña forma de como solucione un problema, en la interacción del lenguaje JavaScript y PHP, batalle mucho y busque miles y miles de tutoriales y despues de una semana a medio dormir, y todos los discos de AC/DC,,, y Unos cuantos de Bunbury jajaja aqui esta la respuesta, espero lograrme explicar bien y espero que a alguien en un futuro no muy lejano le sirva y lo saque de un apuro.



A empesar:

El codigo fue echo en DreamWeaber 8 algo viejito jejeje , y con la herramienta EasyPHP 5.2.10

Javascript: es un lenguaje que se ejecuta en cualquier navegador
PHP: es un lenguaje que solo se ejecuta del lado del servidor

Despues de esta pequeña explicación, para comprender como interactuar los lenguajes, sigue lo practico:
////////////////////////////////////////////////////////////////////////////////////////////////////////

<head>
<script language="javascript">
function Boton(Tipo){
document.funciones.opcion.value=Tipo;
}
function PasarInf (Id,Nom,APat,APmat,Sex,PadTut,EscP,PromF){
document.funciones.BAgregar.disabled = true; /*Esto es para que unos botones se aviliten y otros se desaviliten*/
document.funciones.BModificar.disabled = false;
document.funciones.BBorrar.disabled = false;
document.funciones.Id_Asignado.disabled = true;
document.funciones.Id.value=Id;
document.funciones.Id_Asignado.value=Id;
document.funciones.Nombre_Alumno.value=Nom;
document.funciones.Apellido_Paterno.value=APat;
document.funciones.Apellido_Materno.value=APmat;
document.funciones.Sexo.value=Sex;
document.funciones.Padre_Tutor.value=PadTut;
document.funciones.Escuela_Procedencia.value=EscP;
document.funciones.Promedio_Final.value=PromF;
}
function Limpiar(){document.location='Inscripcion.php';}
function Salir(){document.location='indexDetalle.html';}
</script>
</head>

en esta parte, estan las funciones javascript, a las que mando llamar con los botones, con OnClik.

la funcion Boton; recive una variable tipo, la cual la pasa en un campo type="hidden" , para despues tomarla con PHP y utilizarla, esto se hace renombrando el formulario, el cual esta redirijido a si mismo por la accion action="<?PHP $_SERVER['PHP_SELF']?>".

///////////////////////////////////////////////////////////////////////////////////////////////////////
esto es el body

<form method='POST' action="<?PHP $_SERVER['PHP_SELF']?>" name="funciones" id="funciones">
<table width = "150" border = "0">
<tr>
<td nowrap="nowrap"><span class="Estilo1">Id Asignado</span></td>
<td><input id="Id_Asignado" type="text" name="Id_Asignado" /></td>
</tr>
<tr>
<td nowrap="nowrap"><span class="Estilo1">Nombre Del Alumno</span></td>
<td><input id="Id_Nombre" type="text" name="Nombre_Alumno" /></td>
</tr>
<tr>
<td nowrap="nowrap"><span class="Estilo1">Apellido Paterno</span></td>
<td><input id="Id_Paterno" type="text" name="Apellido_Paterno" /></td>
</tr>
<tr>
<td nowrap="nowrap"><span class="Estilo1">Apellido Materno</span></td>
<td><input id="Id_Materno" type="text" name="Apellido_Materno" /></td>
</tr>
<tr>
<td nowrap="nowrap"><span class="Estilo1">Sexo</span></td>
<td>
<SELECT NAME="Sexo" SIZE="1">
<OPTION VALUE=""></OPTION>
<OPTION VALUE="Femenino">Femenino</OPTION>
<OPTION VALUE="Masculino">Masculino</OPTION>
</SELECT></td>
</tr>
<tr>
<td nowrap="nowrap"><span class="Estilo1">Padre o Tutor</span></td>
<td><input id="Id_Padre" type="text" name="Padre_Tutor" /></td>
</tr>
<tr>
<td nowrap="nowrap"><span class="Estilo1">Escuela de Procedencia</span></td>
<td><input id="Id_Escuela" type="text" name="Escuela_Procedencia" /></td>
</tr>
<tr>
<td nowrap="nowrap"><span class="Estilo1">Promedio Final</span></td>
<td><input id="Id_Promedio" type="text" name="Promedio_Final" /></td>
</tr>
</table>
<p>&nbsp; </p>
<p>
<input type="submit" value="Agregar" name="BAgregar" id="bAgregar" onClick="javascript:Boton(1);" >
<input type="submit" value="Modificar" name="BModificar" onClick="javascript:Boton(2);" id="bModificar" disabled >
<input type="submit" value="Borrar" name="BBorrar" onClick="javascript:Boton(3);" id="bBorrar" disabled >
<input type="submit" value="Consultar" name="BConsultar" onClick="javascript:Boton(4);" id="bBorrar" >
<input type="reset" value="Limpiar" name="BNuevo" id="cmdNuevo" onClick="javascript:Limpiar();" >
<input type="button" value="Salir" name="BSalir" id="cmdSalir" onClick="javascript: Salir();" >

<input id="Id" type="hidden" name="Id" value="<?PHP $id = $_POST['Id'];?>">
<input id="opcion" type="hidden" name="opcion" value="<?PHP $option = $_POST['opcion'];?>">
</p>
</form>

En esta parte esta el formulario, donde se pueden ver los botones y su funcionalidad, tambien se puede ver los campos hidden, para obtener valores que luego utilizamos en PHP, y el nombre de los campos.

////////////////////////////////////////////////////////////////////////////////////////////////////////
Aqui tenemos el codigo PHP, la interaccion, es facil, al dar clik en algun boton, este pasa el valor a la funcion javascript el cual lo toma y lo pone en el campo "opcion", del type"hidden" este tipo oculta los balores pues no es nada que tengamos que mostrar, despues en PHP tomamos el valor con el metodo POST, y asi ya tenemos una variable que paso por javascript y la utilizamos en PHP.
las funciones pues hay estan el ABC de cualquier programa Agregar, Borrar, Cambiar.

<?PHP
error_reporting(0);
$id_asignado = $_POST['Id_Asignado']; /*Obtenemos los valoeres*/
$nom_alumno = $_POST['Nombre_Alumno']; /*Para poderlos utilizar*/
$ape_paterno = $_POST['Apellido_Paterno'];
$ape_materno = $_POST['Apellido_Materno'];
$sexo = $_POST['Sexo'];
$pad_tut = $_POST['Padre_Tutor'];
$esc_proc =$_POST['Escuela_Procedencia'];
$prom = $_POST['Promedio_Final'];
$ip = 'localhost';
$usuario = 'root'; /*En estas lineas pones tu clave y contraseña de tu MySql*/
$password = ''; /*Si no lo as configurado haci deja los datos*/
$db_name = 'Bachilleres_DPSW';
$conn = mysql_pconnect($ip,$usuario,$password) or die("No Hay Conexion");
$conexion = mysql_select_db($db_name,$conn) or die("Conexion no establecida");

switch($option) /*Opcion que recojemos del input id="opcion" type="hidden"*/
{
case 1:

$sql = "INSERT INTO `Bachilleres_DPSW`.`alumno` (`Id_Alumno`, `IdAsignado`, `Nombre_Alumno`, `Apellido_Paterno`, `Apellido_Materno`, `Sexo`, `Padre_Tutor`, `Esc_Pro`, `Promedio_Final`) VALUES (NULL,'$id_asignado','$nom_alumno','$ape_paterno', '$ape_materno','$sexo','$pad_tut','$esc_proc','$pr om');";
$response = mysql_query($sql, $conn);
break;
case 2:
$sql = "UPDATE `bachilleres_dpsw`.`alumno` SET `Nombre_Alumno` = '$nom_alumno', `Apellido_Paterno`='$ape_paterno', `Apellido_Materno`='$ape_materno', `Sexo`='$sexo', `Padre_Tutor`='$pad_tut', `Esc_Pro`='$esc_proc', `Promedio_Final` = '$prom' WHERE `alumno`.`IdAsignado` = '$id';";
$response = mysql_query($sql, $conn);
break;
case 3:
$sql = "DELETE FROM `bachilleres_dpsw`.`alumno` WHERE `alumno`.`IdAsignado` = '$id';";
$response = mysql_query($sql, $conn);
break;
case 4:

$sql = "SELECT * FROM `Alumno`";
$response = mysql_query($sql, $conn);

if ($row = mysql_fetch_array($response))
{

echo '<table width = "150" border = "1">';
echo '<tr bgcolor="#999999"><td nowrap="nowrap"><span class="Estilo1">Id Asignado</span></td>';
echo '<td nowrap="nowrap"><span class="Estilo1">Nombre Del Alumno</span></td>';
echo '<td nowrap="nowrap"><span class="Estilo1">Apellido Paterno</span></td>';
echo '<td nowrap="nowrap"><span class="Estilo1">Apellido Materno</span></td>';
echo '<td nowrap="nowrap"><span class="Estilo1">Sexo</span></td>';
echo '<td nowrap="nowrap"><span class="Estilo1">Padre o Tutor</span></td>';
echo '<td nowrap="nowrap"><span class="Estilo1">Escuela de Procedencia</span></td>';
echo '<td nowrap="nowrap"><span class="Estilo1">Promedio Final</span></td>';
echo '</tr>';
do{
echo '<tr><td nowrap="nowrap"><a href="#" onClick="JavaScript:PasarInf(\''.$row["IdAsignado"].'\',\''.$row["Nombre_Alumno"].'\',\''.$row["Apellido_Paterno"].'\',\''.$row["Apellido_Materno"].'\',\''.$row["Sexo"].'\',\''.$row["Padre_Tutor"].'\',\''.$row["Esc_Pro"].'\',\''.$row["Promedio_Final"].'\');">';
echo '<span class="Estilo1">'.$row["IdAsignado"].'</span></a></td>';
echo '<td nowrap="nowrap"><span class="Estilo1">'.$row["Nombre_Alumno"].'</span></td>';
echo '<td nowrap="nowrap"><span class="Estilo1">'.$row["Apellido_Paterno"].'</span></td>';
echo '<td nowrap="nowrap"><span class="Estilo1">'.$row["Apellido_Materno"].'</span></td>';
echo '<td nowrap="nowrap"><span class="Estilo1">'.$row["Sexo"].'</span></td>';
echo '<td nowrap="nowrap"><span class="Estilo1">'.$row["Padre_Tutor"].'</span></td>';
echo '<td nowrap="nowrap"><span class="Estilo1">'.$row["Esc_Pro"].'</span></td>';
echo '<td nowrap="nowrap"><span class="Estilo1">'.$row["Promedio_Final"].'</span></td>';
echo '</tr>';
}while ($row = mysql_fetch_array($response));
echo '</table>';
}
break;
}

?>

esto es grasias a que renombramos la pagina varias veces con el metodo <?PHP $_SERVER['PHP_SELF']?> el cual contien la direccion de la pagina en la que estamos trabajando si quieren ver lo que contien adan un <?PHP echo $_SERVER['PHP_SELF']?> y podran ver la informacion que este tiene.

espero que a alguien le sirva de algo, por lo menos ami me sirvio para reafirmar el conocimiento,,,,,,,,,,,,,,,,,,,,, jajaja ,,,,,, si tienen alguna duda o comentario, pues lo pueden hacer aqui, o les dejo mi correo [email protected].



-------------------------Live Free Or Die ----- LINUX------- Comparte Conocimiento ------
----------Todos somos ignorantes, pero no todos ignoramos la misma cosa-----------