Foros del Web » Programando para Internet » PHP »

Como puedo hacer esto....

Estas en el tema de Como puedo hacer esto.... en el foro de PHP en Foros del Web. bueno aqui estoy... a peticion de Cluster... Como puedo hacer esto.... Hola, como se hace esto.... hola, tengo ya el codigo de un scroll de ...
  #1 (permalink)  
Antiguo 30/05/2003, 21:57
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 14 años, 7 meses
Puntos: 2
Exclamación Como puedo hacer esto....

bueno aqui estoy... a peticion de Cluster...

Como puedo hacer esto....
Hola, como se hace esto....
hola, tengo ya el codigo de un scroll de texto... es un javascrit... y claro el texto que lee esta en js, yo lo que quiero es que en vez de ese texto... lea un registro de una BD, osea meter el codigo en php... lo he intentado me 1000 maneras... pero como soy un novatilloooo, no me entero... me pueden ayudar please... un saludo a todos

aqui tienen el codigo:

<script type="text/javascript">
//<![CDATA[
<!--
function scrollerObj(name,initH,initW,heightB,widthB,conten

t,initBg,Bg,speed,initFl){
//**data**//
this.name=name;
this.initH=initH;
this.initW=initW;
this.heightB=heightB;
this.widthB=widthB;
this.content=content;
this.initBg=initBg;
this.Bg=Bg;
this.iniFl=initFl;
this.speed=parseInt(speed);
this.timer = name + "Timer";
this.elem;
//**methods**//
this.getElement = getElement;
this.createLayer=createLayer;
this.scrollLayer = scrollLayer;
this.scrollLoop=scrollLoop;
//**initiate methods**//
this.createLayer();
this.getElement();
this.scrollLayer();
}
//**call this method to stop scrolling**//
function scrollLoop(s){
this.speed = s;
}
//**pretty obvious**//
function scrollLayer(){
if(parseInt(this.elem.style.top)>(this.elem.offset Height*(-1))){
this.elem.style.top = parseInt(this.elem.style.top)-this.speed;
//alert(parseInt(this.elem.style.top)+"\n"+this.elem .id);
}
else {this.elem.style.top = this.initH;}
}
//**get the specific dom-expression**//
function getElement(){
if(document.getElementById){
this.elem = document.getElementById(this.name);
}
else if (document.all){
this.elem = document.all[name];
}
else if (document.layers){
this.elem = document.layers[name];
}
}
//**pretty obvious - if NS4 - please upgrade to a standard compliant browser**//
function createLayer(){
if(document.getElementById || document.all){
document.write('<div id="layer'+this.name+'" style="position:relative;overflow:hidden;float:'+t his.initFl+';background-color:#'+this.initBg+';border:1px solid black;width:'+this.initW+'px;height:'+this.initH+' px;" onMouseover="'+this.name+'.scrollLoop(0)" onMouseout="'+this.name+'.scrollLoop('+this.speed+ ')">');
document.write('<div id="'+this.name+'" style="position:absolute;top:'+this.initH+'px;left :0px;border:0px solid black;width:'+this.widthB+'px;height:'+this.height B+'px;background-color:#'+this.Bg+'">');
document.write(this.content);
document.write('<\/div><\/div>');}
else if(document.layers){
document.write('<ilayer name="'+this.name+'" bgcolor="#'+this.Bg+'" width="'+this.widthB+'" height="'+this.heightB+'">'+this.content+'<\/ilayer>');
return;
}
if(this.scrollLayer){
this.timer = setInterval(this.name+'.scrollLayer()','30');
}
}
//-->
//]]>
</script>

---------------------------------------------------------------------

//<![CDATA[
<!--
var c = new scrollerObj('c','100','170','50','170','<h2>Notici as<\/h2><p>Entra en nuestro foro<a href="foro/"><br>entrar</center><\/a><\/p>','#000000','#000000','1','center');
//-->
//]]>


-------------------------------------------------------------------------------


Como hago para meter el codigo PHP...
  #2 (permalink)  
Antiguo 30/05/2003, 22:06
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pues yo te cópio lo mismo que te dije en el foro javascript y te pido que hagas lo que te comento .. Con algo de código más concreto vamos viendo el tema ...

(por cierto .. sería bueno que nos explicaras la definicón de cada dato del scroll ese .. o que significan todos esos parámetros .. (para no estar perdiendo tiempo mirando código .. Esos datos segúro que los debes tener ..))

