Foros del Web » Programando para Internet » PHP »

Problema seleccionar tabla mysql desde php

Estas en el tema de Problema seleccionar tabla mysql desde php en el foro de PHP en Foros del Web. Hola a todos, Tengo un pequeño problema, estoy realizando una página web y tengo una base de datos donde guardo las imagenes para una galeria, ...
  #1 (permalink)  
Antiguo 07/01/2011, 07:51
 
Fecha de Ingreso: enero-2011
Mensajes: 5
Antigüedad: 13 años, 10 meses
Puntos: 0
Problema seleccionar tabla mysql desde php

Hola a todos,

Tengo un pequeño problema, estoy realizando una página web y tengo una base de datos donde guardo las imagenes para una galeria, la base de datos está dividida en tablas donde guardo las diferentes imagenes de cada album, para cada album tengo una tabla.

Lo que quiero es seleccionar una tabla según el album que seleccione el usuario, para hacer esto he pensado en pasarle a un archivo php que tengo el nombre de la tabla y cogerla dentro del archivo para usarla pero no me funciona.

en la url pongo: gallery.php?album=enjoy

y en el arcivo lo cojo así: $table = $_GET["album"];

No sé que estoy haciendo mal.

Espero vuestra ayuda, gracias un saludo!
  #2 (permalink)  
Antiguo 07/01/2011, 08:10
Avatar de RIVERMILLOS  
Fecha de Ingreso: marzo-2010
Mensajes: 1.336
Antigüedad: 14 años, 8 meses
Puntos: 15
Respuesta: Problema seleccionar tabla mysql desde php

no crees que es demaciado hacer una tabla por album , yo colocaria una tabla albumnes y otra con las fotos y las relacionaria. solo tendria que hacer la consulta por id de album no tendrias que hacer un archivo por cada uno.


saludos
  #3 (permalink)  
Antiguo 07/01/2011, 08:34
 
Fecha de Ingreso: enero-2011
Mensajes: 5
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Problema seleccionar tabla mysql desde php

weno de todos modos el problema es que no puedo canviar el valor de $table mediante el $_GET
  #4 (permalink)  
Antiguo 07/01/2011, 09:49
Avatar de RIVERMILLOS  
Fecha de Ingreso: marzo-2010
Mensajes: 1.336
Antigüedad: 14 años, 8 meses
Puntos: 15
Respuesta: Problema seleccionar tabla mysql desde php

pues asi como lo colocaste esta bien deberias colocar un pococ mas de codigo.


saludos
  #5 (permalink)  
Antiguo 07/01/2011, 10:01
 
Fecha de Ingreso: enero-2011
Mensajes: 5
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Problema seleccionar tabla mysql desde php

si pongo:

gallery.php?album=enjoy

$table = $_GET["album"];

no me funciona.

En canvio si pongo

gallery.php

$table = 'enjoy';

me funciona perfectamente...

Alguna idea?
  #6 (permalink)  
Antiguo 07/01/2011, 10:21
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Problema seleccionar tabla mysql desde php

Deberías mostrar algo más de código ya que tal cual lo expones debería de funcionar, te invito a leer lo siguiente: http://www.php.net/variables.external

Saludos.
  #7 (permalink)  
Antiguo 07/01/2011, 10:24
Avatar de RIVERMILLOS  
Fecha de Ingreso: marzo-2010
Mensajes: 1.336
Antigüedad: 14 años, 8 meses
Puntos: 15
Respuesta: Problema seleccionar tabla mysql desde php

verifica que estas colocando la ruta del archivo bien el parametro get por la barra de direcciones del navegador directamenta al archivo y antes de que lo utilices imprimelo para ver que esta llegando.

saludos
  #8 (permalink)  
Antiguo 07/01/2011, 13:04
 
Fecha de Ingreso: enero-2011
Mensajes: 5
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Problema seleccionar tabla mysql desde php

Hago echo de la variable y me sale correcto lo que le paso a la url

Código:
<?php

$db_host = '****';
$db_user = '****'; 
$db_pwd = '****';

$database = 'galeria';
$table = $_GET["album"];

echo "TABLA: $table" ; 

if (!mysql_connect($db_host, $db_user, $db_pwd))
    die("Can't connect to database");

if (!mysql_select_db($database))
    die("Can't select database");

// This function makes usage of
// $_GET, $_POST, etc... variables
// completly safe in SQL queries
function sql_safe($s)
{
    if (get_magic_quotes_gpc())
        $s = stripslashes($s);

    return mysql_real_escape_string($s);
}

if (isset($_GET['show']))
{
    $id = intval($_GET['show']);

    $result = mysql_query("SELECT ext, UNIX_TIMESTAMP(image_time), data
                             FROM $table
                            WHERE id=$id LIMIT 1");

    if (mysql_num_rows($result) == 0)
        die('no image');

    list($ext, $image_time, $data) = mysql_fetch_row($result);

    $send_304 = false;
    if (php_sapi_name() == 'apache') {
        // if our web server is apache
        // we get check HTTP
        // If-Modified-Since header
        // and do not send image
        // if there is a cached version

        $ar = apache_request_headers();
        if (isset($ar['If-Modified-Since']) && // If-Modified-Since should exists
            ($ar['If-Modified-Since'] != '') && // not empty
            (strtotime($ar['If-Modified-Since']) >= $image_time)) // and grater than
            $send_304 = true;                                     // image_time
    }
	    // outputing Last-Modified header
	    header('Last-Modified: '.gmdate('D, d M Y H:i:s', $image_time).' GMT',
	            true, 200);

	    // Set expiration time +1 year
	    // We do not have any photo re-uploading
	    // so, browser may cache this photo for quite a long time
	    header('Expires: '.gmdate('D, d M Y H:i:s',  $image_time + 86400*365).' GMT',
	            true, 200);

	    // outputing HTTP headers
	    header('Content-Length: '.strlen($data));
	    header("Content-type: image/{$ext}");

	    // outputing image
	    echo $data;
	    exit();
	}

?>

Etiquetas: mysql, seleccionar, tablas
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 22:17.