Foros del Web » Programando para Internet » PHP »

Problema simple con php y mysql

Estas en el tema de Problema simple con php y mysql en el foro de PHP en Foros del Web. Bueno, antes de nada saludar a todo el mundo y dar las gracias por adelantado a todos los que haceis posible este foro, llevo ya ...
  #1 (permalink)  
Antiguo 27/03/2011, 18:43
 
Fecha de Ingreso: marzo-2011
Mensajes: 5
Antigüedad: 13 años
Puntos: 1
Problema simple con php y mysql

Bueno, antes de nada saludar a todo el mundo y dar las gracias por adelantado a todos los que haceis posible este foro, llevo ya bastante tiempo leyendo sobre php y varias cosas mas y por fin me decidi a hacer mi propia pagina con php y mysql, llegado a este punto el problema que se me plantea es el siguiente, tengo una base de datos, hago una llamada para listar los campos y quiero que desde esa lista al selecionar el titulo vaya a los campos determinados de ese titulo, el problema esta en que al hacer click en ese titulo me devuelve todos los campos que hay en la tabla, no se si me he explicado bien pero por si acaso dejo el codigo que he usado y de paso el enlace a la página para que lo veais vosotros mismos y me corrijais, hecheis la bronca por cazurro.. y me hecheis un cable porque ando mas perdido que tarzan en la ciudad..



Codigo:

while($row=mysql_fetch_array($result))
{
echo '<tr valign="top" height="40">
<td width="100"></td>
<td class="heading">'.$row["Titulo"].'
</td><td width="100"></td></tr>';
echo '<tr valign="top">
<td width="100"></td>
<td>'.$row["Informacion"].'<br><br><br><br>';
echo '<div align="center">'.$row["Fotos"].'</div>';
echo '<div align="center">'.$row["Links"].'</div>';
echo '<div align="center">'.$row["Firma"].'</div></td>';
}
mysql_free_result($result)
?>

Enlace a la Página y explicación:

http://free760565181.alojamientogratuito.info/listasoft.php

Pinchad en cualquiera de los artículos y ved el resultado de lo que sale, todo junto y yo hecho un lio. Gracias de nuevo por adelantado. Espero poder solucionarlo lo antes posible.

Última edición por sage_lee; 27/03/2011 a las 18:51 Razón: No consigo editar el enlace.
  #2 (permalink)  
Antiguo 27/03/2011, 20:57
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Problema simple con php y mysql

En tu consulta te falta agregar WHERE titulo = 'el titulo del articulo a mostrar'

Cabe mencionar que usar el titulo no es la mejor opcion para identificar un registro en la base de datos, te convendria mas usar un campo entero con la opcion auto_increment y en base a este campo obtener el registro deseado.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 28/03/2011, 05:37
 
Fecha de Ingreso: marzo-2011
Mensajes: 5
Antigüedad: 13 años
Puntos: 1
Respuesta: Problema simple con php y mysql

Y el where iría antes del while o despues? porque ahora mismo no entiendo muy bien donde, de hecho los links de la pagina estan llamados desde una base de datos y no se como hacer para que el codigo detecte el titulo dinamico. ando bastante perdido como ya te habras dado cuenta.. habia pensado en una funcion que buscase el titulo en la base de datos, escogiese la ID de el titulo que se desee y mostrase todos los campos que tengan esa misma ID pero sigo sin saber como hacerlo.
  #4 (permalink)  
Antiguo 28/03/2011, 07:16
 
Fecha de Ingreso: septiembre-2008
Ubicación: Manises,Valencia
Mensajes: 114
Antigüedad: 15 años, 6 meses
Puntos: 13
Respuesta: Problema simple con php y mysql

Hola sage_lee,

la sintaxis seria select campo1,campo2,campo,... from nombre_de_la_tabla where campo_n="contenido que ha de coincidir".

De todas formas busca información acerca de la sintaxis de los argumentos de busqueda y verás que es fácil; y si no te aclaras amplianos la información de como es tu tabla y que resultado buscas.
  #5 (permalink)  
