Foros del Web » Programando para Internet » PHP »

problema al generar javascript con PHP

Estas en el tema de problema al generar javascript con PHP en el foro de PHP en Foros del Web. realmente esto me tiene sorprendido e irritado mi objetivo es tomar las primeras urls de una tabla y generar codigo javascript qe abre una cantidad ...
  #1 (permalink)  
Antiguo 31/08/2011, 17:49
 
Fecha de Ingreso: enero-2011
Mensajes: 33
Antigüedad: 13 años, 9 meses
Puntos: 0
problema al generar javascript con PHP

realmente esto me tiene sorprendido e irritado

mi objetivo es tomar las primeras urls de una tabla y generar codigo javascript qe abre una cantidad variable de ventanas, cuyas urls son tomadas de estos registros de db
pero...
como puede ser qe yo en php ponga esto:
Código PHP:
echo '<a onClick="function(){';
                            for(
$i 1$i <= $rowUsuario["cant_surf"]; $i++)
                            {
                                
$cant_registros mysql_query("SELECT * FROM links ORDER BY id_link DESC LIMIT $i,1");
                                if(
$rowCant mysql_fetch_array($cant_registros))
                                {
                                    echo 
'window.open("link.php?id=14&page='.$rowCant["url"].'","_blank");';
                                }
                            }
        echo 
'}">Megalink!</a>'
y en el navegador se genere este codigo: (le pongo saltos de linea para qe se entienda mas)
Código HTML:
<a link.php?id="14&page=http://8a705701.linkbucks.com","_blank");
window.open("link.php?id=14&page=http://56dc679a.linkbucks.com","_blank");}"" 
onclick="function(){window.open(">Megalink!</a> 
sin saltos de linea: (el codigo del navegador):
Código HTML:
<a link.php?id="14&page=http://8a705701.linkbucks.com","_blank");window.open("link.php?id=14&page=http://56dc679a.linkbucks.com","_blank");}"" onclick="function(){window.open(">Megalink!</a> 
??????????????????

no tiene ningun sentido
hasta donde llega mi comprension, el codigo php esta perfectamente escrito, el navegador no muestra errores mysql ni php, pero aun asi el fakin codigo del <a></a> sale desordenado (tambien sale desordenado si algunas piezas del enlace las escribo en html, y el resto con peqeños fragmentos php) y no entiendo por qe

sinceramente no se me ocurre como arreglar esto

PD: el codigo qe yo busco generar en php, es unicamente lo qe esta entre las comillas de onClick="", pero se desordena todo lo de afuera tambien :B
  #2 (permalink)  
Antiguo 31/08/2011, 18:02
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años, 6 meses
Puntos: 528
Respuesta: problema al generar javascript con PHP

¿Seguro que ejecutas el código tal cual? ¿o estás llamando al procedimiento de los fors por medio de una función? De ser así, dentro del for no debes hacer echos, si no agregar el texto en una cadena y devolver dicha cadena al final, para insertarla entre las etiquetas <a>

que por cierto, para un <a onclick no necesitas meter el function(){
  #3 (permalink)  
Antiguo 31/08/2011, 18:10
 
Fecha de Ingreso: enero-2011
Mensajes: 33
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: problema al generar javascript con PHP

como tendria qe ser el <a></a>?

si la pregunta es muy idiota me disculpo, no soy muy conocedor de javascript

PD: si estoy usando el codigo tal cual, no me gusta llamar a funciones
  #4 (permalink)  
Antiguo 31/08/2011, 18:17
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años, 6 meses
Puntos: 528
Respuesta: problema al generar javascript con PHP

No, tu pregunta no es idiota.
Sobre el <a>, se puede omitir el function, quedando así:

Código PHP:
Ver original
  1. echo '<a onclick="window.open(\'link.php\');">Megalink!</a>';

el \' es por que si vas a poner comillas en el onclick=" no puedes poner nuevamente comillas en la url, el código que te puse quedaría en HTML así:

Código HTML:
Ver original
  1. <a onclick="window.open('link.php');">Megalink!</a>

respecto al problema original, a simple vista no veo por qué está imprimiendo así.
  #5 (permalink)  
Antiguo 31/08/2011, 18:24
 
Fecha de Ingreso: enero-2011
Mensajes: 33
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: problema al generar javascript con PHP

Cita:
Iniciado por ocp001a Ver Mensaje
No, tu pregunta no es idiota.
Sobre el <a>, se puede omitir el function, quedando así:

Código PHP:
Ver original
  1. echo '<a onclick="window.open(\'link.php\');">Megalink!</a>';

el \' es por que si vas a poner comillas en el onclick=" no puedes poner nuevamente comillas en la url, el código que te puse quedaría en HTML así:

Código HTML:
Ver original
  1. <a onclick="window.open('link.php');">Megalink!</a>

respecto al problema original, a simple vista no veo por qué está imprimiendo así.
Sabes qe? Te amo. Casate conmigo.

tenes razon, arreglaste todo mi problema, no note el hecho de qe estaba repitiendo comillas y no las estaba escapando, y tambien escribi mal el onClick

Realmente me sirvio de mucho tu respuesta, voy a ser mas atento y cuidadoso de aca en adelante.

Etiquetas: html, javascript, mysql, registro, tabla, variables, usuarios
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 21:56.