Foros del Web » Programando para Internet » PHP »

link consulta php

Estas en el tema de link consulta php en el foro de PHP en Foros del Web. Hola a todos. Tengo una base de datos mysql sobre la que hago una consulta con php, y obtengo una lista de nombres. Lo que ...
  #1 (permalink)  
Antiguo 08/02/2004, 07:06
 
Fecha de Ingreso: febrero-2004
Ubicación: Asturias
Mensajes: 171
Antigüedad: 20 años, 2 meses
Puntos: 0
link consulta php

Hola a todos.

Tengo una base de datos mysql sobre la que hago una consulta con php, y obtengo una lista de nombres. Lo que quiero es linkear cada nombre que obtengo de la consulta para que al hacer ckick en ellos aparezca otra pagina con más datos sobre el registro que pinche.

Saludos a todos.
  #2 (permalink)  
Antiguo 09/02/2004, 05:20
Avatar de puchitol  
Fecha de Ingreso: diciembre-2003
Ubicación: ELCHE
Mensajes: 322
Antigüedad: 20 años, 4 meses
Puntos: 0
Hola,
puedes hacer un par de cosas:

1. creas el link donde indicas la URL de la pagina a donde se dirige el enlace del siguiente modo:

<a href="pagina.php?idnombre=x">Nombre</a>

donde idnombre es el identificador que tenga cada uno de esos nombres en la tabla que consultas.
y en la siguiente pagina: pagina.php, haces otra consulta con ese idnombre a la tabla donde aparezcan los datos de esos nombres y los muestras por pantalla.

2. creas el mismo link que antes, pero añadiendo en la URL los datos del nombre seleccionado. Para ello, necesitas tener esos datos que quieres mostrar en la pagina actual y meterlos en la URL asi, mas o menos: ?idnombre=x&dato1=y&dato2=z...

3. Otra opcion, derivada de la 2, seria obtener todos los datos del nombre en la pagina actual y pasarlos a la siguiente medinate variables de sesion.

Yo te recomiendo la primera opcion, ya que considero que es la mas clara y facil de hacer, ademas con las otras dos, deberias ejecutar otra consulta en la pagina actual sobre un nombre que pinchas en el enlace, por lo que hasta ese momento no sabes que nombre se ha elegido y seria mas complicado de implementar.

espero haberte ayudado, si tienes dudas sobre lo que te he contado, no dudes en escribir otra vez.

un saludo.
__________________
If you think fuck is funny, fuck yourself and save your money,
espero que entendais la moraleja... je, je, je
  #3 (permalink)  
Antiguo 09/02/2004, 07:15
 
Fecha de Ingreso: febrero-2004
Ubicación: Asturias
Mensajes: 171
Antigüedad: 20 años, 2 meses
Puntos: 0
Buenas otra vez:

tengo esto:
<body>
<table border="1">
<tr>
<td>Especie</td>
</tr>
<?php do { ?>
<tr>
<td><?php echo $row_Recordset1['Especie']; ?></td>
</tr>
<?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?>
</table>
</body>

intento poner lo que me pusiste antes pero me da error. ¿donde tengo que escribir lo del link?

Gracias por la ayuda
  #4 (permalink)  
Antiguo 09/02/2004, 08:40
Avatar de puchitol  
Fecha de Ingreso: diciembre-2003
Ubicación: ELCHE
Mensajes: 322
Antigüedad: 20 años, 4 meses
Puntos: 0
Vamos por partes...

Esa informacion que quieres mostrar al pinchar en el enlace del nombre, esta en la misma tabla de donde obtienes el nombre o esta en otra tabla?

mi recomendacion es esta

Código PHP:
// ya se ha ejecutado la consulta de obtencion de datos

<table border=1>
<tr><td><Especie</td></tr>
<?
// se recorren todos los datos de la consulta
while( $row_Recordset1 mysql_fetcha_array($Recordset1) )
{
  echo 
"<tr>";
  echo 
"<td><a href=\"nuevaPagina.php?idEspecie=".$row_Recordset1['idEspecie']."\">"
  
echo $row_Recordset1['Especie']."</a></td>";
  echo 
"</tr>"
}
?>
Donde $row_Recordset1['idEspecie'] hace referencia al identificador de clave primaria que utilices en tu tabla para identificar a las Especies. De esta forma, tendrias un enlace (uno por fila de la tabla) que te llevaria a nuevaPagina.php con el id de la especie del enlace seleccionado.
Asi, en la nuevaPagina.php se recogeria el idEspecie con $_GET['idEspecie'] y partir de aqui podrias mostrar los datos que quieras de la especie, ya sea a traves de otra consulta a la BD o como tengas implementada la aplicación. No hace falta decir que esa nuevaPagina.php la debes definir tu (y ponerle el nombre que quieras,ok?)

espero haber sido mas claro, ahora... Si sigues con dudas, ya sabes... pregunta.

un saludo.
__________________
If you think fuck is funny, fuck yourself and save your money,
espero que entendais la moraleja... je, je, je
  #5 (permalink)  
Antiguo 09/02/2004, 08:48
Avatar de puchitol  
Fecha de Ingreso: diciembre-2003
Ubicación: ELCHE
Mensajes: 322
Antigüedad: 20 años, 4 meses
Puntos: 0
hola otra vez,

este codigo lo he puesto deprisa y corriendo, te aconsejo que verifiques bien la sintaxis, por ejemplo veo que me he dajado un ; al final del echo en que se imprime el enlace: echo "<td><a ...</a></td>";

tambien se me ha olvidado cerra el tag </table> despues de cerra el while y despues de ?>

Por eso te digo que si decides escribir este codigo revisa la sintaxis.

un saludo, otra vez
__________________
If you think fuck is funny, fuck yourself and save your money,
espero que entendais la moraleja... je, je, je
  #6 (permalink)  
Antiguo 09/02/2004, 09:41
 
Fecha de Ingreso: febrero-2004
Ubicación: Asturias
Mensajes: 171
Antigüedad: 20 años, 2 meses
Puntos: 0
Hola. Puse detras de while lo que me escribiste, pero no aparecen los links. La informacion que quiero mostrar estaría en otra tabla en la pagina nueva, simplemente es mostrar unas caracteristicas de la especie que pinchas. El codigo que tengo es:

<body>
<table border="1">
<tr>
<td>Especie</td>
</tr>
<?php do { ?>
<tr>
<td><?php echo $row_Recordset1['Especie']; ?></td>
</tr>
<?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1));
{
echo "<tr>";
echo "<td><a href=\"nuevaPagina.php?idEspecie=".$row_Recordset1['idEspecie']."\">";
echo $row_Recordset1['Especie']."</a></td>";
echo "</tr>";
}
?>