No sé muy bien la estructura de cada item del scroll .. pero aproximadamente sería cosa de que hagas tu consulta a tu BD y te guardes tu texto en una variable .. la cual usaras aquí:


Código PHP:
var c = new scrollerObj('c','100','170','50','170','<? echo $tu_texto?>','#000000','#000000','1','center');

$tu_texto tendrá que contener todo el HTML que quieras usar (links, .. etc). Imagina que vas hacer una consulta a tu BD y vas a presentar esos datos en HTML "statico" .. OK? .. pues ahora en lugar de hacer tu "echo" .. te lo guardas en $tu_texto ..

Intentalo .. si tienes mas dudas .. ves poniendo el código de tu consulta a tu BD y este javascript en el foro PHP .. para que te sigamos orientando ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 30/05/2003, 23:33
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 14 años, 7 meses
Puntos: 2
Pregunta porq no chiiiuta

mira cluster, si se lo que dices porq lo estaba haciendo asi,,, pero no funciona el scroll, ni tampoco muestra los datos... porq sera... me falta alguna coma, o me sobra..., si hago una lectura normal de la BD funciona fijate en esa que tiene //, si lo quito me lo muestra...

te dejo el codigo: gracias tiu... vales mucho...


<html>
<head>
<script type="text/javascript">
//<![CDATA[
<!--
function scrollerObj(name,initH,initW,heightB,widthB,conten t,initBg,Bg,speed,initFl){
//**data**//
this.name=name;
this.initH=initH;
this.initW=initW;
this.heightB=heightB;
this.widthB=widthB;
this.content=content;
this.initBg=initBg;
this.Bg=Bg;
this.iniFl=initFl;
this.speed=parseInt(speed);
this.timer = name + "Timer";
this.elem;
//**methods**//
this.getElement = getElement;
this.createLayer=createLayer;
this.scrollLayer = scrollLayer;
this.scrollLoop=scrollLoop;
//**initiate methods**//
this.createLayer();
this.getElement();
this.scrollLayer();
}
//**call this method to stop scrolling**//
function scrollLoop(s){
this.speed = s;
}
//**pretty obvious**//
function scrollLayer(){
if(parseInt(this.elem.style.top)>(this.elem.offset Height*(-1))){
this.elem.style.top = parseInt(this.elem.style.top)-this.speed;
//alert(parseInt(this.elem.style.top)+"\n"+this.elem .id);
}
else {this.elem.style.top = this.initH;}
}
//**get the specific dom-expression**//
function getElement(){
if(document.getElementById){
this.elem = document.getElementById(this.name);
}
else if (document.all){
this.elem = document.all[name];
}
else if (document.layers){
this.elem = document.layers[name];
}
}
//**pretty obvious - if NS4 - please upgrade to a standard compliant browser**//
function createLayer(){
if(document.getElementById || document.all){
document.write('<div id="layer'+this.name+'" style="position:relative;overflow:hidden;float:'+t his.initFl+';background-color:#'+this.initBg+';border:1px solid black;width:'+this.initW+'px;height:'+this.initH+' px;" onMouseover="'+this.name+'.scrollLoop(0)" onMouseout="'+this.name+'.scrollLoop('+this.speed+ ')">');
document.write('<div id="'+this.name+'" style="position:absolute;top:'+this.initH+'px;left :0px;border:0px solid black;width:'+this.widthB+'px;height:'+this.height B+'px;background-color:#'+this.Bg+'">');
document.write(this.content);
document.write('<\/div><\/div>');}
else if(document.layers){
document.write('<ilayer name="'+this.name+'" bgcolor="#'+this.Bg+'" width="'+this.widthB+'" height="'+this.heightB+'">'+this.content+'<\/ilayer>');
return;
}
if(this.scrollLayer){
this.timer = setInterval(this.name+'.scrollLayer()','30');
}
}
//-->
//]]>
</script>

</head>
<body bgcolor="DimGray">
<?php
require ("aut_config.inc.php"); // incluir configuracion.
$db_connect = mysql_connect($Servidor,$Usuario,$Password);
mysql_select_db($sql_db);
if (!isset($_GET['accion'])){
$usuario_consulta = mysql_query("SELECT nick,nombre,postname,posturl FROM $sql_tabla") or die("No se pudo realizar la consulta a la Base de datos");
}
while($resultados = mysql_fetch_array($usuario_consulta)) {
//<a href=$resultados[posturl] title="Enviado por $resultados[nick]">$resultados[postname]</font></div></td></td></tr>
}
echo "</table>";
mysql_free_result($usuario_consulta);
mysql_close();
exit;
?>


