envio de parametros deuna pagina a otra

Juan
23 de Junio del 2004
Tengo la siguiente tabla articulos(nombre, desrcipcion 1, descripcion 2 , imagen, etc)

hago una consulta plana por el campo nombre y me lista todos los registros con ese nombre el codigo es el siguiente:

<html>
<head>
<title>Consultar</title>
</head>
<body>
<center><b>Consulta de Articulos</b><br></center>
<?php

include("config.php");
$consulta=mysql_query("select nomb from articulos",$conectar);
?>
<center>
<table width="400" border="2" cellpadding="2" cellspacing="2" bordercolor="#FF9933">
<tr>
<th width="122" scope="col">Item</th>
<th width="266" scope="col">Descripcion</th>
</tr>
<?php
$i=1;
while ($row=mysql_fetch_array($consulta))
{
echo '<tr><td>'.$i.'</td>';
echo '<td>'.$row["nomb"].'</td></tr>';
$i++;
}
mysql_close($conectar);
?>
</table>
</center>
</body>
</html>

pero lo que yo quiero es que cuando me de click e un articulo cualquiera me mande a otra pagina(cual seria el cigo o algo aproximado) y me muestre el resto de sus campos de ese articulo como descripcion1, descripcion 2, precio, imagen , etc

Creo que se pone el famoso <a href .... pero como lo hago.......

Cualquier cosa enviar a este foro o al correo.

Gracias


kloss
23 de Junio del 2004
Tienes que mandar los parámetros por medio de la barra de dirección. Es muy fácil
El formato de los parámetros enviados por barra de direcciónes es el siguiente:

http://servidor/pagina.php?variable1=4&variable2=pepe&variable3=.........

Por eso una solución al problema sería modificar la primera de las líneas en el bucle poniendo:

echo "<tr><td><a href="otrapagina.php?articulo=".$row['nomb']."">".$i."</td>";

Así, al pinchar sobre el número del producto, te llevaría a la otra página, donde podrías recoger el valor por GET

$nom_art = $_GET['articulo'];

(O, en caso de tener las register_globals activadas, contarías directamente con una variable llamada $articulo con el valor correspondiente).

De todos modos te recomiendo que asignes una clave única (autoincremental?) a cada producto para poder identificarlos unequívocamente. Porque, que pasaría si por cualquier motivo hay dos productos que se llaman igual???

Venga, para cualquier cosa andaré por aquí. Un saludo

Juan
23 de Junio del 2004
Este problema ya lo solucione, pero como tu me decias que luego en otra pagina reciba el parametro con _get me lo hace correctamente ahora en esta pagina quiero que me liste el resto de campos. te nevio el codigo...
<?php
include("config.php");
$nom_articulo=$_GET['articulo'];

$consulta=mysql_query("select nomb,des1,des2 ........from articulos where

nomb=$nom_articulo",$conectar);

echo "<table align=center border=2>";
while ($registro = mysql_fetch_row($consulta))
{
echo "<tr>";
foreach($registro as $clave)
{
echo "<td>",$clave,"</td>";
}
}
echo "</table>";
mysql_close($conectar);/
?>
me parece que es cuention de clausula del WHERE o que podra ser????

Gracias

kloss
23 de Junio del 2004
Pos eso, lo que dice Andrés es la causa probable.
Además sería interesante ke hicieses que se mostrasen en pantalla los errores cuando se produzcan, bien sea con la cláusula 'on die' o simplemente mostrando el valor devuelto por mysql_error();
Ej:
$consulta = mysql_query(".......
echo mysql_error();

Así te será mucho más sencillo comprobar donde existe el error en la consulta sql.

Un saludo

Andr?Gaviria
23 de Junio del 2004
que tal si pones la variable nom_articulo dentro de comillas sencillas?
<?php
include("config.php");
$nom_articulo=$_GET['articulo'];

$consulta=mysql_query("select nomb,des1,des2 ........from articulos where

nomb='$nom_articulo' ",$conectar);

echo "<table align=center border=2>";
while ($registro = mysql_fetch_row($consulta))
{
echo "<tr>";
foreach($registro as $clave)
{
echo "<td>",$clave,"</td>";
}
}
echo "</table>";
mysql_close($conectar);/
?>