</table>
</body>

y solo sale la tabla con los nombres, sin la posibilidad de links

Perdona las molestias
  #7 (permalink)  
Antiguo 10/02/2004, 03:37
Avatar de puchitol  
Fecha de Ingreso: diciembre-2003
Ubicación: ELCHE
Mensajes: 322
Antigüedad: 20 años, 4 meses
Puntos: 0
hola,
vamos a ver...

el link debes "pintarlo" dentro del bucle while, de esa manera cada especie tendra su link a la pagina siguiente con su idEspecie. Segun veo en tu codigo has puesto el link fuera del bucle, y asi solo te mostrara un link... entiendes?

venga un saludo y suerte
__________________
If you think fuck is funny, fuck yourself and save your money,
espero que entendais la moraleja... je, je, je
  #8 (permalink)  
Antiguo 10/02/2004, 04:36
 
Fecha de Ingreso: febrero-2004
Ubicación: Asturias
Mensajes: 171
Antigüedad: 20 años, 2 meses
Puntos: 0
hola.
Creo que no te entiendo. a que te refieres con pintar el link dentro del bucle? creo que lo tengo como me escribiste en el primer mensaje, dentro de las { del while.
Estoy muyyy perdido. No me sale ningún link, ni uno.

Gracias por tu paciencia
  #9 (permalink)  
Antiguo 10/02/2004, 05:05
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

El codigo que el te dio es usando un bucle while. Sim embargo, tu usas un bucle do..while, cuya sintaxis es distinta. Fijate la diferencia en el manual www.php.net/do.while y www.php.net/while .

Lo que te queria decir puchitol es que metas el echo "<a... dentro de tu bucle (donde sacas ahora solo el nombre).

Suerte.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #10 (permalink)  
Antiguo 10/02/2004, 05:28
Avatar de puchitol  
Fecha de Ingreso: diciembre-2003
Ubicación: ELCHE
Mensajes: 322
Antigüedad: 20 años, 4 meses
Puntos: 0
Hola, otra vez,
parece ser que no me he explicado muy bien (gracias josemi por la aclaracion).

Exactamente, como dice josemi, tu utilizas un do..while y yo te he puesto un while {...}. Si quieres seguir utilizando el do while, solo tienes que mover la linea donde aparece el echo <a... dentro de ese bloque do...while. De todos modos yo te recomendaria que utilizaras el while (a secas), aunque no se exactamente si tu do while lo utilizas para algo en especial...

Y lo de "pintar" el enlace, queria decir que colocaras esa linea echo <a ... dentro del bloque del do while (o while a secas).

Bueno, espero que ahora si que me haya explicado bien...

un saludo paisanos.
__________________
If you think fuck is funny, fuck yourself and save your money,
espero que entendais la moraleja... je, je, je
  #11 (permalink)  
Antiguo 10/02/2004, 06:40
 
Fecha de Ingreso: febrero-2004
Ubicación: Asturias
Mensajes: 171
Antigüedad: 20 años, 2 meses
Puntos: 0
Ya sale. Muchas gracias por la ayuda. Supongo que mas adelante tendre otras dudas. Ya os contare

GRACIAAAS
  #12 (permalink)  
Antiguo 22/08/2010, 12:12
 
Fecha de Ingreso: febrero-2010
Mensajes: 77
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: link consulta php

Cita:
Iniciado por puchitol Ver Mensaje
Hola, otra vez,
parece ser que no me he explicado muy bien (gracias josemi por la aclaracion).

Exactamente, como dice josemi, tu utilizas un do..while y yo te he puesto un while {...}. Si quieres seguir utilizando el do while, solo tienes que mover la linea donde aparece el echo <a... dentro de ese bloque do...while. De todos modos yo te recomendaria que utilizaras el while (a secas), aunque no se exactamente si tu do while lo utilizas para algo en especial...

Y lo de "pintar" el enlace, queria decir que colocaras esa linea echo <a ... dentro del bloque del do while (o while a secas).

Bueno, espero que ahora si que me haya explicado bien...

un saludo paisanos.
hola yo no puedo hacer como lo pones yo uso esta forma para obtener los datos
<?php
while($row = mysql_fetch_array($result)) {
printf("<tr><td><a href=consultar.php target=I1 >&nbsp;%s</a></td></tr>", $row["nombre"]);

}

mysql_free_result($result);
mysql_close($link);
?>

e tratado de ponerle el ?idnombre= " $row["nombre"]" pero me sale error

me podrias ayudar y como obtengo o llamo ese valor en la otra pagina
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 01:10.