Foros del Web » Programando para Internet » PHP »

ID correspondiente en Link

Estas en el tema de ID correspondiente en Link en el foro de PHP en Foros del Web. En este codigolo que tengo es un Thumb guardado en la BD el cual lo uso como link a otra pagina donde quiero mostrar la ...
  #1 (permalink)  
Antiguo 23/05/2007, 11:55
Avatar de Carsan  
Fecha de Ingreso: abril-2007
Ubicación: Mexico
Mensajes: 109
Antigüedad: 17 años, 7 meses
Puntos: 0
ID correspondiente en Link

En este codigolo que tengo es un Thumb guardado en la BD el cual lo uso como link a otra pagina donde quiero mostrar la Foto Original mas grande.
En este momento lo puedo hacerlo pero me muestra todas las fotos yo solo quiero la que corresponde thumb.
¿como tendría que ser el query en la otra pagina para que solo me muestre la foto y los datos correspondientes a este id?.
Espero haberme explicado bien. Gracias

Código PHP:
<td width="33%" rowspan="8"><a href="detalle_todos.php"><img src="download.php?id=<?=$id;?>" border="0"><?=$thumb;?></a> <br></td>
  #2 (permalink)  
Antiguo 23/05/2007, 12:10
Avatar de quinqui  
Fecha de Ingreso: agosto-2004
Ubicación: Chile!
Mensajes: 776
Antigüedad: 20 años, 3 meses
Puntos: 56
Re: ID correspondiente en Link

holas Carsan

creo que es muy simple, sólo agrega una condicion a la misma consulta. por ejemplo:

si la consulta original es:
Código:
select * from imagenes
la consulta especifica seria :
Código:
select * from imagenes where id = $id
espero que sea eso. suerte :D

PD: por cierto, esto más parece tema para Mysql que para PHP ^^
__________________
pipus.... vieeeeeji plomius!!!
*quinqui site*
  #3 (permalink)  
Antiguo 23/05/2007, 12:17
Avatar de goc00  
Fecha de Ingreso: enero-2002
Ubicación: 000's DiMensiOn
Mensajes: 979
Antigüedad: 22 años, 10 meses
Puntos: 3
Re: ID correspondiente en Link

Problema de MySQL y NO de PHP amigo mío!

La consulta debe quedar como:

// pensando en un id numérico
$consulta = "SELECT * FROM nombre_de_tabla WHERE id = ".$id;

// pensando en un id de tipo "texto" (varchar)
$consulta = "SELECT * FROM nombre_de_tabla WHERE id = '".$id."'";

Luego como deberás saber, harás algo como:

Código PHP:
$resultado mysql_query_db($consulta);
while (
$row mysql_fetch_array($resultado)) {
  
$elID $row["id"];

y se lo pasas a la cadena del link, eso sería todo.
__________________
GOC00 CominG soOn v2.0
CyA! & GooD LuCK...
  #4 (permalink)  
Antiguo 23/05/2007, 14:01
Avatar de Carsan  
Fecha de Ingreso: abril-2007
Ubicación: Mexico
Mensajes: 109
Antigüedad: 17 años, 7 meses
Puntos: 0
Re: ID correspondiente en Link

Gracias amigos por si ayuda. Tienen razon es mas tema de SQL que de php es la costunbre de siempre preguntar por aqui.
Con respecto a los datos que me dieron los estuve probando y algo pasa que no me funciona, les muestro el codigo para ver si uds ven algo mal.
Muchas gracias
Código PHP:
<?php
require_once ("config2.php") ;
$db=mysql_select_db("dbequipelsol",$conn)
or die (
"Error seleccionando la base de datos");

$query "SELECT * FROM equipos WHERE id ='$id'";
$result mysql_query($query) or die('Error, query failed');

while(
$rowmysql_fetch_array($result)){
echo 
"$row[id]";
}
?>
Probé la condicion de varias formas pero nimguna me da resultado ejemplo:
Código PHP:
WHERE id =".$id; WHERE id ="$id"";  "SELECT * FROM equipos WHERE id =$id"
Por otra parte, no habria que hacer primero tambien un $id= $_POST['id'] o algo asi, y digo o algo asi por que ya probé tambien con esoponiendo esto antes del query.

Última edición por Carsan; 23/05/2007 a las 14:20 Razón: agrego consulta
  #5 (permalink)  
Antiguo 23/05/2007, 15:47
Avatar de goc00  
Fecha de Ingreso: enero-2002
Ubicación: 000's DiMensiOn
Mensajes: 979
Antigüedad: 22 años, 10 meses
Puntos: 3
Re: ID correspondiente en Link

No veo por ningún lado el objeto de conexión, prueba con esto:

Código PHP:
<?php
    $dominio 
"localhost";
    
$usuario "nombre_usuario"// con el que accesas a MySQL
    
$password "tu_contraseña"// la contraseña :P
    
$bd "nombre_de_la_base_de_datos"// eso mismo, el nombre de la base de datos
    
    
$conexion mysql_connect($dominio,$usuario,$password) OR DIE ("ERROR EN LA CONEXIÓN");
    
mysql_select_db($bd);
    
    
// si el campo id es varchar, si es numérico debe ir sin comillas simples
    
$query "SELECT * FROM equipos WHERE id ='".$id."'";

    
$resultado mysql_query_db($query);

    while(
$row mysql_fetch_array($resultado)){
        echo 
$row["id"];
    }
?>
__________________
GOC00 CominG soOn v2.0
CyA! & GooD LuCK...
  #6 (permalink)  
Antiguo 23/05/2007, 20:11
Avatar de Carsan  
Fecha de Ingreso: abril-2007
Ubicación: Mexico
Mensajes: 109
Antigüedad: 17 años, 7 meses
Puntos: 0
Re: ID correspondiente en Link

Probé lo que me mandaste y no me anda. no se que será lo que hago mal.
La conexión a la BD estaba en el "require_once ("config2.php");". el error que me da es constantemente en el Query.
Una cosa mas, el id es una autoincrement, por lo tanto numérico.
Como te dije anteriormente yo logro que me funcione, pero me muestra todo, solo quiero que me muestre uno, la que corresponde a la miniatura.
Te muestro el codigo con el que me funciona todo por si le ves que se puede hacer, tiene que ser una simplesa en la condicion, pero no se qué.
Código PHP:
<body>


<?
$connection
=mysql_connect("localhost","root","")
or die(
"Error conectando a la base de datos");
$db=mysql_select_db("dbequipelsol",$connection)
or die (
"Error seleccionando la base de datos");

$query "SELECT * FROM equipos"
$result mysql_query($query) or die('Error, query failed');

if(
mysql_num_rows($result) == 0)
{
    echo 
"Database is empty <br>";

else
{
    while(list(
$id$sub_categoria$nombre$marca$modelo$n_serie$precio$descripcion) = mysql_fetch_array($result))
    {
?>
    <table width="700"  bordercolor="#000000"border="1" cellspacing="0">
      <tr>
        <td><table bgcolor="#003366" width="700" border="0" cellspacing="0" cellpadding="5">
  <tr>
    <td colspan="3"><table width="700" border="2" bordercolor="#003399">
  <tr>
    <td><div align="center">
      <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="429" height="192" title="cab_swf">
        <param name="movie" value="../SWF/cabecera.swf">
        <param name="quality" value="high">
        <embed src="../SWF/cabecera.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="429" height="192"></embed>
      </object>
    </div></td>
  </tr>
</table></td>
    </tr>
  <tr>
    <td width="30%"><span class="Estilo23">SUBCATEGORIA:</span></td>
    <td width="1%">&nbsp;</td>
    <td width="69%"><span class="Estilo27"><?php echo "$sub_categoria";?></span></td>
    </tr>
  <tr>
    <td><span class="Estilo23">NOMBRE:</span></td>
    <td>&nbsp;</td>
    <td><span class="Estilo27"><?php echo "$nombre";?></span></td>
  </tr>
  <tr>
    <td><span class="Estilo23">MARCA:</span></td>
    <td>&nbsp;</td>
    <td><span class="Estilo27"><?php echo "$marca";?></span></td>
  </tr>
  <tr>
    <td><span class="Estilo23">MODELO:</span></td>
    <td>&nbsp;</td>
    <td><span class="Estilo27"><?php echo "$modelo";?></span></td>
  </tr>
  <tr>
    <td><span class="Estilo23">N&ordm; SERIE: </span></td>
    <td>&nbsp;</td>
    <td><span class="Estilo27"><?php echo "$n_serie";?></span></td>
  </tr>
  <tr>
    <td><span class="Estilo23">PRECIO:</span></td>
    <td>&nbsp;</td>
    <td><span class="Estilo27"><?php echo "$precio";?></span></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td rowspan="3"><span class="Estilo27"><?php echo "$descripcion";?></span></td>
  </tr>
  <tr>
    <td><span class="Estilo23">DESCIPCION:</span></td>
    <td>&nbsp;</td>
    </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td colspan="3"><div align="center" class="Estilo25"><img src="download_img.php?id=<?=$id;?>"><?=$thumb;?></div></td>
    </tr>
</table></td>
      </tr>
    </table><br>
<?    }
}
?>
</body>
  #7 (permalink)  
Antiguo 24/05/2007, 15:18
Avatar de goc00  
Fecha de Ingreso: enero-2002
Ubicación: 000's DiMensiOn
Mensajes: 979
Antigüedad: 22 años, 10 meses
Puntos: 3
Re: ID correspondiente en Link

Cita:
Iniciado por Carsan Ver Mensaje
Código PHP:
<body>


<?
$connection
=mysql_connect("localhost","root","")
or die(
"Error conectando a la base de datos");
$db=mysql_select_db("dbequipelsol",$connection)
or die (
"Error seleccionando la base de datos");

$query "SELECT * FROM equipos"
$result mysql_query($query) or die('Error, query failed');

if(
mysql_num_rows($result) == 0)
{
    echo 
"Database is empty <br>";

else
{
    while(list(
$id$sub_categoria$nombre$marca$modelo$n_serie$precio$descripcion) = mysql_fetch_array($result))
    {
?>
    <table width="700"  bordercolor="#000000"border="1" cellspacing="0">
      <tr>
        <td><table bgcolor="#003366" width="700" border="0" cellspacing="0" cellpadding="5">
  <tr>
    <td colspan="3"><table width="700" border="2" bordercolor="#003399">
  <tr>
    <td><div align="center">
      <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="429" height="192" title="cab_swf">
        <param name="movie" value="../SWF/cabecera.swf">
        <param name="quality" value="high">
        <embed src="../SWF/cabecera.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="429" height="192"></embed>
      </object>
    </div></td>
  </tr>
</table></td>
    </tr>
  <tr>
    <td width="30%"><span class="Estilo23">SUBCATEGORIA:</span></td>
    <td width="1%">&nbsp;</td>
    <td width="69%"><span class="Estilo27"><?php echo "$sub_categoria";?></span></td>
    </tr>
  <tr>
    <td><span class="Estilo23">NOMBRE:</span></td>
    <td>&nbsp;</td>
    <td><span class="Estilo27"><?php echo "$nombre";?></span></td>
  </tr>
  <tr>
    <td><span class="Estilo23">MARCA:</span></td>
    <td>&nbsp;</td>
    <td><span class="Estilo27"><?php echo "$marca";?></span></td>
  </tr>
  <tr>
    <td><span class="Estilo23">MODELO:</span></td>
    <td>&nbsp;</td>
    <td><span class="Estilo27"><?php echo "$modelo";?></span></td>
  </tr>
  <tr>
    <td><span class="Estilo23">N&ordm; SERIE: </span></td>
    <td>&nbsp;</td>
    <td><span class="Estilo27"><?php echo "$n_serie";?></span></td>
  </tr>
  <tr>
    <td><span class="Estilo23">PRECIO:</span></td>
    <td>&nbsp;</td>
    <td><span class="Estilo27"><?php echo "$precio";?></span></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td rowspan="3"><span class="Estilo27"><?php echo "$descripcion";?></span></td>
  </tr>
  <tr>
    <td><span class="Estilo23">DESCIPCION:</span></td>
    <td>&nbsp;</td>
    </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td colspan="3"><div align="center" class="Estilo25"><img src="download_img.php?id=<?=$id;?>"><?=$thumb;?></div></td>
    </tr>
</table></td>
      </tr>
    </table><br>
<?    }
}
?>
</body>
Estimado, si ese es el código exacto que tienes, obviamente te mostrará TODO porque en la consulta tienes:

$query = "SELECT * FROM equipos";

Como verás no hay ninguna condición, debería quedar:

$query = "SELECT * FROM equipos WHERE id = ".$id;

P.D.: ¿De dónde proviene $id?, creo que el error no va en programación sino en el planteamiento del problema. Estás utilizando una variable que quieres recuperar con la variable misma, algo así como un círculo sin sentido.

Te digo esto porque me llama la atención lo de:
<img src="download_img.php?id=<?=$id;?>">

Y según tus líneas de programación, ese $id lo estás extrayendo de los registros de la tabla , ¿se entiende lo que denomino "círculo sin sentido"?.
__________________
GOC00 CominG soOn v2.0
CyA! & GooD LuCK...
  #8 (permalink)  
Antiguo 28/05/2007, 22:41
Avatar de quinqui  
Fecha de Ingreso: agosto-2004
Ubicación: Chile!
Mensajes: 776
Antigüedad: 20 años, 3 meses
Puntos: 56
Re: ID correspondiente en Link

Al parecer lo único que le faltaría para obtener el valor de $id sería recibirlo a través del método POST o GET, que es lo que se entendió por el primer post, cuando Carsan dice que desde una página con las imágenes en Thumbs llama a la que muestra la imagen en tamaño real...

O sea, añadir al código dado:
Código PHP:
<body> 


<? 
$id 
$_GET["id"];

$connection=mysql_connect("localhost","root",""
or die(
"Error conectando a la base de datos"); 
$db=mysql_select_db("dbequipelsol",$connection
or die (
"Error seleccionando la base de datos"); 

$query "SELECT * FROM equipos where id = $id";  
$result mysql_query($query) or die('Error, query failed'); 

if(
mysql_num_rows($result) == 0

    echo 
"Database is empty <br>"
}  
else 

    while(list(
$id$sub_categoria$nombre$marca$modelo$n_serie$precio$descripcion) = mysql_fetch_array($result)) 
    {
?> 
.
.
.
__________________
pipus.... vieeeeeji plomius!!!
*quinqui site*
  #9 (permalink)  
Antiguo 29/05/2007, 11:29
Avatar de Carsan  
Fecha de Ingreso: abril-2007
Ubicación: Mexico
Mensajes: 109
Antigüedad: 17 años, 7 meses
Puntos: 0
Re: ID correspondiente en Link

Probé Quinqui con esto, pero lamentablemente me sigue dando error en el query.
  #10 (permalink)  
Antiguo 29/05/2007, 12:00
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Re: ID correspondiente en Link

Prueba imprimiendo el error:
Código PHP:
$result mysql_query($query) or die('Error, query failed: ' mysql_error()); 
  #11 (permalink)  
Antiguo 29/05/2007, 13:51
Avatar de Carsan  
Fecha de Ingreso: abril-2007
Ubicación: Mexico
Mensajes: 109
Antigüedad: 17 años, 7 meses
Puntos: 0
Re: ID correspondiente en Link

me da el siguiente error.

Error, query failed: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

<?php
$id = $_GET["id"];
require_once ("config.php");

$query = "SELECT * FROM equipos where id = $id";
$result = mysql_query($query) or die('Error, query failed: ' . mysql_error());
if(mysql_num_rows($result) == 0)
{
echo "Database is empty <br>";
}
else
{
while(list($id, $sub_categoria, $nombre, $marca, $modelo, $n_serie, $precio, $descripcion) = mysql_fetch_array($result))
{?>

Última edición por Carsan; 29/05/2007 a las 13:53 Razón: agrego
  #12 (permalink)  
Antiguo 29/05/2007, 14:20
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Re: ID correspondiente en Link

Prueba asi:
Código PHP:
$result mysql_query($query) or die('Error, query failed: ' mysql_error() . ' Query: ' $query); 
  #13 (permalink)  
Antiguo 29/05/2007, 18:18
Avatar de Carsan  
Fecha de Ingreso: abril-2007
Ubicación: Mexico
Mensajes: 109
Antigüedad: 17 años, 7 meses
Puntos: 0
Re: ID correspondiente en Link

me lo siguiente:

Error, query failed: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 Query: SELECT * FROM equipos WHERE id =
  #14 (permalink)  
Antiguo 29/05/2007, 19:40
Avatar de goc00  
Fecha de Ingreso: enero-2002
Ubicación: 000's DiMensiOn
Mensajes: 979
Antigüedad: 22 años, 10 meses
Puntos: 3
Re: ID correspondiente en Link

Ahí está el problema estimado, la variable $id está sin ningún valor, fíjate como está quedando la cadena:

SELECT * FROM equipos WHERE id =

Obviamente le falta el valor de comparación (que supuestamente lo está aportando la variable $id). En resumen el problema está acá:

$id = $_GET["id"];

Si estás pasándolo por $_GET["id"]; me imagino (más común) que la variable la estás pasando por URL. ¿De qué forma estás trayendo el valor de dicha variable?
__________________
GOC00 CominG soOn v2.0
CyA! & GooD LuCK...
  #15 (permalink)  
Antiguo 29/05/2007, 21:52
Avatar de Carsan  
Fecha de Ingreso: abril-2007
Ubicación: Mexico
Mensajes: 109
Antigüedad: 17 años, 7 meses
Puntos: 0
Re: ID correspondiente en Link

Desde esta pagina donde me muestra la foto en miniatura que a su vez es el link a mostrar la foto grande, hago el llamado de la siguiente manera.
Pagina muestra_todo. php (tiene las fotos en miniatura)
Código PHP:
<?
require_once ("config.php") ;

$query "SELECT * FROM equipos"
$result mysql_query($query) or die('Error, query failed');

if(
mysql_num_rows($result) == 0)
{
    echo 
"Database is empty <br>";

else
{
    while(list(
$id$sub_categoria$nombre$marca$modelo$n_serie$precio$descripcion) = mysql_fetch_array($result))
    {
?>
    <table  bgcolor="#CCCCCC" width="700" border="1" cellspacing="-1"  bordercolor="#666666" cellpadding="3">
      <tr>
        <td><table bgcolor="#CCCCCC" width="700" border="0" cellspacing="0">
  <tr>
    <td width="18%"><span class="Estilo12">SUBCATEGORIA:</span></td>
    <td width="2%" rowspan="8">&nbsp;</td>
    <td width="47%"><span class="Estilo15"><?php echo "$sub_categoria";?></span></td>
    <td width="33%" rowspan="8"><a href="detalle_todos.php"><img src="download.php?id=<? =$id;?>" border="0"><? =$thumb;?></a> <br></td>
La pagina que me prosesa este pedido es detalle_todos.php (con la cual quiero que solo me muestre la foto grande que corresponde a la miniatura y me repita la informacion que está como texto):
Código PHP:
<?php
$id 
$_GET["id"]; 
require_once (
"config.php");

$query "SELECT * FROM equipos WHERE id = $id";
$result mysql_query($query) or die('Error, query failed: ' mysql_error() . ' Query: ' $query);  
if(
mysql_num_rows($result) == 0)
{
    echo 
"Database is empty <br>";

else
{
    while(list(
$id$sub_categoria$nombre$marca$modelo$n_serie$precio$descripcion) = mysql_fetch_array($result))
    {
?></table></td>
    </tr>
  <tr>
    <td><div align="center"><span class="Estilo25"><img src="download_img.php?id=<? =$id;?>"><? =$thumb;?></span></div></td>
    </tr>
    <tr>
    <td><hr width=80%><div align="center" class="Estilo25"><span class="Estilo35">SUBCATEGORIA:<span class="Estilo33"><?php echo "$sub_categoria";?></span> /NOMBRE:<span class="Estilo33"><?php echo "$nombre";?></span> /MARCA:<span class="Estilo33"><?php echo "$marca";?> </span>/</span> <span class="Estilo35">MODELO:<span class="Estilo33"><?php echo "$modelo";?></span> /N&ordm; SERIE:<span class="Estilo33"><?php echo "$n_serie";?></span> / PRECIO:<span class="Estilo33"><?php echo "$precio";?></span></span></div></td>
    </tr>
</table></td>
      </tr>
    </table><br>
<?php   }
}
?>
Yo pense que el procedimiento era el siguiente: la pagina detalle_todos.php toma la id de muestra_todos.php y que con esta como condicion formula los llamados a la BD.
Como seria sino??

Última edición por Carsan; 29/05/2007 a las 22:01 Razón: corregir
  #16 (permalink)  
Antiguo 31/05/2007, 23:16
Avatar de quinqui  
Fecha de Ingreso: agosto-2004
Ubicación: Chile!
Mensajes: 776
Antigüedad: 20 años, 3 meses
Puntos: 56
Re: ID correspondiente en Link

Oohhhh!! Ahí está el error O_O! Mira tu código:

Código HTML:
 <td width="33%" rowspan="8"><a href="detalle_todos.php"><img src="download.php?id=<? =$id;?>" border="0"><? =$thumb;?></a> <br></td> 
cuando debiera ser:

Código HTML:
 <td width="33%" rowspan="8"><a href="detalle_todos.php?id=<? =$id;?>"><img src="download.php?id=<? =$id;?>" border="0"><? =$thumb;?></a> <br></td> 
como puedes ver, habías olvidado dar la referencia al id en el enlace :). por eso el detalle_todos.php no recibe nada en $id, porque simplemente no se lo estabas enviando ^_^.
__________________
pipus.... vieeeeeji plomius!!!
*quinqui site*
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:42.