Hola, necesito llamar una funcion de php desde la propiedad "Onchange" de un select algo asi:
<select Onchange="funcionpHP()" ...>
---------------
---------------
</select>
<? function funcionPHP()
{
}
?>
Se que algo asi lo hago con un Script de java pero necesito interactuar con una base de datos y por eso es importante que la funcion sea de PHP.
Gracias...
eso es imposible, ya que php se ejecuta en el servidor
a lo mas debes volver a llamar la pagina donde se ejectua tu script de php
Yo quer�a hacer algo por el estilo.. no se si te sirva esto que encontr�... http://www.desarrolloweb.com/articulos/2279.php
suerte!
S�lo aclarar que como se muestra en el link, la p�gina aunque su contenido sea HTML, debe llevar la extensi�n PHP, lo que significa que la ejecutar� el motor de PHP. Recuerde que en PHP se puede escribir c�digo HTML normalmente, y para diferenciar cuando el c�digo es php se escribe <? codigo ?>.
A esto es a lo que me referia antes a que puedes usar HTML en PHP pero no a la inversa.
puedes utilizar el metodo Get... si lo crees conveniente... un ejemplo calro es asi
<?php if(!isset($variable)){
?>
html.......
<?php
}
else {
}
?>
aqui esta un ejemplo mas detallado... espero q os sirva.
<?php
function funcion_nombre($nombre){
echo "Bienvenido ".$nombre;
}
if(!isset($nombre) || !isset ($apellido) || !isset ($cedula))
{
?>
<form method="GET" action="">
<p><input type="text" name="nombre" size="20"></p>
<p><input type="text" name="apellido" size="20"></p>
<p><input type="text" name="cedula" size="20"></p>
<p> </p>
<p><input type="submit" value="Enviar" name="B1"><input type="reset" value="Restablecer" name="B2"></p>
</form>
<?php
}
else {
if ($nombre==true){
funcion_nombre($nombre);
}
}
?>
Lo que puedes es a traves de la funcion onClick llamar al archivo php que contiene las funciones de esta manera: onClick="javascript:location.href='archivo.php?boton=1'" para el boton1, si fuera el boton 2: onClick="javascript:location.href='archivo.php?boton=2'" etc....
Y el archivo.php lo procesaria por ejemplo mediante un switch:
switch ($boton) {
case "1":
...aqui el script correspondiente si se pulsa el boton 1...
break;
case "2":
.... aqui el script correspondiente si se pulsa el boton 2...
break;
}
A ver si te sirve, hasta luego.
Usar onchange para llamar una funcion de php NO SE PUEDE y no tenemos que decir "no se" si de antemano sabemos que NO SE PUEDE. Pero siempre existen formas de llegar a los mismos resultados.
En este codigo que vas a requerir modificar el onchange manda llamar a una funcion de java y de hay la funcion de java manda llamar a la de php.
Espero esto te sirva
<?php
render)
if ($value = @ $_GET['value']) {
$output = '
<html><body>
<script language="javascript">
var feedbackTag = parent.document.getElementById("feedback");
feedbackTag.innerHTML = "you selected value "" + ' . $value . ' + """;
</script>
</body></html>
';
echo $output;
exit;
}
?>
<html><body>
<iframe id="hiddenFrame" style="display:none;"></iframe>
<script language="javascript">
function changeOption(value) {
var iframeTag = document.getElementById("hiddenFrame");
var href = "<?php echo basename($_SERVER['PHP_SELF']); ?>?value=" + value;
iframeTag.src = href;
}
</script>
<select onchange="changeOption(this.value);">
<option value="1">Item 1</option>
<option value="2">Item 2</option>
</select>
<br />
<span id="feedback"></span>
</body></html>
debes recordar que el php se ejecuta antes que se cargue la pagina, eso quiere decir que cuando se haya cargado la pagina no se ejecutar� mas codigo php.
pero lo que quieres es facil solo debes poner un link a los botones para que llame a la misma pagina y esta recoja los post o get y los procese y haga lo que el codigo diga.
por ejemplo
<? $A=$_GET['opcion'];
if($A==1){funcion1();}
else{funcion2();}
// aca hago las 2 funciones, para mas podr�as hacer un select case u otra estructura de control ?>
<html><body>
<a href='pagina.php?opcion=1'>accion numero 1</a>
<BR/>
<a href='pagina.php?opcion=2>accion numero 2</a>
</body></html>
Si SE PUEDE....
Se pueden definir funciones en PHP y luego ser llamadas perfectamente!
En programacion SIEMPRE se tiene que tener la disposicion de que SE PUEDE, por un metodo u otro pero SE PUEDE, (pero no siempre se sabe) hay que ser siempre POSITIVO.
Ademas en la mayoria de casos el problema es mas por falta de conocimientos que por limitaciones del codigo.
Juan Definitivamente la filosofia de tu vida es muy bonita pero no sabes en absoluto de lo que estamos hablando y de programacion.
Como bien mencionas "se pueden funciones en PHP y luego ser llamadas perfectamente" estas en lo correcto.
Pero de un objeto usar su propiedad onchange para llamar de manera directa una funcion de php NO SE PUEDE, se puede obtener los mismo resultados con otros metodos pero no de esta menera ya que como bien dice Edd php unicamente se ejecuta en servidor y java en tu makina. Nuevamente les invito a revisar el codigo que postee anteriormente.
Y Juan por favor los foros se tratan de obtener respuestas y siempren aprender mas, en tu caso me imagino que piensas asi por que aun no tienes el conocimiento nesesario para opinar si es asi mejor reservate tus comentarios ya que podrias hacer que personas que buscan respuestas se la pasen varios dias intentando algo que el lenguaje no lo soporta.
Hola muchachos tengo un problema con los select o mas bien una necesidad.
Quiesiera saber como hacer cuando tengo en un formulario varios select digamos el primero con los departamentos, el segundo con las ciudades y un tercero con los barrios
Y lo que quiero hacer es que cuando se seleccione un departamento, el segundo me muestre las ciudades de ese departamento y cuando seleccione una de esas ciudades el tercero me muestre los barrios de la ciudad de ese departamento...
Muchas gracias.
Si te solucion� el problema pulsa en G+1
Cocina Facil | IngenieroSoftware.com |