Foros del Web » Programando para Internet » PHP »

Link hacia un producto

Estas en el tema de Link hacia un producto en el foro de PHP en Foros del Web. Hola a todos: He buscado una solución a mi problema en este foro y no la encuentro, por tanto voy a hacer la consulta; Estoy ...
  #1 (permalink)  
Antiguo 31/10/2006, 18:27
 
Fecha de Ingreso: octubre-2006
Ubicación: Valparaiso Chile
Mensajes: 228
Antigüedad: 17 años, 5 meses
Puntos: 0
Link hacia un producto

Hola a todos:

He buscado una solución a mi problema en este foro y no la encuentro, por tanto voy a hacer la consulta; Estoy aprendiendo a trabajar con php xhtml css y mysql, por tanto estoy gestionando una web de prueba, donde ofresco productos, la esoy haciendo con archivos separados utilizando includes, y el problema es el siguiente:

La idea es tener lo mas que se pueda en una base de datos,
tengo el menu. y los link de la siguiente forma:

<h5><img src="./images/bullet.gif"></img><a href="/includes/productos.php?sku=2513">Control de Peso</a></h5>,

donde se supone que sku=2513 es el producto que tengo que mostar, su nombre, descripcion, precio etc.

Aquí va la consulta:

Como tengo que hacer el archivo productos.php, para que reciba la variable y me busque ese producto especifico y me muestre los datos?

Se agradece de antemanos.
  #2 (permalink)  
Antiguo 31/10/2006, 21:27
 
Fecha de Ingreso: septiembre-2006
Ubicación: Argentina
Mensajes: 190
Antigüedad: 17 años, 7 meses
Puntos: 1
El código sería:

Código:
$cod_producto = $_GET['sku'];
Después tenes que hacer el select a tu tabla, poniendo como condicional la variable que sacamos del get_vars...

Código:
$sql = SELECT * FROM latabla WHERE id_producto = '$producto'
  #3 (permalink)  
Antiguo 31/10/2006, 23:08
Avatar de B**
B**
 
Fecha de Ingreso: enero-2006
Ubicación: Monterrey,Mexico
Mensajes: 952
Antigüedad: 18 años, 3 meses
Puntos: 3
Es asi como dice Gustavo_Ar..... pero no te olvides de validar los datos que te lleguen por GET..sobre todo para que no te hagan SQL inyections...
..
__________________
-URL= Go PHP5.
-Age=22.
-Learning=PHP,J2EE,Struts,MAMBO,C++,JSON,AJAX,XHTML ,CSS.
  #4 (permalink)  
Antiguo 01/11/2006, 17:32
 
Fecha de Ingreso: octubre-2006
Ubicación: Valparaiso Chile
Mensajes: 228
Antigüedad: 17 años, 5 meses
Puntos: 0
Ahora tengo el siguiente error:


Warning: main(./includes/conexion.php) [function.main]: failed to open stream: No such file or directory in /home/spc0701/public_html/mip/includes/productos.php on line 3

Warning: main(./includes/conexion.php) [function.main]: failed to open stream: No such file or directory in /home/spc0701/public_html/mip/includes/productos.php on line 3

Warning: main(./includes/conexion.php) [function.main]: failed to open stream: No such file or directory in /home/spc0701/public_html/mip/includes/productos.php on line 3

Warning: main() [function.include]: Failed opening './includes/conexion.php' for inclusion (include_path='.:/opt/apache/lib/php') in /home/spc0701/public_html/mip/includes/productos.php on line 3

Fatal error: Call to undefined function: conectarse() in /home/spc0701/public_html/mip/includes/productos.php on line 5

El código de conexion.php:
Código:
<? // Fichero con los datos de conexion a la BBDD

function Conectarse()

{

$db_host="localhost"; // Host al que conectar, habitualmente es el ‘localhost’

$db_nombre="Basedatos"; // Nombre de la Base de Datos que se desea utilizar

$db_user="usuario"; // Nombre del usuario con permisos para acceder

$db_pass="password"; // Contraseña de dicho usuario

// Ahora estamos realizando una conexión y la llamamos ‘$link’

$link=mysql_connect($db_host, $db_user, $db_pass) or die ("Error conectando a la base de datos.");

// Seleccionamos la base de datos que nos interesa

mysql_select_db($db_nombre ,$link) or die("Error seleccionando la base de datos.");

// Devolvemos $link porque nos hará falta más adelante, cuando queramos hacer consultas.

return $link;

}

