Foros del Web » Programando para Internet » PHP »

Mostrar páginas individuales en un mismo archivo

Estas en el tema de Mostrar páginas individuales en un mismo archivo en el foro de PHP en Foros del Web. Hola, Estoy haciendo una web desde 0 con xhtml, css, php y mysql pero no consigo hacer una cosa. Tengo un archivo llamado fichaind.php que ...
  #1 (permalink)  
Antiguo 04/12/2011, 05:09
Avatar de JaimeMSE  
Fecha de Ingreso: diciembre-2010
Ubicación: Isla Cristina (Huelva)
Mensajes: 164
Antigüedad: 13 años, 4 meses
Puntos: 7
Mostrar páginas individuales en un mismo archivo

Hola,

Estoy haciendo una web desde 0 con xhtml, css, php y mysql pero no consigo hacer una cosa.

Tengo un archivo llamado fichaind.php que llama a una ficha de la base de datos según el ID de ese campo, pero... ¿Cómo puedo hacer para que ese ID se modifique con el ID que muestre la URL?

Lo he visto en Wordpress, que usa un archivo single.php donde se muestran todos los artículos pero no tengo ni idea de como hacerlo.

¿Me lo explicáis o ponéis alguna guía?
Muchas gracias!
__________________
@JaimeMSE - ¡Sígueme!
  #2 (permalink)  
Antiguo 04/12/2011, 05:26
 
Fecha de Ingreso: agosto-2011
Ubicación: España
Mensajes: 445
Antigüedad: 12 años, 7 meses
Puntos: 89
Respuesta: Mostrar páginas individuales en un mismo archivo

La url sería: fichaind.php?id=1

Código PHP:
Ver original
  1. $id = $_GET['id']; // Recibimos por GET la variable id desde el navegador.
  2. if (!isset ($id)) // comprobamos si está la variable $id definida y si no lo está mostramos una página vacía o el index.
  3. {
  4. echo 'Página vacía';
  5. }
  6. else // Sino conectamos a la base de datos y mostramos los datos de ese ID
  7. {
  8. //Conexión
  9. $connect=mysql_connect("localhost","root","");
  10.  
  11. //Selección de base de datos
  12. mysql_select_db("basededatos", $connect);
  13.  
  14. //Selección de registros
  15. $result=mysql_query("select * from tabla where id_noticia='$id'", $connect);
  16.  
  17. //Sacamos la información en un array
  18. while($row=mysql_fetch_array($result))
  19. {
  20. echo $row[Titulo]; // Muestra el título de la noticía, si la tabla tiene el campo Titulo.
  21. print_r ($row); // Imprimimos todo el contenido del array $row
  22. }
  23. mysql_free_result($result); // Liberamos los resultados.
  24. mysql_close($connect); // Cerramos conexión con la base de datos.
  25.  
  26. }

Lo he escrito un poco por encima, si no funciona me dices.

También puedes revisar este aporte:

http://www.forosdelweb.com/f18/siste...aporte-556622/

Última edición por Arkaitz; 04/12/2011 a las 05:34
  #3 (permalink)  
Antiguo 04/12/2011, 05:40
Avatar de JaimeMSE  
Fecha de Ingreso: diciembre-2010
Ubicación: Isla Cristina (Huelva)
Mensajes: 164
Antigüedad: 13 años, 4 meses
Puntos: 7
Respuesta: Mostrar páginas individuales en un mismo archivo

Cita:
Iniciado por Arkaitz Ver Mensaje
La url sería: fichaind.php?id=1

