Ver Mensaje Individual
  #27 (permalink)  
Antiguo 15/08/2012, 08:02
Avatar de kimmy
kimmy
 
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 16 años, 4 meses
Puntos: 15
Respuesta: Determinar si valores de array existen en otro array

Lo que trato de hacer con este código es una busqueda a través de una palabra para que me muestre unas fotos guardadas en un directorio .

http://vamonosdevacaciones.com.ve/bu...tino=Higuerote

Para ello busco las fotos del directorio y les quito algunos valores para que al final me quede el id y poder compararlos con el id_posada.

Código PHP:
Ver original
  1. $query2 = "SELECT id_posada, id_foto, ciudad FROM posadas WHERE ciudad='$ciudad2'";
  2.          $res = mysql_query ($query2);//lanzo la consulta
  3.          $campos = array();//hago el array
  4.          while ($camps = mysql_fetch_array($res)){
  5.                   $campos[] = $camps['id_posada']; // sólo conservas la ID
  6.          }
  7.  
  8.     echo $_GET['destino']. '<br>';
  9.         // varificamos que el formulario ha sido enviado
  10.             $ciudad = addslashes($_GET['destino']);
  11.        
  12.          
  13.         if(isset($_GET['destino'])) {
  14.          $sqlBuscar = mysql_query("SELECT *
  15.             FROM posadas
  16.             WHERE
  17.             ciudad LIKE '%$ciudad%'", $conn);
  18.             }
  19.            
  20.        
  21.     // Configuraciones
  22.     $variable = 1;//seteamos a 0 el sumador
  23.     $valor = 3;//seteamos a 4 las imagenes a mostrar por cada linea
  24.     $directorio = opendir("xxxx/xxxx/images/principal");
  25.     echo
  26.     "<table>\n
  27.     <tr>\n";
  28.  
  29.         while (false !== ($archivo = readdir($directorio))) {
  30.         $nombreArch = str_replace("", "Atras", ucwords($archivo));
  31.             if (strpos($archivo, '.gif',1) || strpos($archivo, '.jpg',1) || strpos($archivo, '.png',1) || strpos($archivo, '.bmp',1)) {
  32.                 if($variable > $valor){
  33.                     echo "<tr>\n";
  34.                 }
  35.         $archi = pathinfo($archivo);
  36.         $sinExtension = str_replace('.'.$archi['extension'],'',$archivo);
  37.    
  38.     $archivo2[] = substr($sinExtension, -1);
  39.  
  40. error_reporting('ALL'); //reportamos todos los errores que puedan haber...
  41. foreach($campos as $valor){ //recorremos el array1 valor por valor
  42.  if(in_array($valor, $archivo2) !== false){ //y le preguntamos: esta el valor en el que estamos posicionados actualmente, en el array 2?
  43.  
  44.     echo "si esta! " . $valor .'<br>';
  45.       }
  46.     else {
  47.      echo "no esta .." . $valor . '<br>';
  48.     }
  49. }
  50. echo '</table>';

Pero ahora no se como mostrar las fotos según esta busqueda. Cuando las muestro en general lo hago asi:

Código PHP:
Ver original
  1. $variable = 1;//seteamos a 0 el sumador
  2.     $valor = 3;//seteamos a 4 las imagenes a mostrar por cada linea
  3.     $directorio = opendir("xxxx/xxxx/images/principal/");
  4.     echo
  5.     "<table>\n
  6.     <tr>\n";
  7.  
  8.         while (false !== ($archivo = readdir($directorio))) {
  9.         $nombreArch = str_replace("", "Atras", ucwords($archivo));
  10.             if (strpos($archivo, '.gif',1) || strpos($archivo, '.jpg',1) || strpos($archivo, '.png',1) || strpos($archivo, '.bmp',1)) {
  11.                 if($variable > $valor){
  12.                     echo "<tr>\n";
  13.                 }
  14.         $archi = pathinfo($archivo);
  15.         $sinExtension = str_replace('.'.$archi['extension'],'',$archivo);
  16.    
  17.                 echo "
  18.                 <td class='posada'>\n<a href='posada/ver_posada2.php?codigo=$sinExtension'>";
  19.                 echo "
  20.                 <img src='xxxx/xxxx/images/principal/$archivo' width='170' height='170' border='0'>\n";
  21.                     echo "";
  22.                     echo "<td>$nombre_posada</td>";
  23.                     echo "<td></td>";
  24.                     echo "<td></td>";
  25.                    
  26.         if($variable >= $valor){// si es mayor o igual añadimos </TR>
  27.             echo "</tr>";
  28.            
  29.             $variable = 0;//seteamos a 0 el sumador y volvemos a empezar si quedan mas imagenes
  30.         }//end if
  31.         $variable++;//empezamos a sumar +1
  32.     }
  33. }//end while
  34.         closedir($directorio);
  35.         echo "</table>\n";

Estoy confundida ahora.

Cómo puedo hacer esto

Gracias.
__________________
Caminando con el corazón partío