Foros del Web » Programando para Internet » PHP »

Comparar cadenas y validar una parte

Estas en el tema de Comparar cadenas y validar una parte en el foro de PHP en Foros del Web. Hola a todos soy nuevo en el foro y en el php, y aunque lusionado me encuentro trabado. os explico el codigo que tengo es ...
  #1 (permalink)  
Antiguo 27/09/2007, 02:45
 
Fecha de Ingreso: septiembre-2007
Mensajes: 51
Antigüedad: 16 años, 6 meses
Puntos: 1
Comparar cadenas y validar una parte

Hola a todos soy nuevo en el foro y en el php, y aunque lusionado me encuentro trabado.

os explico el codigo que tengo es el siguiente:

Cita:
<?php
echo "<h3>Galeria Fotografica</h3>\n";
echo "<table>\n";
echo "<tr>\n";
$directorio = opendir("folder");
while ($archivo = readdir($directorio))
{
$link = str_replace(".jpg", "", $link);
$nombreArch = str_replace("-", " ", $archivo);
$nombreArch = str_replace(".jpg", "", $nombreArch);
list($ref, $modelo, $num) = explode(" ", $nombreArch);
if ($archivo != "." && $archivo != "..") {
echo "<td>\n<a href='/folder/$link";
echo "_p.jpg'>";
echo "<img src='/folder/$archivo' title='Ver $nombreArch'";
echo " border=0></a>\n";
echo "</td>\n";
echo "<td>\n";
echo "model: $modelo<br/>";
echo "reference: $ref<br/>";
echo "numbre: $num<br/>";
echo "</td>\n";
}
}

closedir($directorio);
echo "</tr>\n";
echo "</table>\n";
?>
con esto consigo que me lea las imágenes de una carpeta, pero luego necesito que solo me muestre unas concretas y no todos.

Las fotos que contiene la carpeta son de una galeria de foto, y estan etiquetadas de la siguiente manera, referencia-modelo-color-numero.jpg.

Lo que yo quiero es que estos links que se crean envien como variable la referencia y el modelo a otra pagina y que esta solo muestre las fotos de esa referencia y ese modelo, pero muestre todos los colores disponibles.

por eso decia que tenia que comprobar si la cadena contiene x la muestras si no no.

Soy un autentico novato y quizas donde me equivoco es en la forma de plantearlo.

No me gsutaria si puede ser que me dierais el codigo y ya esta si no que me expliques que tengo que hacer y como, para poder entenderlo y seguir mejorando.


Muchas gracias y perdón por el tocho
  #2 (permalink)  
Antiguo 27/09/2007, 06:19
Avatar de Kelpie  
Fecha de Ingreso: febrero-2002
Ubicación: NorthSpain
Mensajes: 609
Antigüedad: 22 años, 2 meses
Puntos: 8
Re: Comparar cadenas y validar una parte

Si te he entendido bién, necesitará otra página php que te muestre las imágenes de esa referencia y ese modelo.

Para ello modificaría el código de la que has puesto, añadiendo una línea para crear el link, quitando la que ya tienes ($link = str_replace(".jpg", "", $link);):

. . . . .
list($ref, $modelo, $num) = explode(" ", $nombreArch);
$link="otraPagina.php?ref=$ref&modelo=$modelo"; //Aquí creamos el Link
if ($archivo != "." && $archivo != "..") {
. . . . .

De esa manera cada enlace intentará abrir la página "otraPagina.php" pasándole los datos de ref y modelo...

El código de la otra página ya es para desarrollar...
Como primera versión puedes hacer algo similar, pero solo mostrar los que tengan ese modelo y ref:

Código PHP:
<?php
//Recibimos los parámetros
$ref=$_GET["ref"];
$modeloOk=$_GET["modelo"];
//Si no hay parámetros envíamos a la pagina anterior
if ($ref=="" || $modelo==""header("Location: paginaAnterior.php");
    
echo 
"<h3>Galeria Fotografica</h3>\n";
echo 
"<table>\n";
echo 
"<tr>\n";
$directorio opendir("folder");
while (
$archivo readdir($directorio))
{
  
$nombreArch str_replace("-"" "$archivo);
  
$nombreArch str_replace(".jpg"""$nombreArch);
  list(
$ref$modelo$num) = explode(" "$nombreArch);
  
//comprobabmos que no es el directorio ni el superior...
  //... y que su ref y modelo es la que hemos recibibo
  
if ($archivo != "." && $archivo != ".." && $ref==$refOk && $modelo=$modeloOK)
 {
    echo 
"<td>\n";
    echo 
"<img src='/folder/$archivo' title='Ver $nombreArch'";
    echo 
" border=0>\n";
    echo 
"</td>\n";
    echo 
"<td>\n";
    echo 
"model: $modelo<br/>";
    echo 
"reference: $ref<br/>";
    echo 
"numbre: $num<br/>";
    echo 
"</td>\n";
  }
}

closedir($directorio);
echo 
"</tr>\n";
echo 
"</table>\n";
?>
Bueno, esto te lo he escrito al vuelo. Puede tener algun errorcillo, y desde luego es muy mejorable...

Saludos
__________________
Kelpie
  #3 (permalink)  
Antiguo 27/09/2007, 06:47
 
Fecha de Ingreso: septiembre-2007
Mensajes: 51
Antigüedad: 16 años, 6 meses
Puntos: 1
Re: Comparar cadenas y validar una parte

Muchisimas Gracias,

Cita:
$ref==$refOk && $modelo=$modeloOK
si he entendido bien cn este codigo me aseguro que solo se vean las imagenes que en su titulo contengan la ref y el modelo pasado por codigo no?

Es justamente lo que necesitaba.

Muchas gracias
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 19:11.