Código PHP:
Ver original
  1. $id = $_GET['id']; // Recibimos por GET la variable id desde el navegador.
  2. if (!isset ($id)) // comprobamos si está la variable $id definida y si no lo está mostramos una página vacía o el index.
  3. {
  4. echo 'Página vacía';
  5. }
  6. else // Sino conectamos a la base de datos y mostramos los datos de ese ID
  7. {
  8. //Conexión
  9. $connect=mysql_connect("localhost","root","");
  10.  
  11. //Selección de base de datos
  12. mysql_select_db("basededatos", $connect);
  13.  
  14. //Selección de registros
  15. $result=mysql_query("select * from tabla where id_noticia='$id'", $connect);
  16.  
  17. //Sacamos la información en un array
  18. while($row=mysql_fetch_array($result))
  19. {
  20. echo $row[Titulo]; // Muestra el título de la noticía, si la tabla tiene el campo Titulo.
  21. print_r ($row); // Imprimimos todo el contenido del array $row
  22. }
  23. mysql_free_result($result); // Liberamos los resultados.
  24. mysql_close($connect); // Cerramos conexión con la base de datos.
  25.  
  26. }

Lo he escrito un poco por encima, si no funciona me dices.

También puedes revisar este aporte:

[url]http://www.forosdelweb.com/f18/sistema-noticias-aporte-556622/[/url]

¡¡¡Muchísimas gracias!!!

He conseguido captar los datos dependiendo del ID de cada perro (estoy haciéndo una web a una protectora de animales). Me tira errores por todas partes, pero lo difícil, que es que aparezcan los datos está hecho. Ahora me pongo a repararlo y de camino aprendo.

De nuevo, ¡muchas gracias!

PD: Una pregunta para no abrir otro hilo.

Tengo en la web la carpeta base donde están el index, header etc, otra carpeta llamada usuarios pero cuando intento hacer un

Código PHP:
<?php include('../header.php');
Me tira muchos errores y no me lo detecta. Uso Xampp en Windows.

Gracias nuevamente :)
__________________
@JaimeMSE - ¡Sígueme!
  #4 (permalink)  
Antiguo 04/12/2011, 05:41
 
Fecha de Ingreso: agosto-2011
Ubicación: España
Mensajes: 445
Antigüedad: 12 años, 7 meses
Puntos: 89
Respuesta: Mostrar páginas individuales en un mismo archivo

Intenta con una ruta absoluta. Los errores que te muestra el query supongo será porque tienes que cambiar datos como tablas para que coincidan, por ejemplo el campo Titulo no creo que lo tengas en tu base de datos pero usando print_r ($row); debería mostrarte toda la información que ha sacado el mysql_fetch_array.

Recuerda utilizar también mysql_real_escape_string para evitar problemas de seguridad.

Para el include podrías utilizar la función getcwd para sacar la ruta y utilizarla en el include.

Última edición por Arkaitz; 04/12/2011 a las 05:51
  #5 (permalink)  
Antiguo 04/12/2011, 05:58
Avatar de JaimeMSE  
Fecha de Ingreso: diciembre-2010
Ubicación: Isla Cristina (Huelva)
Mensajes: 164
Antigüedad: 13 años, 4 meses
Puntos: 7
Respuesta: Mostrar páginas individuales en un mismo archivo

Cita:
Iniciado por Arkaitz Ver Mensaje
Intenta con una ruta absoluta. Los errores que te muestra el query supongo será porque tienes que cambiar datos como tablas para que coincidan, por ejemplo el campo Titulo no creo que lo tengas en tu base de datos pero usando print_r ($row); debería mostrarte toda la información que ha sacado el mysql_fetch_array.

Recuerda utilizar también mysql_real_escape_string para evitar problemas de seguridad.

Para el include podrías utilizar la función getcwd para sacar la ruta y utilizarla en el include.
Ya lo he conseguido, ¡queda alucinante! Gracias de nuevo.

Sobre las rutas absolutas, ¿cómo lo hago? Uso xampp y no quiero poner c://xampp//... ¿Puedo crear una función que detecte cuál es la carpeta base? ¿O como?

Gracias !
__________________
@JaimeMSE - ¡Sígueme!
  #6 (permalink)  
