Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Por favor sin ideas vagas: Un slideshow que funcione en PHP

Estas en el tema de Por favor sin ideas vagas: Un slideshow que funcione en PHP en el foro de PHP en Foros del Web. He estado revisando el foro de pies a cabeza y todos los comentarios en como hacer un slideshow son inconclusos. La idea es la de ...
  #1 (permalink)  
Antiguo 06/03/2006, 17:59
Avatar de ruxee  
Fecha de Ingreso: agosto-2002
Mensajes: 127
Antigüedad: 15 años, 3 meses
Puntos: 7
Por favor sin ideas vagas: Un slideshow que funcione en PHP

He estado revisando el foro de pies a cabeza y todos los comentarios en como hacer un slideshow son inconclusos. La idea es la de siempre pero ojala esta si la expliquemos bien:

Tener en una base de datos MySQL una coleccion de informacion que tienen el nombre de un archivo, url, y algun otro texto, de tal modo que todos estos campos sean cargados en por medio de una consulta SQL a un arreglo para desplegar un SLIDESHOW donde cada imagen tenga su respectivo link y cambie cada cierto tiempo de segundos.

Ya realice una busqueda exhaustiva, y no consigo nada. A lo mejor y hasta se vuelve tema del FAQ, que no tiene nada al respecto.

Tengo el siguiente segmento del codigo, que funciona a la perfeccion, en JavaScript:
Código:
var variableslide=new Array()

//variableslide[x]=["path to image", "OPTIONAL link for image", "OPTIONAL text description (supports HTML tags)"]
		
variableslide[0]=['ofertas/chinese_bicyclist_01.jpg', 'http://www.hotmail.com', 'Probando el texto']

variableslide[1]=['ofertas/IMG_11262.jpg', 'http://www.yahoo.com', '123456789 123456789 123456789 123456789 ']
//variableslide[2]=['cake.gif', '', '']
La idea es que de una base de datos MySQL y con PHP pueda llenar el arreglo viariableslide. El codigo del slideshow funciona de maravilla. Pero en definitiva debe ir a tomar los datos a la tabla correspondiente y luego cargarlo al arreglo.

Tengo la idea que habra que instalar algunas cosas en mi localhost, pero NADIE indica paso por paso como hacerlo y ya lei hasta los manuales de referencia y no encuentro informacion precisa.

Por ejemplo encontre un tal JDC.. o algo asi, igual me bajé los 8Mbs y pico, pero no hay info detallada de como instalarlo y hay unas ideas vagas de como invocarlo dentro del codigo Java.

Tambien ya probe con el ODBC Java para MySQL, pero tambien no hay informacion de donde instalarlo en Windows sin embargo ya lo hice, pero no hay ininguna documentacion de como escribir el codigo en Java para poder hacer la consulta respectiva.
  #2 (permalink)  
Antiguo 06/03/2006, 21:46
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Bueno, vamos por pasos.
¿tenés php + mysql instalado?
Si no es así, buscá un paquete como phptriad, easyphp o muchos otros que andan por ahí (buscá "php+mysql+apache+windows").

Una vez que tenés esto, ¿sabes como hacer la conexión al servidor mysql?

www.php.net/mysql

Teniendo eso, pos traés cada fila de resultados que te devuelva la consulta sql y escribís el javascript correspondiente, algo como:

Código PHP:
while ($res mysql_fetch_assoc($consulta)) {
 echo 
"variableslide[$i]='$res[ruta]', '$res[enlace]', '$res[descripcion]']";
 
$i++;
 } 
si precisás más detalles, pos deberías pegar algo de código, o la estructura de la bd.


Saludos.
  #3 (permalink)  
Antiguo 07/03/2006, 09:08
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Por favor sin ideas vagas
En ese caso lo mejor es que busques algo ya hecho .. visita sitos como www.google.com .. www.hotscritps.com ... www.phpclasses.org

Así no veras ideas "vagas" que por cierto no es que sean "vagas" sino que se trata de ir ayudandote a que -tu- mismo implementes lo que necesitas .. por ende se trata de que preguntes cosas -concretas- y si lo quieres hecho .. mejor busca en esos sitios.

Cita:
Tener en una base de datos MySQL una coleccion de informacion que tienen el nombre de un archivo, url, y algun otro texto, de tal modo que todos estos campos sean cargados en por medio de una consulta SQL a un arreglo para desplegar un SLIDESHOW donde cada imagen tenga su respectivo link y cambie cada cierto tiempo de segundos.
Con esos requerimientos ... sobre todo el que destaco en negrita .. no se implementa principalmente con PHP sino con Flash o javascript (DHMTL) así que si te buscas algo en FLash o Javascript que lo haga .. será mucho más sencillo para tí añadir la parte PHP con acceso a BBDD que corresponda que no al reves.