Antiguo 28/03/2011, 07:23
 
Fecha de Ingreso: septiembre-2008
Ubicación: Manises,Valencia
Mensajes: 114
Antigüedad: 15 años, 6 meses
Puntos: 13
Respuesta: Problema simple con php y mysql

hola de nuevo, te lo he explicado a medias:

el wher del que te habla triby y que te he puesto antes va en el argumento de busqueda :select campo1,campo2,campo,... from nombre_de_la_tabla where campo_n="contenido que ha de coincidir"
En realidad la traducción sería algo así como:
selecciona el/los campo/s "campo1", "campo2", ...(el nombre de los campos que quieres mostrar)de la tabla "nombre_de_la_tabla" donde(where) el contenido del campo_n (el que uses cómo criterio) es igual a "contenido"

Por ejemplo, si tienes una tabla llamada "usuarios" con los campos
id_usuario
nombre
apellido
localidad
pais

y pones "select nombre,apellido,localidad from usuarios where pais="España"

el resultado seria nombre, apellido y localidad de todos los usuarios de España.

Si no pones el where te devolvería todos los usuarios.
  #6 (permalink)  
Antiguo 28/03/2011, 12:09
 
Fecha de Ingreso: marzo-2011
Mensajes: 5
Antigüedad: 13 años
Puntos: 1
Respuesta: Problema simple con php y mysql

vale, creo que la sintaxis me ha quedado bastante clara, el problema es que el contenido del where es una variable definida por un link, digamos que tengo una pagina que lista los titulos de los articulos que se describen mediante la tabla, de modo que hace un llamamiento solo al titulo, esa parte la tengo ya hecha, el problema viene cuando al hacer clic en el link me aparecen todos los campos, he intentado declarar despues del where como ".reg['Titulo']" para que dependiendo de si das clic al articulo 1 o al articulo 2 muestre solo los campos de dichos articulos, pero no consigo que funcione. No se si sera por falta de algun dato o por un fallo en la formulacion de la sintaxis en si.. la linea de codigo queda algo asi:

(select * from basededatos where Titulo=".reg['Titulo']")

deberia declarar una variable para el titulo? y si es asi, como lo haria?

habia pensado en algo asi
$Tit = .reg['Titulo']

Pero la verdad es que me parece un poco absurdo ya que seguiria siendo lo mismo no? bueno, gracias por la ayuda que me estais dando, dentro de un rato me pasare a ver si damos con la solucion.

Última edición por sage_lee; 28/03/2011 a las 14:06
  #7 (permalink)  
Antiguo 28/03/2011, 14:28
 
Fecha de Ingreso: marzo-2011
Mensajes: 5
Antigüedad: 13 años
Puntos: 1
Respuesta: Problema simple con php y mysql

He hecho una prueba usando la id en vez del titulo, pero sigue sin mostrarme nada cuando lo intento, ya sale la id en el enlace y solo faltaria que la pagina de destino comprobase los datos de esa id, el codigo es el siguiente:

$result=mysql_query("select * from Software where id=".$reg['id']"\");

y aqui el codigo del enlace desde la otra pagina:

<a href=\"software.php?id=".$reg['id']."\">".$reg['Titulo']."</a>

Última edición por sage_lee; 28/03/2011 a las 14:33 Razón: Faltaba parte del código
  #8 (permalink)  
Antiguo 28/03/2011, 14:46
 
Fecha de Ingreso: marzo-2011
Mensajes: 5
Antigüedad: 13 años
Puntos: 1
Respuesta: Problema simple con php y mysql

Gracias a todos por la paciencia, al final he descubierto que debia formularlo en el select con un GET para que cogiese los datos desde la llamada del enlace. os dejo el código por si a alguien le fuese de ayuda la información, ya que a mi me acaba de solucionar el trabajo. De nuevo gracias a todos y espero poder ayudar en lo que se pueda.

Codigo:

$result=mysql_query("select * from Software where id='".$_GET['id']."'");

Etiquetas: mysql, simple
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 16:42.