Antiguo 04/12/2011, 06:07
Avatar de charlyalegret  
Fecha de Ingreso: septiembre-2011
Ubicación: Barcelona
Mensajes: 705
Antigüedad: 12 años, 7 meses
Puntos: 140
Respuesta: Mostrar páginas individuales en un mismo archivo

Si usas en cualquier url una barra inicial, por decir algo /header.php o /imagenes/esta, siempre te referirás a la carpeta raiz, así evitarás posibles problemas y te servirá tanto para en local como en el servidor.

saludos
  #7 (permalink)  
Antiguo 04/12/2011, 06:11
Avatar de JaimeMSE  
Fecha de Ingreso: diciembre-2010
Ubicación: Isla Cristina (Huelva)
Mensajes: 164
Antigüedad: 13 años, 4 meses
Puntos: 7
Respuesta: Mostrar páginas individuales en un mismo archivo

Cita:
Iniciado por charlyalegret Ver Mensaje
Si usas en cualquier url una barra inicial, por decir algo /header.php o /imagenes/esta, siempre te referirás a la carpeta raiz, así evitarás posibles problemas y te servirá tanto para en local como en el servidor.

saludos
Ahora mismo tengo en el archivo CARPETABASE/usuarios/login.php

Código PHP:
<?php include('/header.php'); ?>
<?php 
include('/lateral.php'); ?>
<?php 
require('/config.php'); ?>
Y me aparece:

Código PHP:
Warning: include(/header.php) [function.include]: failed to open streamNo such file or directory in C:xampphtdocsproteusuarioslogin.php on line 1

