Foros del Web » Programando para Internet » PHP »

llamar funcion Javascript desde PHP

Estas en el tema de llamar funcion Javascript desde PHP en el foro de PHP en Foros del Web. Hola, estoy usando PHP para mostrar un menu dinamico, la idea es que cuando haga click en una de las opciones llame a una funcion ...
  #1 (permalink)  
Antiguo 08/06/2011, 13:38
 
Fecha de Ingreso: agosto-2008
Mensajes: 38
Antigüedad: 15 años, 8 meses
Puntos: 0
llamar funcion Javascript desde PHP

Hola, estoy usando PHP para mostrar un menu dinamico, la idea es que cuando haga click en una de las opciones llame a una funcion en javascript que muestra una imagen

Si lo hago en HTML no hay problema, me resulta bien y seria algo asi:
<table width="200" border="1">
<tr><td style="color: #FFFF00" align="center" >DESTINOS</td></tr>
<tr><td>&nbsp;</td></tr>
<tr> <td><a href="javascript:;" onclick="muestra_img('portofino.jpg')"</a>Italia</td> </tr>
<tr> <td><a href="javascript:;" onclick="muestra_img('rio.jpg')"</a>Rio de Janeiro</td> </tr>
<tr> <td><a href="javascript:;" onclick="muestra_img('Atenas.jpg')"</a>Atenas</td> </tr>
<tr> <td>&nbsp;</td> </tr>
</table>

Pero como es dinamico y necesito programarlo en PHP tengo dificulatades con el codigo, ademas que no sé como llamar una funcion javascrip con PHP pasando parametros y dentro de una etiqueta < a href>

Intente el siguiente codigo pero obviamente no esta bien porque no me resulta

<?php
$sql = "select * from tabla";
$resultado = mysql_query($sql);
if (!$resultado) {
die('error en consulta: ' . mysql_error());
}
while ($fila = mysql_fetch_array($resultado))
{
$linea = "<tr><td><a href=\"javascript:;\" onclick=";
$linea .= "<script type=\"text/javascript\">";
$linea .= "muestra_img('" . $fila["nomarch"] . "')";
$linea .= "</script><a>";
$linea .= $fila["ciudad"] . "</td></tr>";
echo $linea;
}
?>
  #2 (permalink)  
Antiguo 08/06/2011, 13:40
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 3 meses
Puntos: 209
Respuesta: llamar funcion Javascript desde PHP

<?php
$sql = "select * from tabla";
$resultado = mysql_query($sql);
if (!$resultado) {
die('error en consulta: ' . mysql_error());
}
while ($fila = mysql_fetch_array($resultado))
{
?>
codigo html puro con algunas cosas php eje <td>ad<?php echo $fila['campo']; ?>
<?php
}
?>
te queda más limpio y libre de confusiones con comillas
  #3 (permalink)  
Antiguo 08/06/2011, 13:45
Avatar de mashter  
Fecha de Ingreso: mayo-2008
Mensajes: 116
Antigüedad: 15 años, 11 meses
Puntos: 6
Respuesta: llamar funcion Javascript desde PHP

php no puede mandar a llamar javascript

php te genera el html/JS necesario para que se mande a llamar el script; el codigo a generar sera el mismo si elaboraras un html estatico
__________________
- - - - - - - - -
  #4 (permalink)  
Antiguo 08/06/2011, 13:51
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: llamar funcion Javascript desde PHP

La única diferencia entre tu script manual en HTML, y el dinámico en PHP es que estás escribiendo el tag <script> como parte del enlace.

¿Por que?

Entiende que si ya eres capaz de conseguirlo a puro HTML, entonces no deberías tener problemas al pasarlo con PHP, pues al final el resultado debe ser HTML y en eso debes prestar mucha atención.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 08/06/2011, 15:29
 
Fecha de Ingreso: enero-2011
Ubicación: DF
Mensajes: 898
Antigüedad: 13 años, 3 meses
Puntos: 155
Respuesta: llamar funcion Javascript desde PHP

un tip , soy de la idea de que lo hagas como dijo iviamontes pero te dejo un tip
cuando quieras hacer cadenas de html desde php mejor guardalas entre comillas simples , asi ya no tienes que esta escapando las comillas dobles de los atributos de html

