Regresar a la página www.ComoCrearTuWeb.com
Resultados 1 al 13 de 13

Tema: [ayuda] Crear enlaces de <<anterior | siguiente>> php mysql.

  1. #1
    Me va gustando esto... Habitante
    Fecha de Ingreso
    10 jun, 11
    Ubicación
    Posadas
    Mensajes
    60
    Poder de Reputación
    10

    Red face [ayuda] Crear enlaces de <<anterior | siguiente>> php mysql.

    Buenas tardas me gustaria que me orienten un poquito estoy intentando hacer una especie de galeria de imagen y tengo el siguiente codigo que ver.php :

    Código PHP:
    <?php
    $conectar 
    mysql_connect("localhost","root","");
        
    $bd mysql_select_db("galeria");


        
    $verificar mysql_query("SELECT * FROM imagenes LIMIT 1");
        
        
    $numeros mysql_num_rows($verificar);
        if(
    $numeros <= 0)
        {
         echo 
    "No se han encontrado imagenes";
         }
         else {
            while(
    $imagen mysql_fetch_array($verificar))
                {          
                           
                             echo 
    '<img src="'.$imagen['url'].'"/>';
                }
    }
    ?>
    y me gustaria crear unos enlaces de anterior y siguiente como dice en el titulo... glooglee y segui algunos tutoriales y no dieron resultado... :/ si me dieran una mano, es agradeseria mucho :)

    P/D: tengo un ID auto incrementable llamado imagen_id

  2. #2
    Esto empieza a ser un vicio... Habitante Avatar de olukarak
    Fecha de Ingreso
    28 jul, 10
    Ubicación
    Marte
    Mensajes
    1,868
    Poder de Reputación
    20
    Lo que hace el código es que te muestra, seguidas, todas las imágenes. Para los botones hay dos opciones que se me ocurren:
    1- Que muestre una imagen por página indicándole la ID de esta en la URL misma.
    2- Que muestre todas las imágenes en una página y con JS hacer que se muestre una u otra.

    ¿Cuál prefieres?
    Tutorial de CSS3: http://www.comocreartuweb.com/consul...el-19-09-10%29

    Se borrarán los mensajes cuyo título no explique la duda: http://www.comocreartuweb.com/consul...titulo-la-duda!!

    Cómo preguntar en CCTW: http://www.comocreartuweb.com/consul...guntar-en-CCTW

  3. #3
    Me va gustando esto... Habitante
    Fecha de Ingreso
    10 jun, 11
    Ubicación
    Posadas
    Mensajes
    60
    Poder de Reputación
    10
    Perdón recien veo que contestaste, me das hasta para elegir como hacerlo Muchas gracias y creo para seguir solo con php estaria bueno hacerlo de la primera manera con el ID. Pero si vos decis que la segunda manera es mas eficiente hacemos de la segunda manera! :)

  4. #4
    Me va gustando esto... Habitante
    Fecha de Ingreso
    10 jun, 11
    Ubicación
    Posadas
    Mensajes
    60
    Poder de Reputación
    10
    Alguien tiene alguna idea!? :)

  5. #5
    Esto empieza a ser un vicio... Habitante Avatar de olukarak
    Fecha de Ingreso
    28 jul, 10
    Ubicación
    Marte
    Mensajes
    1,868
    Poder de Reputación
    20
    En verdad, a mi ver, la primera es mejor (por la velocidad de carga).

    Código:
    <?php 
        $conectar = mysql_connect("localhost","root",""); 
        $bd = mysql_select_db("galeria"); 
        
        /* Seleccionamos 3 imágenes 1 por la id, otra anterior y otra posterior a la primera */
        $query = sprintf("SELECT * FROM imagenes WHERE imagen_id='%d' || imagen_id='%d' || imagen_id='%d' LIMIT 1", $_GET['img'], $_GET['img']-1, $_GET['img']+1);
        $verificar = mysql_query($query); 
         
        $numeros = mysql_num_rows($verificar); 
        if($numeros <= 0 || ($numeros > 0 && mysql_result($verificar, 0, 0) != $_GET['img'])) /* Se cambia el segundo cero por otro número si el campo imagen_id no es el primero. */
        { 
         echo "No se han encontrado imagenes"; 
         } else { 
            while($imagen = mysql_fetch_array($verificar)) 
                {           
                    if ($imagen['imagen_id'] == $_GET['img']) {
                        echo '<img src="'.$imagen['url'].'"/>'; 
                    } elseif ($imagen['imagen_id'] == $_GET['img']-1) {
                        echo '<a href="pagina.php?img='.$imagen['imagen_id']-1.'">Anterior</a>';
                    } elseif ($imagen['imagen_id'] == $_GET['img']+1) {
                        echo '<a href="pagina.php?img='.$imagen['imagen_id']+1.'">Siguiente</a>';
                    }
                } 
        } 
    ?>
    Si no he cometido ningún error este código debería ser completamente válido, en otro caso lo arreglaremos ;)
    Esto lo que hará es detectar si hay imágenes anteriores o siguientes y, en tal caso, te mostrará los enlaces.
    Tutorial de CSS3: http://www.comocreartuweb.com/consul...el-19-09-10%29

    Se borrarán los mensajes cuyo título no explique la duda: http://www.comocreartuweb.com/consul...titulo-la-duda!!

    Cómo preguntar en CCTW: http://www.comocreartuweb.com/consul...guntar-en-CCTW

  6. #6
    Me va gustando esto... Habitante
    Fecha de Ingreso
    10 jun, 11
    Ubicación
    Posadas
    Mensajes
    60
    Poder de Reputación
    10
    Muuuchas gracias olukarak y para mi suerte salio un error jaja pero creo que no es tan grabe es el siguiente:

    Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ',' or ';' in C:\wamp\www\2012\galeria\a.php on line 19

    esta es la linea 19:
    echo '<a href="pagina.php?img='.$imagen['imagen_id']-1.'">Anterior</a>';

    donde dice pagina.php va el nombre de esta misma pagina no?
    esta pagina de se llama ver.php entonces deberia quedar así:

    echo '<a href="ver.php?img='.$imagen['imagen_id']-1.'">Anterior</a>';

    bueno lo probe pero el error sigue. creo que es algo de las comillas simples y dobles no?.

    muchas gracias, y perdón por las molestias! :)

  7. #7
    Esto empieza a ser un vicio... Habitante Avatar de Rabs
    Fecha de Ingreso
    16 jun, 11
    Ubicación
    Madrid
    Mensajes
    780
    Poder de Reputación
    13
    El fallo es simple, se cierra antes de lo que debería, y usa commillas dobles en un echo, lo que impiede que sea leido.:

    Código PHP:
    echo "<a href='ver.php?img= " $imagen['imagen_id']-'>Anterior</a>"; 
    Asi debería bastar ;)
    Mericherno.es - Web del servidor DayZ hecha con la inestimable ayuda de johnetrep :)
    http://www.fernandosalcedo.com

  8. #8
    Me va gustando esto... Habitante
    Fecha de Ingreso
    10 jun, 11
    Ubicación
    Posadas
    Mensajes
    60
    Poder de Reputación
    10
    Hola rabs, segui tu consejo y salio este error:
    Parse error: syntax error, unexpected '>' in C:\wamp\www\2012\galeria\ver.php on line 19

    y despues probe asi:
    echo "<a href='ver.php?img= " . $imagen['imagen_id']-1 . '>Anterior</a>"';

    y ahi si funcionó! :) pero ahora me sale 3 errores en el img que son los siguientes:

    Notice: Undefined index: img in C:\wamp\www\2012\galeria\ver.php on line 6
    Notice: Undefined index: img in C:\wamp\www\2012\galeria\ver.php on line 6
    Notice: Undefined index: img in C:\wamp\www\2012\galeria\ver.php on line 6
    esta es la linea 6:

    $query = sprintf("SELECT * FROM imagenes WHERE imagen_id='%d' || imagen_id='%d' || imagen_id='%d' LIMIT 1", $_GET['img'], $_GET['img']-1, $_GET['img']+1);

    el problema parece ser en: $_GET['img'] por lo que estaba leyendo.. tengo que agregar un input en el formulario?
    este es mi formulario:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>::::</title>
    </head>

    <body>
    <form action="cargar.php" enctype="multipart/form-data" method="post">
    <input type="file" name="imagen" /><br>
    <input type="file" name="imagen2" /><br>
    <input type="file" name="imagen3" /><br>
    <input type="file" name="imagen4" /><br>
    <input type="file" name="imagen5" /><br>
    <input type="submit" value="subir" />
    </form>
    </body>
    </html>
    //************************************************//

    y este es el archivo que sube:

    <?php
    if(!is_uploaded_file($_FILES['imagen']['tmp_name']))
    {
    echo "Error al subir archivo";
    }
    else {
    $conectar = mysql_connect("localhost","root","");
    $bd = mysql_select_db("galeria");
    $nombre = explode(".",$_FILES['imagen']['name']);
    $peticion = mysql_query("INSERT INTO imagenes(nombre,url) VALUES('".$nombre[0]."','fotos/".$_FILES['imagen']['name']."')") or die(mysql_error());
    move_uploaded_file($_FILES['imagen']['tmp_name'],"fotos/".$_FILES['imagen']['name']);
    $nombre = explode(".",$_FILES['imagen2']['name']);
    $peticion = mysql_query("INSERT INTO imagenes(nombre,url) VALUES('".$nombre[0]."','fotos/".$_FILES['imagen2']['name']."')") or die(mysql_error());
    move_uploaded_file($_FILES['imagen2']['tmp_name'],"fotos/".$_FILES['imagen2']['name']);
    $nombre = explode(".",$_FILES['imagen3']['name']);
    $peticion = mysql_query("INSERT INTO imagenes(nombre,url) VALUES('".$nombre[0]."','fotos/".$_FILES['imagen3']['name']."')") or die(mysql_error());
    move_uploaded_file($_FILES['imagen3']['tmp_name'],"fotos/".$_FILES['imagen3']['name']);
    $nombre = explode(".",$_FILES['imagen4']['name']);
    $peticion = mysql_query("INSERT INTO imagenes(nombre,url) VALUES('".$nombre[0]."','fotos/".$_FILES['imagen4']['name']."')") or die(mysql_error());
    move_uploaded_file($_FILES['imagen4']['tmp_name'],"fotos/".$_FILES['imagen4']['name']);
    $nombre = explode(".",$_FILES['imagen5']['name']);
    $peticion = mysql_query("INSERT INTO imagenes(nombre,url) VALUES('".$nombre[0]."','fotos/".$_FILES['imagen5']['name']."')") or die(mysql_error());
    move_uploaded_file($_FILES['imagen5']['tmp_name'],"fotos/".$_FILES['imagen5']['name']);
    }
    ?>

    Seguro a de estar todo mal! jajaja pero fue lo que logre hacer,, y bueno a mi me sirve! :)

  9. #9
    Esto empieza a ser un vicio... Habitante Avatar de Rabs
    Fecha de Ingreso
    16 jun, 11
    Ubicación
    Madrid
    Mensajes
    780
    Poder de Reputación
    13
    Up, perdón, se me olvidó:
    Código PHP:
    echo "<a href='ver.php?img= " $imagen['imagen_id']-"'>Anterior</a>"
    Remplazalo y el error se debería de ir ;)

    Respecto al otro tema, te respondería si puediese, pero no tengo tiempo... Seguro que hay alguien mucho mejor en el foro que te responde a ese error ;)
    Mericherno.es - Web del servidor DayZ hecha con la inestimable ayuda de johnetrep :)
    http://www.fernandosalcedo.com

  10. #10
    Me va gustando esto... Habitante
    Fecha de Ingreso
    10 jun, 11
    Ubicación
    Posadas
    Mensajes
    60
    Poder de Reputación
    10
    Cita Iniciado por Rabs Ver Mensaje
    Up, perdón, se me olvidó:
    Código PHP:
    echo "<a href='ver.php?img= " $imagen['imagen_id']-"'>Anterior</a>"
    Remplazalo y el error se debería de ir ;)

    Respecto al otro tema, te respondería si puediese, pero no tengo tiempo... Seguro que hay alguien mucho mejor en el foro que te responde a ese error ;)
    Esperemos que si :) gracias por tu ayuda! ^^

  11. #11
    Esto empieza a ser un vicio... Habitante Avatar de olukarak
    Fecha de Ingreso
    28 jul, 10
    Ubicación
    Marte
    Mensajes
    1,868
    Poder de Reputación
    20
    Ese error es que no se encuentra la variable $_GET['img']. Para solucionarlo usa ver.php?img=ID_IMAGEN
    Si alguien no lo escribe así saldrá el error. Para corregirlo, al principio del documento, puedes poner:

    Código:
    if (!isset($_GET['img'])) {
        $img = AQUI_LA_ID_DE_IMAGEN_PREDETERMINADA;
    } else {
        $img = $_GET['img'];
    }
    Despues sustituye todos los $_GET['img'] por $img.
    Tutorial de CSS3: http://www.comocreartuweb.com/consul...el-19-09-10%29

    Se borrarán los mensajes cuyo título no explique la duda: http://www.comocreartuweb.com/consul...titulo-la-duda!!

    Cómo preguntar en CCTW: http://www.comocreartuweb.com/consul...guntar-en-CCTW

  12. #12
    Me va gustando esto... Habitante
    Fecha de Ingreso
    10 jun, 11
    Ubicación
    Posadas
    Mensajes
    60
    Poder de Reputación
    10
    Muchas gracias por tu ayuda olukarak :)
    estaba probando de varias maneras y nose cual es la correcta! perdon, :/
    Código PHP:
    <?php 
                
    if (!isset($_GET['img'])) {
                
    $img $imagen['imagen_id']; /*asi me da que la variable no esta identificada*/
                
    $img "ver.php?img=imagen_id"/*Así no me da ningun error pero me dice que "no se han encontrado imagenes */       
                
    $img 22/*probe poniendo un nº como imagen_id pero tambien me dice q no se encontro imagenes (tampoco da errores. */ 
    } else {
                
    $img $_GET['img'];
            }
            
    $conectar mysql_connect("localhost","root",""); 
        
    $bd mysql_select_db("galeria"); 
        
        
    /* Seleccionamos 3 imágenes 1 por la id, otra anterior y otra posterior a la primera */
        
    $query sprintf("SELECT * FROM imagenes WHERE imagen_id='%d' || imagen_id='%d' || imagen_id='%d' LIMIT 1"$img$img-1$img+1);
        
    $verificar mysql_query($query); 
         
        
    $numeros mysql_num_rows($verificar); 
        if(
    $numeros <= || ($numeros && mysql_result($verificar00) != $img)) /* Se cambia el segundo cero por otro número si el campo imagen_id no es el primero. */
        

         echo 
    "No se han encontrado imagenes"
         } else { 
            while(
    $imagen mysql_fetch_array($verificar)) 
                {           
                    if (
    $imagen['imagen_id'] == $img) {
                        echo 
    '<img src="'.$imagen['url'].'"/>'
                    } elseif (
    $imagen['imagen_id'] == $img-1) {
                        echo 
    "<a href='ver.php?img= " $imagen['imagen_id']-'>Anterior</a>"'
                    } elseif (
    $imagen['imagen_id'] == $img+1) {
                        echo 
    "<a href='ver.php?img= " $imagen['imagen_id']+'>Siguiente</a>"';  
                    }
                } 
        } 
    ?>
    muchas gracias por tu ayuda y perdona las molestias ocacionadas! :/

  13. #13
    Esto empieza a ser un vicio... Habitante Avatar de olukarak
    Fecha de Ingreso
    28 jul, 10
    Ubicación
    Marte
    Mensajes
    1,868
    Poder de Reputación
    20
    $img debe ser una id de imagen existente.
    Tutorial de CSS3: http://www.comocreartuweb.com/consul...el-19-09-10%29

    Se borrarán los mensajes cuyo título no explique la duda: http://www.comocreartuweb.com/consul...titulo-la-duda!!

    Cómo preguntar en CCTW: http://www.comocreartuweb.com/consul...guntar-en-CCTW

Temas Similares

  1. Ayuda: Como Crear Un Formulario Con PHP y MySQL
    Por Cristianjbt en el foro Formularios
    Respuestas: 2
    Último Mensaje: 20/09/2011, 14:17
  2. Como crear la siguiente estructura de una base de datos
    Por Dramidom en el foro Php Bases de Datos y MySQL (Nuevo!)
    Respuestas: 4
    Último Mensaje: 02/09/2011, 19:00
  3. necesito meter enlaces en la base de datos mysql en php
    Por francisco1 en el foro Foro General
    Respuestas: 12
    Último Mensaje: 13/08/2011, 18:08
  4. Botones "anterior" y "siguiente" ¿cómo?
    Por Ana Pascoe en el foro Curso Paso a Paso con Html-Kit.
    Respuestas: 14
    Último Mensaje: 04/11/2008, 23:36

Permisos de Publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •