Foros del Web » Programando para Internet » PHP »

Relacionar nombre de archivo con registro de una tabla

Estas en el tema de Relacionar nombre de archivo con registro de una tabla en el foro de PHP en Foros del Web. Estimados: Hace mucho que estoy investigando esto que les paso en el foro y no he podido encontrar lo que busco. Les cuento: Tengo un ...
  #1 (permalink)  
Antiguo 14/11/2009, 07:38
Avatar de ealaequis  
Fecha de Ingreso: septiembre-2008
Mensajes: 41
Antigüedad: 15 años, 7 meses
Puntos: 0
Pregunta Relacionar nombre de archivo con registro de una tabla

Estimados:
Hace mucho que estoy investigando esto que les paso en el foro y no he podido encontrar lo que busco.
Les cuento:
Tengo un modulo que hace un ordenamiento por fecha de creación de archivos de imagen y lista los 100 más nuevos con su respectiva fecha. Este es el código:

Código PHP:
include("conexion.php");

$dir="../../images/stories/clubes/";  
$directorio=opendir($dir);  

$num=0;  
$i=0;  
while ($archivo = readdir($directorio)) {  

if ($archivo==".") { echo " "; } else if ($archivo=="..") { echo " "; } else if ($archivo=="Thumbs.db") { echo " "; } else {  
$archivo = str_replace("_", " ", $archivo);  
$num++;  
$i++;  
$entradas[$archivo] = @filemtime($dir."/".$archivo); 
//$entradas[$archivo2] = substr(urlencode($archivo), 0, strlen(urlencode($archivo))-4); 
$entradas[$archivo2] = substr(urlencode($archivo), 0, strlen(urlencode($archivo))-4); 


$contar=$contar+1;
}  
arsort ($entradas); 
closedir;

//Encolumnador

?> 
<table width="600" height="78" border="0" align="center" cellpadding="5" cellspacing="3">
    <tr>

<?php
$contador 
1
$posicion 1;     
$limit 100;
$count 0;

foreach (
$entradas as $archivo => $timestamp) {  
    
    
$entradas[$archivo2] = substr(urlencode($archivo), 0strlen(urlencode($archivo))-4); 
    
    
$_pagi_sql "SELECT * FROM bd WHERE escudo = '$archivo2' ORDER by nombre ASC";
    
$result mysql_query($_pagi_sql) or die ("La base de datos se ecuentra en mantenimiento - Sepa disculpar");
    while(
$registro mysql_fetch_array($result)){
        
$entradas[$id] = $registro['id'];
    }

if (
$contador 5) { 
  echo 
"</tr><tr>"
  
$contador 1;
  }
?>
<td width="600" height="72" valign="top" class="Estilo19"><div align="center"><a href='ampesc2.php?cod=<?php echo $entradas[$id]; ?>'><img src="../../images/stories/clubes/<?php echo $archivo?>" border="0" /></a><?php echo "<br>";  echo date("d-m-Y"$timestamp)."\n"; echo "<br><br>";  ?>
<?php
  $contador
=$contador+1;
  
$posicion++;

  
$count++;
  if( 
$count == $limit ) break;
  
clearstatcache(); 
}
?>
Hasta acá, todo bien.
Lo que quiero es que, a través del nombre del archivo, pueda relacionar al mismo con un registro de la tabla bd (los nombres de archivo figuran en la bd en un campo llamado "escudo"). De ese modo poder agregar más datos al pie de la imagen (no solo la fecha que saco con el $timestamp).
Puede tener algo que ver con el While que me tira los nombres de los archivos a través de $registro['id']

Bien, quedo a la espera de que hagan su magia...

Saludos y gracias por esta gran página.
  #2 (permalink)  
Antiguo 15/11/2009, 10:45
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Relacionar nombre de archivo con registro de una tabla

Hola
Bueno, pues en el while en la variable que usas para guardar el dato que ya traes puedes hacer un array para cada cual, asi

$entradas[$id] = $registro['id'];
por
$entradas[$id] = array($registro['id'],$registro['otrodato']);

y luego, para mostrar, asi


<?php echo $entradas[$id][0]; //mostrara el id ?>
<?php echo $entradas[$id][1]; //mostrara el otrodato ?>

espero te sirva
saludos
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 00:18.