Foros del Web » Programando para Internet » PHP »

Como crear paginas para cada producto

Estas en el tema de Como crear paginas para cada producto en el foro de PHP en Foros del Web. Buenas tengo una sección de productos en la web que estoy trabajando y basicamente es un div con CSS que coge la info de la ...
  #1 (permalink)  
Antiguo 09/09/2015, 03:12
 
Fecha de Ingreso: abril-2015
Mensajes: 189
Antigüedad: 9 años, 7 meses
Puntos: 14
Como crear paginas para cada producto

Buenas tengo una sección de productos en la web que estoy trabajando y basicamente es un div con CSS que coge la info de la base de datos y me saca una imagen , texto etc...

Pero en ese div tengo un boton de Read more , para enseñar el resto de información de ese producto aunque me gustaria hacerlo en otra pagina y no estoy del todo seguro de como hacerlo.

Es decir si estoy en www.loquesea/productos y ahi me salen todos los que tengo en la base de datos , quiero que al pulsar en read more sobre uno me vaya a www.loquesea/productos/nombreproductopulsado.

Y ahi yo ya poder poner mi diseño , coger la info de la base que quiera etc pero no estoy seguro de como hacer ese paso de que la pagina individual con el nombre de cada producto sin tener que crear una pagina para cada producto...

Pongo un poco del codigo:

Código:
<div id="contenido">
				<?php require_once('../silentblock/menu.php'); ?>
				<?php
				/* Abrimos la base de datos */
				  $conx = mysql_connect ("nomServidor","usuario","pass");
				  if (!$conx) die ("Error al abrir la base <br/>". mysql_error()); 
				  mysql_select_db("qsb951") OR die("Connection Error to Database");    

				/* Realizamos la consulta SQL */
				$sql="select * from producto where externo_subfam='2' and idioma='ES'";
				$result= mysql_query($sql) or die(mysql_error());
				if(mysql_num_rows($result)==0) die("No hay registros para mostrar");
				while($row=mysql_fetch_array($result)){
				echo "<div class='main'>";
                echo "<div class='view view-first'>";
                    echo "<img src='http://www.tejasa.es/img/productos/$row[imagen_principal]' />";
                    echo "<div class='mask'>";
                        echo "<h2>$row[nombre]</h2>";
                        echo "<p id='textoProd'>$row[descripcion]</p>";
                        echo "<a href='#' class='info'>Read More</a>";
                    echo "</div>";
                echo "</div>";    		
            echo "</div>";
			}
			?>
			</div>
Y os paso la web por si quereis ver algo mas que no he puesto , muchas gracias , creo que esto es algo que se usa en muchas webs y me gustaria aprenderlo bien de una vez

http://www.silentblock.es/silentblock/productos
  #2 (permalink)  
Antiguo 09/09/2015, 03:31
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años, 7 meses
Puntos: 326
Respuesta: Como crear paginas para cada producto

Buenas, este proceso tiene un par de cosas...

Primero, para las url, usarias htacces...

De forma que todo lo que fuera productos/123/producto-prueba o productos/980/producto-tester vayan a la misma página (producto_detalle.php por ejemplo).

En producto_detalle.php obtendrías el ID del producto (123, 980...) y con este mostrarías la info de la bbdd según sea..

Un ejemplo:

.htaccess
Código:
RewriteRule ^producto/(.*)/(.*)$				producto-detalle.php?Id=$1 [L]
producto-detalle.php
Código PHP:
<?php

$id 
$_GET['Id']; //VALIDAR QUE SEA CORRECTO

echo "Mostrando datos del producto ".$id;

?>
Esta es la base...

Y puede haber algún error de código ;)
__________________
>> Eleazan's Source
>> @Eleazan

Etiquetas: cada, mysql, producto, registro, select, sql
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 21:34.