Código PHP:
Ver original
  1. <?php
  2. $sql = "select * from tabla";
  3. $resultado = mysql_query($sql);
  4. if (!$resultado) {
  5. die('error en consulta: ' . mysql_error());
  6. }
  7. while ($fila = mysql_fetch_array($resultado))
  8. {
  9. $linea = '<tr><td><a href="javascript:;" onclick=';
  10. $linea .= '<script type="text/javascript">';
  11. $linea .= 'muestra_img("' . $fila["nomarch"] .'")';
  12. $linea .= '</script><a>';
  13. $linea .= $fila["ciudad"] . '</td></tr>';
  14. echo $linea;
  15. }
  16. ?>
__________________
No me interesan ni las gracias ni los karmas , pero si que se genere conocimiento, si se dio con la respuesta por favor confirmalo
  #6 (permalink)  
Antiguo 08/06/2011, 18:56
 
Fecha de Ingreso: agosto-2008
Mensajes: 38
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: llamar funcion Javascript desde PHP

Iviamontes, gracias por tu respuesta, lo hice asi y me resulto perfecto, mil gracias nuevamente

<tr><td><a href="javascript:;" onclick="muestra_img('<?php echo $fila["nomarch"]; ?> ')"</a><?php echo $fila["ciudad"]; ?></td></tr>
  #7 (permalink)  
Antiguo 31/08/2011, 21:28
 
Fecha de Ingreso: julio-2011
Mensajes: 19
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: llamar funcion Javascript desde PHP

que tal foreros, me encuentro con un problema similar.
estoy cargando en un div, con ajax, una pagina que despliega notas dinamicamente con php, necesito mostrar 3 notas, y estoy usando un paginador para mostrar las siguientes 3.
La cuestion es que no logro hacer funcionar la funcion ajax dentro del paginador, la funcion que me enviara los siguientes 3 notas al mismo div donde estoy mostrando las notas.

Les dejo el codigo.


<?php


$pagina = $_GET['pagina'];
$registros = 3;

if (!$pagina) {
$inicio = 0;
$pagina = 1;
}
else {
$inicio = ($pagina - 1) * $registros;
}

$resultados = mysql_query("SELECT id_nota FROM notas");
$total_registros = mysql_num_rows($resultados);

$qry_nota = "select titulo, nombre, nota from notas, staff where notas.id_user = staff.id_user order by id_nota desc LIMIT $inicio, $registros";

$total_paginas = ceil($total_registros / $registros);


$result_nota = mysql_query($qry_nota,$con);

if($result_nota)
{
while($row = mysql_fetch_array($result_nota))
{

?>


<table align="center" width="500">
<tr>

<td colspan="2" class="label_titulo_nota"><?php echo $row['titulo']; ?></td>
</tr>

<tr>
<td colspan="2" align="right"><label class="label_por_devo">Por: <?php echo $row['nombre']; ?></label></td>
</tr>


<tr>


<td align="" colspan="" class="devo_Contenido"><?php echo $row['nota']; ?></td>

<td colspan="2" align="right">
<?php if(file_exists("img_notas/".$row['titulo'].".jpg"))
{
echo "<img src='img_notas/".$row['titulo'].".jpg' border='0' width='250'>";
}
else
{
echo "";
}
?>
</td>
</tr>
</table>

<hr color="#EC3C3C" />
<?php
}
}

?>

<?php
mysql_free_result($resultados);

if($total_registros) {

echo "<center>";

if(($pagina - 1) > 0) {
echo "<a href='notas.php?pagina=".($pagina-1)."'><img src='img/back_icon.png' width='25' border='0' /></a> ";
}

for ($i=1; $i<=$total_paginas; $i++){
if ($pagina == $i) {
echo "<span class='descargas_autor'><b>".$pagina."</b></span> ";
} else {
echo "<a href='notas.php?pagina=$i'>$i</a> ";
}
}

if(($pagina + 1)<=$total_paginas) {?>

<a href="javascript:Enviar('notas.php?pagina="<?php echo $pagina+1 ?>"', 'contenedor')"><img src="img/next_icon.png" width="25" border="0" /> </a>
<?php
}

echo "</center>";


}
?>
  #8 (permalink)  
Antiguo 31/08/2011, 21:29
 
Fecha de Ingreso: julio-2011
Mensajes: 19
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: llamar funcion Javascript desde PHP

la parte en rojo es donde no logro que funcione
  #9 (permalink)  
Antiguo 31/08/2011, 21:39
 
Fecha de Ingreso: julio-2011
Mensajes: 19
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: llamar funcion Javascript desde PHP

ya lo he conseguido!

Etiquetas: funcion, javascript
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:53.