Foros del Web » Programando para Internet » PHP »

no consigo encontrar el error

Estas en el tema de no consigo encontrar el error en el foro de PHP en Foros del Web. estoy intentando pasar unas funciones php a un javascript para que me haga un scroll, no consigo encontrar el fallo y ya toy de los ...
  #1 (permalink)  
Antiguo 19/02/2003, 16:14
 
Fecha de Ingreso: febrero-2003
Mensajes: 2
Antigüedad: 14 años, 9 meses
Puntos: 0
no consigo encontrar el error

estoy intentando pasar unas funciones php a un javascript para que me haga un scroll, no consigo encontrar el fallo y ya toy de los nervios, os pongo una de las 4 funciones q tiene y el javascript a ver si alguien sabe xq no va... Gracias de antemano

Os pongo una función...

<?php
global $prefix, $dbi, $sitename;

$nombre = "Top 10";
$strip = "50"; // cuantas letras del texto
$textImagenes = "Fotos nuevas"; // 10 imagenes recientes

function fotos() {
$a = 1;
$result = mysql_query("select pid, counter, name from $prefix"._gallery_pictures." order by date DESC limit 0,10",$dbi);
$content .= "<table width=\"100%\" align=\"left\" border=\"0\"><tr><td valign=top><u><b>$textImagenes</a></b></u><br>";
while(list($pid, $date, $name) = mysql_fetch_row($result)) {
$title2 = ereg_replace("_", " ", $name);
$content .= "<li>$a: <a href=\"modules.php?op=modload&name=Imagenes&file=i ndex&do=showpic&pid=$pid&orderby=dateD\">$title2</a><br>";
$a++;
}}
$content .="</td></tr></table>";


esto sigue con otras tres muy parecidas y ahora el javascript...

<script language="javascript">
// ancho
var marqueewidth=110
// alto
var marqueeheight=80
// velocidad
var speed=1
//variables de las funciones
var fotos='<? fotos() ?>';
var enlaces='<? enlaces() ?>';
var descargas='<? descargas() ?>';
var usuarios='<? usuarios() ?>';
// contenido del scroll
var marqueecontents='<font class=\"content\"><center> fotos <br> enlaces <br> descargas <br> usuarios <br> $nombre <br></center>' //solo me coje $nombre pero no las funciones
if (document.all)
document.write('<marquee direction=\"up\" scrollAmount='+speed+' style=\"width:'+marqueewidth+';height:'+marqueehei ght+'\">'+marqueecontents+'</marquee>')
function regenerate(){
window.location.reload()
}
function regenerate2(){
if (document.layers){
setTimeout(\"window.onresize=regenerate\",450)
intializemarquee()
}
}
function intializemarquee(){
document.cmarquee01.document.cmarquee02.document.w rite(marqueecontents)
document.cmarquee01.document.cmarquee02.document.c lose()
thelength=document.cmarquee01.document.cmarquee02. document.height
scrollit()
}
function scrollit(){
if (document.cmarquee01.document.cmarquee02.top>=thel ength*(-1)){
document.cmarquee01.document.cmarquee02.top-=speed
setTimeout(\"scrollit()\",100)
}
else{
document.cmarquee01.document.cmarquee02.top=marque eheight
scrollit()
}
}
window.onload=regenerate2
</script>";
?>

a ver si entre todos me ayudais...
  #2 (permalink)  
Antiguo 19/02/2003, 20:00
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Tu funcion fotos() no devuelve el valor de esa variable q va acomulando (concatenando) tal $content ...

Falta un return $content;

A su vez .. cuando pretendes usarla en javascript (para darle ese valor a esa variable javascript .. ) si suponemos q tu funcion devuelve el valor de esa varible (cosa q ahora no lo hace y no se vé definida como global como otras q usas por ahí ..) deberias usar:

var fotos='<? echo fotos() ?>';

No se si fué a ti .. pero no hace mucho se hizo esa pregunta de como "usar funciones en javascript" y ya dije q si devolvia el valor de la variable deberías usar echo para "mostrarlo" y si ya hace los echo .. nada .. solo llamarla.

Arregla esos detallazos xDD .. y si tienes algun error please .. INDICALO textualmente .. sobre todo si es de PHP o de Javascript y en que linea lo dá (con su código correspondiente) ..

Y revisa el código HTML q generas con PHP (ver->codigo fuente) eso te ayudará a comprender como se está formando tu código dinamicamente por si hay algo q no sería así como deba hacerlo.

Un saludo,
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 18:40.