?>
Código de productos.php:

Código:
<?php

include('./includes/conexion.php'); // incluimos el archivo con los datos de conexion                           ‘conexión.inc.php’

$link = Conectarse(); // llamamos a la función que tiene los datos para conectarse

$cod_producto=($_GET['sku']);// Tomamos la variable desde el Link


$sql = " SELECT imagen,producto,nombre,descripcion,sku,precio FROM mip_productos where sku=cod_producto";

// Con la función ‘mysql_query()’ realizamos la consulta en la base de datos

// seleccionada previamente. la consulta que habíamos llamado ‘$sql’

$result = mysql_query($sql);

// Ahora tenemos en ‘$result’ todos los registros de la consulta, ahora debemos mostrarlos uno a uno

echo "$imagen \n";
echo "$nombre \n";
echo "$descripcion \n";
echo "$sku \n";
echo "$precio \n";
?>
  #5 (permalink)  
Antiguo 01/11/2006, 17:42
Avatar de B**
B**
 
Fecha de Ingreso: enero-2006
Ubicación: Monterrey,Mexico
Mensajes: 952
Antigüedad: 18 años, 3 meses
Puntos: 3
Esos errores salen cuando no estas haciendo bien el include, es decir, no tienes los archivos en el directorio que le estas indicando...
__________________
-URL= Go PHP5.
-Age=22.
-Learning=PHP,J2EE,Struts,MAMBO,C++,JSON,AJAX,XHTML ,CSS.
  #6 (permalink)  
Antiguo 01/11/2006, 18:10
 
Fecha de Ingreso: octubre-2006
Ubicación: Valparaiso Chile
Mensajes: 228
Antigüedad: 17 años, 5 meses
Puntos: 0
Sabes que revise el asunto, y no es eso que dices, te esplico porque.

Código archivo consulta_item.php:
Código:
<?php

include('./includes/conexion.php'); // incluimos el archivo con los datos de conexion ‘conexion.php’

// Así llamaremos a la función que tenía los datos para conectarse

$link = Conectarse();

// En una variable tipo STRING escribimos la consulta.

$sql = " SELECT titulo FROM mip_menu ";

// Con la función ‘mysql_query()’ realizamos la consulta que queramos en la base de datos

// seleccionada previamente. Es decir le entramos la consulta que habíamos llamado ‘$sql’

$result = mysql_query($sql);

// Ahora tenemos en ‘$result’ todos los registros de la consulta, ahora debemos mostrarlos uno a uno

while ($row = mysql_fetch_array($result)){
// El while ya deberíamos saber que hace, ‘mysql_fetch_array()’ avanza uno a uno los registros

// Como hemos metido un registro en $row, tendremos que mostrar lo que nos interese en pantalla.
echo "$row[0] \n";
}
?>
Esta consulta es la que me muestra el menu en lado izquierdo de la pantalla,

el link que estoy probando es el siguiente:
Código:
<h5><img src="./images/bullet.gif"></img><a href="/mip/includes/productos.php?sku=2513">Control de Peso</a></h5>
esto esta en el campo titulo de la tabla mip_menu, y viene siendo el segundo link, el que llama a productos.php, si le borro la palabra mip en el link me dice que el archivo no existe en el server. al ponerle la palabra mip me da el error antes comentado. si gustas puedes ver la página para que entiendas un poco mejor mipesoideal punto com slach mip slach

y muchas gracias por las respuestas.
  #7 (permalink)  
Antiguo 01/11/2006, 19:30
Avatar de B**
B**
 
Fecha de Ingreso: enero-2006
Ubicación: Monterrey,Mexico
Mensajes: 952
Antigüedad: 18 años, 3 meses
Puntos: 3
Cita:
Iniciado por claudio_hbl Ver Mensaje
si le borro la palabra mip en el link me dice que el archivo no existe en el server. al ponerle la palabra mip me da el error antes comentado. si gustas puedes ver la página para que entiendas un poco mejor mipesoideal punto com slach mip slach