Cita:
La idea es que de una base de datos MySQL y con PHP pueda llenar el arreglo viariableslide. El codigo del slideshow funciona de maravilla. Pero en definitiva debe ir a tomar los datos a la tabla correspondiente y luego cargarlo al arreglo.
¿Con eso debemos "adivinar" que ya usas cierto código y que te funciona como esperas pero tal vez no incorpora la funcionalidad de tomar esos datos de una consulta a una BBDD?. ¿Por qué no lo indicas completo para verlo y así ir aclarando lo que tienes?

Cita:
Tengo la idea que habra que instalar algunas cosas en mi localhost, pero NADIE indica paso por paso como hacerlo y ya lei hasta los manuales de referencia y no encuentro informacion precisa.
Pero como se va a precisar que debes instalar si tu no aclaras en que condiciones vas a usar esa aplicación. Acaso la tienes que ejecutar desde tu "PC" que va actuar como servidor? .. quieres hacer pruebas en "local" para luego subir todo a un servidor remoto X (servicio de Hosting)?.

Si tu no concretas que problemas tienes al final todo queda en una especie de "queja" generalizada .. Debese comprender que tu tienes un problema concreto de desarrollo de un cierto tipo de aplicación . .que puedas tener algunas hechas que a lo mejor te acomodan .. pero lo que no puede hacer una aplicación es explicar -también- como debes instalar PHP si es que no lo tienes instalado por ejemplo .. o de cierta extensión (si es que la usa) ... a lo sumo en la documentación deberá especificar que requiere de tal o cual extensión y es cosa tuya que sepas corroborar si la tienes instalada o como instalarla.

Cita:
Por ejemplo encontre un tal JDC.. o algo asi, igual me bajé los 8Mbs y pico, pero no hay info detallada de como instalarlo y hay unas ideas vagas de como invocarlo dentro del codigo Java.
Vuelves a lo mismo .. igual que tu encuentras información "vaga" .. tus comentarios son igual de "vagos" .. necesitas especifica que es eso de "JDC" .. no sé para que el comentario metiendo "java" si estamos en el foro de PHP pero bueno, como no sabemos de que hablas así estamos todos "divagando".

Cita:
Tambien ya probe con el ODBC Java para MySQL, pero tambien no hay informacion de donde instalarlo en Windows sin embargo ya lo hice, pero no hay ininguna documentacion de como escribir el codigo en Java para poder hacer la consulta respectiva.
Y para que quieres eso? .. para que vas a instalar "ODBC java" para Mysql .. No estás desarrollando en PHP? .. PHP se conecta a Mysql sin nada más extra.

Si no dominas PHP y Mysql .. un mínimo .. no te metas a desarrollar una aplicación con un fin dado. Te lo digo en buena .. no se puede empezar la casa por el tejado ni esperar que un "ejemplo" muy concreto te explique toda esa base que debes adquirir por otro tipo de manuales.

Lo dicho:
Si tu concretas en que situación estás: que sabes de PHP? .. lo quieres hacer en PHP? .. vas a usar un servicio de hosting con PHP instalado ya y Mysql? .. necesitas instalar PHP en tu PC + Mysql? .. ahí se te podrá orientar mejor. En la medida de que tu aportes datos, mejor será la respuesta .. si no, quedará este mensaje en el olvido y otro mensaje mas con información "vaga".


Un saludo,
  #4 (permalink)  
Antiguo 07/03/2006, 14:19
Avatar de ruxee  
Fecha de Ingreso: agosto-2002
Mensajes: 127
Antigüedad: 15 años, 3 meses
Puntos: 7
Ahi va la informacion

Gracias Cluster,

Siempre que tus respuestas son atinadas. Te lo agradezco miles porque haces ver mi problema claro, mi cuadro de trabajo es:
  • EasyPHP
  • Windows XP Profesional

Tengo una base de datos en MySQL con la tabla ofertas con la siguiente estructura:
  • id (INT4)
  • imagen (VCHAR50)
  • textocorto (VCHAR100)
  • textolargo (TXT)
  • fechaini (DATE)
  • fechafin (DATE)

Tambien tengo el codigo, buscado en http://www.hotscripts.com que es un slideshow y lo adjunto:
Código:
<script language="JavaScript1.2">