Warning
: include() [function.include]: Failed opening '/header.php' for inclusion (include_path='.;C:\xampp\php\PEAR'in C:xampphtdocsproteusuarioslogin.php on line 1

Warning
: include(/lateral.php) [function.include]: failed to open streamNo such file or directory in C:xampphtdocsproteusuarioslogin.php on line 2

Warning
: include() [function.include]: Failed opening '/lateral.php' for inclusion (include_path='.;C:\xampp\php\PEAR'in C:xampphtdocsproteusuarioslogin.php on line 2

Deprecated
Assigning the return value of new by reference is deprecated in C:xamppphpPEARConfig.php on line 80

Deprecated
Assigning the return value of new by reference is deprecated in C:xamppphpPEARConfig.php on line 166 
También he probado con include('../header.php'); y nada.
__________________
@JaimeMSE - ¡Sígueme!
  #8 (permalink)  
Antiguo 04/12/2011, 06:27
 
Fecha de Ingreso: agosto-2011
Ubicación: España
Mensajes: 445
Antigüedad: 12 años, 7 meses
Puntos: 89
Respuesta: Mostrar páginas individuales en un mismo archivo

Prueba:

Código PHP:
Ver original
  1. <?
  2. $ruta = getcwd();
  3. $rutaheader = $ruta . '/header.php';
  4. include ($rutaheader);
  5. ?>
  #9 (permalink)  
Antiguo 04/12/2011, 06:31
Avatar de JaimeMSE  
Fecha de Ingreso: diciembre-2010
Ubicación: Isla Cristina (Huelva)
Mensajes: 164
Antigüedad: 13 años, 4 meses
Puntos: 7
Respuesta: Mostrar páginas individuales en un mismo archivo

Cita:
Iniciado por Arkaitz Ver Mensaje
Prueba:

Código PHP:
Ver original
  1. <?
  2. $ruta = getcwd();
  3. $rutaheader = $ruta . '/header.php';
  4. include ($rutaheader);
  5. ?>
Lo he probado y nada :S

Código PHP:
Warning: include(C:xampphtdocsproteusuarios/header.php) [function.include]: failed to open streamNo such file or directory in C:xampphtdocsproteusuarioslogin.php on line 4 
Gracias de todas formas.
__________________
@JaimeMSE - ¡Sígueme!
  #10 (permalink)  
Antiguo 04/12/2011, 06:39
 
Fecha de Ingreso: agosto-2011
Ubicación: España
Mensajes: 445
Antigüedad: 12 años, 7 meses
Puntos: 89
Respuesta: Mostrar páginas individuales en un mismo archivo

Nunca he utilizado xampp así que no sé si será un error de configuración/instalación pero prueba así a ver:

Código PHP:
Ver original
  1. <?
  2. include ('../usuarios/login.php');
  3. ?>
  #11 (permalink)  
Antiguo 04/12/2011, 06:44
Avatar de JaimeMSE  
Fecha de Ingreso: diciembre-2010
Ubicación: Isla Cristina (Huelva)
Mensajes: 164
Antigüedad: 13 años, 4 meses
Puntos: 7
Respuesta: Mostrar páginas individuales en un mismo archivo

Creo que te estás confundiendo, quiero incluir el header.php que está en la CARPETABASE al archivo CARPETABASE/usuarios/login.php
__________________
@JaimeMSE - ¡Sígueme!
  #12 (permalink)  
Antiguo 04/12/2011, 07:46
Avatar de charlyalegret  
Fecha de Ingreso: septiembre-2011
Ubicación: Barcelona
Mensajes: 705
Antigüedad: 12 años, 7 meses
Puntos: 140
Respuesta: Mostrar páginas individuales en un mismo archivo

Yo tampoco he trabajado nunca con xampp, pero cuando he trabajado en localhost y me encontré con este problema lo solucioné con lo siguiente:
tenía la carpeta C:/programa (no recuerdo el nombre) donde se encontraba la aplicación.
Dentro había una carpeta llamada www donde se supone tenía que poner la web. Cuando hacía lo que me decía el manual, es decir crear ahí (en www) una carpeta llamada midominio.com, tenía el mismo problema, que no encontraba los archivos a los que llamaba. Para no tener que modificar el código que sí me servía en el servidor, lo solucioné poniendo la web directamente en la carpeta www...
No sé si tendrá algo que ver con eso, si no haber si alguien que use xampp te puede ayudar...

Suerte!
  #13 (permalink)  
Antiguo 04/12/2011, 10:51
Avatar de JaimeMSE  
Fecha de Ingreso: diciembre-2010
Ubicación: Isla Cristina (Huelva)
Mensajes: 164
Antigüedad: 13 años, 4 meses
Puntos: 7
Respuesta: Mostrar páginas individuales en un mismo archivo

Cita:
Iniciado por charlyalegret Ver Mensaje
Yo tampoco he trabajado nunca con xampp, pero cuando he trabajado en localhost y me encontré con este problema lo solucioné con lo siguiente:
tenía la carpeta C:/programa (no recuerdo el nombre) donde se encontraba la aplicación.
Dentro había una carpeta llamada www donde se supone tenía que poner la web. Cuando hacía lo que me decía el manual, es decir crear ahí (en www) una carpeta llamada midominio.com, tenía el mismo problema, que no encontraba los archivos a los que llamaba. Para no tener que modificar el código que sí me servía en el servidor, lo solucioné poniendo la web directamente en la carpeta [url]www..[/url].
No sé si tendrá algo que ver con eso, si no haber si alguien que use xampp te puede ayudar...

Suerte!
Lo he probado y nada.

El error que tengo es que no me coge los estilos ni los enlaces ni nada parecido, y todos los enlaces los tengo de forma relativa. Tendré que hacer una función para que detecte la carpeta base y la use en todas las urls.

Gracias de todas formas.
Un saludo!
__________________
@JaimeMSE - ¡Sígueme!
  #14 (permalink)  
Antiguo 04/12/2011, 10:54
 
Fecha de Ingreso: agosto-2011
Ubicación: España
Mensajes: 445
Antigüedad: 12 años, 7 meses
Puntos: 89
Respuesta: Mostrar páginas individuales en un mismo archivo

Quizás ésto te sirva:

http://www.forosdelweb.com/f18/paths-absolutos-602049/

Etiquetas: modular
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:12.