y muchas gracias por las respuestas.
Cual es "el error antes comentado"??
Y como te digo.. no se trata de quitarle cosas para ver si funciona o no... solo asegurate de que los archivos esten en ese directorio..
__________________
-URL= Go PHP5.
-Age=22.
-Learning=PHP,J2EE,Struts,MAMBO,C++,JSON,AJAX,XHTML ,CSS.
  #8 (permalink)  
Antiguo 02/11/2006, 06:01
 
Fecha de Ingreso: octubre-2006
Ubicación: Valparaiso Chile
Mensajes: 228
Antigüedad: 17 años, 5 meses
Puntos: 0
Sí, los archivos estan en el directorio.

Cita:
Cual es "el error antes comentado"??
Warning: main(./includes/conexion.php) [function.main]: failed to open stream: No such file or directory in /home/spc0701/public_html/mip/includes/productos.php on line 3

Warning: main(./includes/conexion.php) [function.main]: failed to open stream: No such file or directory in /home/spc0701/public_html/mip/includes/productos.php on line 3

Warning: main(./includes/conexion.php) [function.main]: failed to open stream: No such file or directory in /home/spc0701/public_html/mip/includes/productos.php on line 3

Warning: main() [function.include]: Failed opening './includes/conexion.php' for inclusion (include_path='.:/opt/apache/lib/php') in /home/spc0701/public_html/mip/includes/productos.php on line 3

Fatal error: Call to undefined function: conectarse() in /home/spc0701/public_html/mip/includes/productos.php on line 5
  #9 (permalink)  
Antiguo 02/11/2006, 08:10
Avatar de B**
B**
 
Fecha de Ingreso: enero-2006
Ubicación: Monterrey,Mexico
Mensajes: 952
Antigüedad: 18 años, 3 meses
Puntos: 3
Mmm pues eso es lo que dice el error... asegurate de que esten en el servidor en la ruta adecuada.. y checa si los directorios estan en el mismo nivel en el cual le estas indicando ...si no me crees, entra aqui: http://www.mambo.org.mx/index.php?op...d=73&Itemid=18
y ahi hablan de ese warning.
__________________
-URL= Go PHP5.
-Age=22.
-Learning=PHP,J2EE,Struts,MAMBO,C++,JSON,AJAX,XHTML ,CSS.
  #10 (permalink)  
Antiguo 02/11/2006, 09:17
 
Fecha de Ingreso: octubre-2006
Ubicación: Valparaiso Chile
Mensajes: 228
Antigüedad: 17 años, 5 meses
Puntos: 0
No es que no te crea, como se te ocurre algo así, tu de buena voluntad estas tratando de ayudarme, ¡y no te voy a creer!, lo que pasa es que no entiendo que pasa.

Mira en este momento voy a entrar en el ftp y te voy a dar la ruta que voy siguiendo, ya!

public_html
/mip
/css
estilo_web.css
/images
/includes
conexion.php
consulta_item.php
informacion.php
producto_ofrecido.php
productos.php
contenido.php
footer.php
header.php
index.php
menu.php

así es el arbol. y muchas gracias.
  #11 (permalink)  
Antiguo 02/11/2006, 19:05
Avatar de B**
B**
 
Fecha de Ingreso: enero-2006
Ubicación: Monterrey,Mexico
Mensajes: 952
Antigüedad: 18 años, 3 meses
Puntos: 3
Modifica el include en "productos.php" a esto:
Código PHP:
include('conexion.php'); //le quite el "includes", ya que no hace falta porq est en en el mismo directorio 
Prueba eso y nos cuentas...
__________________
-URL= Go PHP5.
-Age=22.
-Learning=PHP,J2EE,Struts,MAMBO,C++,JSON,AJAX,XHTML ,CSS.
  #12 (permalink)  
Antiguo 03/11/2006, 10:45
 
Fecha de Ingreso: octubre-2006
Ubicación: Valparaiso Chile
Mensajes: 228
Antigüedad: 17 años, 5 meses
Puntos: 0
Muchisimas gracias, ese era el problema, y gracias a tu voluntad quedó solucionado, no podía entender eso de los directorios, ahora me ordene un poco mejor.
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 14:15.