/***********************************************
* Flexi Slideshow- © Dynamic Drive (www.dynamicdrive.com)
* This notice must stay intact for use
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/

var variableslide=new Array()

//variableslide[x]=["path to image", "OPTIONAL link for image", "OPTIONAL text description (supports HTML tags)"]
		
variableslide[0]=['ofertas/chinese_bicyclist_01.jpg', 'http://www.hotmail.com', 'Probando el texto']

variableslide[1]=['ofertas/IMG_11262.jpg', 'http://www.yahoo.com', '123456789 123456789 123456789 123456789 ']
//variableslide[2]=['cake.gif', '', '']

//configure the below 3 variables to set the dimension/background color of the slideshow

var slidewidth='326px' //set to width of LARGEST image in your slideshow
var slideheight='130px' //set to height of LARGEST iamge in your slideshow, plus any text description
var slidebgcolor='#d0f5c3' //f3f3f3

//configure the below variable to determine the delay between image rotations (in miliseconds)
var slidedelay=3000

////Do not edit pass this line////////////////

var ie=document.all
var dom=document.getElementById

for (i=0;i<variableslide.length;i++){
var cacheimage=new Image()
cacheimage.src=variableslide[i][0]
}

var currentslide=0

function rotateimages(){
contentcontainer='<center>'
if (variableslide[currentslide][1]!="")
contentcontainer+='<a href="'+variableslide[currentslide][1]+'">'
contentcontainer+='<img src="'+variableslide[currentslide][0]+'" border="0" vspace="3">'
if (variableslide[currentslide][1]!="")
contentcontainer+='</a>'
contentcontainer+='</center>'
if (variableslide[currentslide][2]!="")
contentcontainer+=variableslide[currentslide][2]

if (document.layers){
crossrotateobj.document.write(contentcontainer)
crossrotateobj.document.close()
}
else if (ie||dom)
crossrotateobj.innerHTML=contentcontainer
if (currentslide==variableslide.length-1) currentslide=0
else currentslide++
setTimeout("rotateimages()",slidedelay)
}

if (ie||dom)
document.write('<div id="slidedom" style="width:'+slidewidth+';height:'+slideheight+'; background-color:'+slidebgcolor+'"></div>')

function start_slider(){
crossrotateobj=dom? document.getElementById("slidedom") : ie? document.all.slidedom : document.slidensmain.document.slidenssub
if (document.layers)
document.slidensmain.visibility="show"
rotateimages()
}

if (ie||dom)
start_slider()
else if (document.layers)
window.onload=start_slider

</script>
La idea es de la tabla de datos ofertas se carguen los datos de imagen, link y demas al script descrito, en especial en el arreglo variableslide.

Como siempre agradezco, porque ahora programo websites gracias a este y otros foros y los intercambios de experiencia con uds. En especial este Cluster que siempre hace comentarios certeros.
  #5 (permalink)  
Antiguo 08/03/2006, 07:03
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Ok, ..

Si te fijas .. alvlin te dió la respuesta (o por ahí van los tiros).

Tienes en javascript, según describe el uso de ese ejemplo, que debes crear tus imagenes a rotar (con sus links y demás) tipo:

variableslide[0]=['ofertas/chinese_bicyclist_01.jpg', 'http://www.hotmail.com', 'Probando el texto']

(un array . .pero javascript).

Ahora tu tienes esos datos en una BBDD .. sólo se trata de que hagas la consulta SQL pertinente a tu BBDD (supongo que esto ya lo sabes hacer?) y crear esas "líneas" de javascript para que PHP genere esa página "dinámicamente" con ese javascript ya creado (de hecho cuando lo tengas listo o hagas tus pruebas puedes fijarte en tu "código generado" (en tu navegador-> ver código fuente) y veras como te quedó.

Retomando el código propuesto por alvlin .. sería:

Código PHP:
<?
// Conectas a tu BBDD. Haces tu consulta SQL a tu BBDD.
$sql="SELECT * FROM la_tabla_que_corresponda";
$resultado=mysql_query($sql) or die (mysql_error());
?>

etc código javascript .. 

var variableslide=new Array()

<?
$i
=0;
while (
$row mysql_fetch_assoc($resultado)) { 
 echo 
"variableslide[$i]=['".$row['ruta']."', '".$row['enlace']."', '".$row['descripcion']."']\n"
 
$i++; 
 }  
?>
 Resto de ese código javascript ..
Hay un detalle .. en tu BBDD (tabla) no indicas un ruta hacia el archivo . .no sé si por el nombre + una ruta fija concatenada vas a crear el link (o te creas un campo más en tu tabla con el URL que apunte esa imagen?).. El resto es cosa de que acomodes los nombres de tus campos de tu tabla implicada.

Un saludo,
  #6 (permalink)  
Antiguo 08/03/2006, 12:34
Avatar de ruxee  
Fecha de Ingreso: agosto-2002
Mensajes: 127
Antigüedad: 15 años, 3 meses
Puntos: 7
Funcionade maravilla!!


Excelente Cluster
me trabaja de maravilla
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 21:37.