<script type="text/javascript">
//<![CDATA[
<!--
var c = new scrollerObj('c','100','170','50','170','
<? echo $resultados[postname]; ?>, 'center');
//-->
//]]>
</script>

</body>
</html>

nada... le sigo pegando al tema y se resiste... he comrobado que el scrip funciona correctamente, añadi un poco de texto y sale bien, pero la consulta BD no funciona

var c = new scrollerObj('c','100','170','50','170','<? echo $resultados[postname]; ?><b>En construccion<br>En unas horas...<br>Perdonen las molestias</b>','#000000','#000000','1','center');

lo puedes probar en tu server... veras como funciona, menos el php...jeje, se resiste el canalla

Última edición por nuevo; 30/05/2003 a las 23:01
  #4 (permalink)  
Antiguo 30/05/2003, 23:33
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Bueno .. lo que pusistes en parte no te vá por qué:

var c = new scrollerObj('c','100','170','50','170','<? echo $resultados[postname]; ?>, 'center');

Lo tienes fuera de tu bucle con el cual obtienes los registros de tu consulta ..

Pero .. ya te comenté (y sinó lo hago ahora ..) que lo que tienes hacer es "concatenar" esos $resultados[] .. sobre una variable .. insertando tu código HTML que necesites (mínimo supongo que algún <br> para separar los grupos de datos que corresponden a un registro de tu tabla (de tu consulta realizada a la BD) ... Y todo eso se lo pasas al 'var' ese de Javascript ..

"A ojo" sería algo así:

Código PHP:
while($resultados mysql_fetch_array($usuario_consulta)) {
  
$texto .="<a href=\"".$resultados['posturl']."\" title=\"Enviado por ".$resultados['nick']."\">".$resultados['postname']."</a><br>";

(se usa .= para concatenar (unir cadenas, strings) .. osese, se concatenan todos los registros que arroje esa consulta sobre esa variable "$texto" .. se usa el <br> como separador .. Añade el HTML que necesites ahí mismo o si todo guarda el mismo formato .. hazlo en la parte de javascript, ejemplo:
<? echo "<b>".$texto."</b>"; ?>


Y la parte de javascript:

Código PHP:
<script type="text/javascript">
//<![CDATA[
<!--
var c = new scrollerObj('c','100','170','50','170','<? echo $texto?>, 'center');
//-->
//]]>
</script>

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 30/05/2003, 23:52
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 14 años, 7 meses
Puntos: 2
o no lo tengo claro o no me entero esta noche

nada, hoy tengo que estar negao... no me sale nada


<?php
require ("aut_config.inc.php"); // incluir configuracion.
$db_connect = mysql_connect($Servidor,$Usuario,$Password);
mysql_select_db($sql_db);
if (!isset($_GET['accion'])){
$usuario_consulta = mysql_query("SELECT nick,nombre,postname,posturl FROM $sql_tabla") or die("No se pudo realizar la consulta a la Base de datos");
}
while($resultados = mysql_fetch_array($usuario_consulta)) {
$texto .="<a href=\"".$resultados['posturl']."\" title=\"Enviado por ".$resultados['nick']."\">".$resultados['postname']."</a><br>";
}
mysql_free_result($usuario_consulta);
mysql_close();
exit;
?>
<script type="text/javascript">
//<![CDATA[
<!--
var c = new scrollerObj('c','100','170','50','170','<? echo $texto; ?>, 'center');
//-->
//]]>
</script>


tu dices que el var c =new no esta dentro del bucle donde en php se deberia mostrar los resultados.... pero lo he metido dentro, lo he sacado, le he dado unas cuantas vueltas y no quiere...jorrr

esta es la direccion del ejemplo
http://217.125.50.214/shadow.post/

Última edición por nuevo; 31/05/2003 a las 01:23
  #6 (permalink)  
Antiguo 31/05/2003, 00:19
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
El link que distes .. se queda el código en <body ...> (lo puedes ver si editas el código HTML en tu navegador ..)

Tienes que quitar el exit; ese que tienes ahí .. sino, no se interpreta el resto de código que hay por debajo !!.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #7 (permalink)  
Antiguo 31/05/2003, 01:22
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 14 años, 7 meses
Puntos: 2
YO SE DE UNO QUE ES EL MEJOR ¡¡¡

quien va ser... Cluster !!!, jeje, gracias tiu por tropocientisima-vez, pongo el codigo bien porq se ha estropeado el de arriba, y asi de paso si alguien lo quiere... a mi me gusta mucho...gracias Cluster



<html>
<head>
<script type="text/javascript">
//<![CDATA[
<!--
function scrollerObj(name,initH,initW,heightB,widthB,conten t,initBg,Bg,speed,initFl){
//**data**//
this.name=name;
this.initH=initH;
this.initW=initW;
this.heightB=heightB;
this.widthB=widthB;
this.content=content;
this.initBg=initBg;
this.Bg=Bg;
this.iniFl=initFl;
this.speed=parseInt(speed);
this.timer = name + "Timer";
this.elem;
//**methods**//
this.getElement = getElement;
this.createLayer=createLayer;
this.scrollLayer = scrollLayer;
this.scrollLoop=scrollLoop;
//**initiate methods**//
this.createLayer();
this.getElement();
this.scrollLayer();
}
//**call this method to stop scrolling**//
function scrollLoop(s){
this.speed = s;
}
//**pretty obvious**//
function scrollLayer(){
if(parseInt(this.elem.style.top)>(this.elem.offset Height*(-1))){
this.elem.style.top = parseInt(this.elem.style.top)-this.speed;
//alert(parseInt(this.elem.style.top)+"\n"+this.elem .id);
}
else {this.elem.style.top = this.initH;}
}
//**get the specific dom-expression**//
function getElement(){
if(document.getElementById){
this.elem = document.getElementById(this.name);
}
else if (document.all){
this.elem = document.all[name];
}
else if (document.layers){
this.elem = document.layers[name];
}
}
//**pretty obvious - if NS4 - please upgrade to a standard compliant browser**//
function createLayer(){
if(document.getElementById || document.all){
document.write('<div id="layer'+this.name+'" style="position:relative;overflow:hidden;float:'+t his.initFl+';background-color:#'+this.initBg+';border:1px solid black;width:'+this.initW+'px;height:'+this.initH+' px;" onMouseover="'+this.name+'.scrollLoop(0)" onMouseout="'+this.name+'.scrollLoop('+this.speed+ ')">');
document.write('<div id="'+this.name+'" style="position:absolute;top:'+this.initH+'px;left :0px;border:0px solid black;width:'+this.widthB+'px;height:'+this.height B+'px;background-color:#'+this.Bg+'">');
document.write(this.content);
document.write('<\/div><\/div>');}
else if(document.layers){
document.write('<ilayer name="'+this.name+'" bgcolor="#'+this.Bg+'" width="'+this.widthB+'" height="'+this.heightB+'">'+this.content+'<\/ilayer>');
return;
}
if(this.scrollLayer){
this.timer = setInterval(this.name+'.scrollLayer()','30');
}
}
//-->
//]]>
</script>

</head>
<body bgcolor="DimGray">
<?php
require ("aut_config.inc.php"); // incluir configuracion.
$db_connect = mysql_connect($Servidor,$Usuario,$Password);
mysql_select_db($sql_db);
if (!isset($_GET['accion'])){
$usuario_consulta = mysql_query("SELECT nick,nombre,postname,posturl FROM $sql_tabla") or die("No se pudo realizar la consulta a la Base de datos");
}
while($resultados = mysql_fetch_array($usuario_consulta)) {
$texto .="<a href=\"".$resultados['posturl']."\" title=\"Enviado por ".$resultados['nick']."\">".$resultados['postname']."</a><br>";
}
mysql_free_result($usuario_consulta);
mysql_close();
?>

<script type="text/javascript">
//<![CDATA[
<!--
var c = new scrollerObj('c','100','170','50','170','<? echo $texto; ?>','#000000','#000000','1','center');
//-->
//]]>
</script>

</body>
</html>


------------------------------------------------------------------------------

funciona de maravilla.......iiiiiiiiiiiiiiiiiahhhhhhhhhHHHH

una cosilla mas-.... el nuke cuando hace los link no muestra el guion debajo de las letras... eso como lo hacen... solo salen las letras... y es un link

lo sabeis...?
  #8 (permalink)  
Antiguo 31/05/2003, 01:38
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
CSS ... Usa Estilos en Cascada para definir las propiedades de tu texto/links ..

Visita el foro CSS (es un sub-foro de HTML) y pregunta por allá .. Si mal no recuerdo .. en las FAQ's del sub-foro CSS tienes la respuesta ya esperandote xD ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #9 (permalink)  
Antiguo 31/05/2003, 01:43
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 14 años, 7 meses
Puntos: 2
jajaja, gracias ;)
__________________
3w.valenciadjs.com
3w.laislatv.com
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 09:28.