Foros del Web » Programando para Internet » PHP »

Listar contenido tabla

Estas en el tema de Listar contenido tabla en el foro de PHP en Foros del Web. Hola deseo listar el contenido de una tabla, tengo estos ficheros : datos.inc.php // Donde hay los datos de la conexion a la base de ...
  #1 (permalink)  
Antiguo 02/10/2006, 11:28
 
Fecha de Ingreso: agosto-2006
Mensajes: 78
Antigüedad: 17 años, 8 meses
Puntos: 0
Listar contenido tabla

Hola deseo listar el contenido de una tabla, tengo estos ficheros :

datos.inc.php // Donde hay los datos de la conexion a la base de datos

// Configuración

// Nombre de la session (puede dejar este mismo)
$usuarios_sesion="volumen1";

// Datos conexion (MySql)

$sql_host="localhost"; // Host, nombre del servidor o IP del servidor Mysql.
$sql_usuario="aumenta_user1"; // Usuario de Mysql
$sql_pass="entrar"; // contraseña de Mysql
$sql_db="aumenta_volumen"; // Base de datos que se usará.
?>

leer.htm // donde tengo la busqueda en la base de datos

<body>
<?
include("datos.inc.php");
$con = mysql_connect($sql_host,$sql_usuario,$sql_pass);
$sql = "SELECT * FROM lugo ";
//Ejecutamos la consulta
$result = mysql_query($sql) or die (mysql_error());
//Leemos y escribimos los registros
while($row = mysql_fetch_array($result)){
echo $row['empresa']."<br />";
}
mysql_close();
?>
<p>Lista lugo</p>
<p>&nbsp;</p>
</body>
</html>

Es mejor poner aparte un archivo con el usuario y el password de conexion a la base de datos, e incluso si ha este solo le dado permisos para leer la tablas del sql ?

Intento listarlo y no termina de funcionar, no me aparecen los datos.

Disculpar soy novato en programacion, hice php y sql pero a un nivel muy bajo.

gracias por la ayuda
  #2 (permalink)  
Antiguo 02/10/2006, 11:36
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
El código "parece correcto" .. igualmente le faltan algunas validaciones. Tal vez tu tabla no tenga registros?

No ves ningún mensaje de error?.

Por otro lado si dices textualmente:
Cita:
leer.htm // donde tengo la busqueda en la base de datos
Ese "leer.htm" debería ser un leer.php (ejecutable PHP).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 02/10/2006 a las 11:43
  #3 (permalink)  
Antiguo 02/10/2006, 11:38
Avatar de Erikfrancisco  
Fecha de Ingreso: noviembre-2003
Ubicación: Estado de México
Mensajes: 503
Antigüedad: 20 años, 5 meses
Puntos: 4
No te ha de listar nada por que no pones por ninguna parte la sentencia de la BD a usar. Deberías tener una línea parecida a esta:

mysql_select_db ($sql_db, $db);

y en cuanto a eso de:

Es mejor poner aparte un archivo con el usuario y el password de conexion a la base de datos, e incluso si ha este solo le dado permisos para leer la tablas del sql ?

Yo creo que sí por algunas razones de seguridad, y de preferencia guarda este archivo fuera del documento raíz.

Espero haberme dado a entender. Suerte

Última edición por Erikfrancisco; 02/10/2006 a las 11:47
  #4 (permalink)  
Antiguo 02/10/2006, 11:46
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por Erikfrancisco Ver Mensaje
No te ha de listar nada por que no pones por ninguna parte la tabla a usar. Deberías tener una línea parecida a esta:

mysql_select_db ($sql_db, $db);

y en cuanto a eso de:

Es mejor poner aparte un archivo con el usuario y el password de conexion a la base de datos, e incluso si ha este solo le dado permisos para leer la tablas del sql ?

Yo creo que sí por algunas razones de seguridad, y de preferencia guarda este archivo fuera del documento raíz.

Espero haberme dado a entender. Suerte
Tienes razón .. lo raro es que no le dé un hermoso mensaje de error en:

$result = mysql_query($sql) or die (mysql_error());

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 03/10/2006, 08:57
 
Fecha de Ingreso: agosto-2006
Mensajes: 78
Antigüedad: 17 años, 8 meses
Puntos: 0
Cita:
Iniciado por Erikfrancisco Ver Mensaje
No te ha de listar nada por que no pones por ninguna parte la sentencia de la BD a usar. Deberías tener una línea parecida a esta:

mysql_select_db ($sql_db, $db);

y en cuanto a eso de:

Es mejor poner aparte un archivo con el usuario y el password de conexion a la base de datos, e incluso si ha este solo le dado permisos para leer la tablas del sql ?

Yo creo que sí por algunas razones de seguridad, y de preferencia guarda este archivo fuera del documento raíz.

Espero haberme dado a entender. Suerte
Hola Erikfrancisco y Cluster!

Teneis razon he analizado vuestra aportacion y he cometido un fallo muy grave, poner un archivo php a .html supongo deberia ser de las horas que llevaba en eso que no veia el error, gracias!

Segundo punto, poner el archivo de datos de conexion fuera de la raiz publica del /www o /html_public entiendo que me quereis decir eso? aun no lo he probado, pero entonces podra acceder cuando lo llame desde el include del index.php ?

Por ultimo he visto tambien otros compañeros que optan por utilizar permisos los CHMOD, yo en mi caso he creado un usuario que solo puede leer la tabla, supongo que debe ser lo minimo hacer aunque no es suficiente si deseo que no puedan conectarse a mi BD mediante algun programa de servidor SQL.

Gracias por vuestra ayuda!
  #6 (permalink)  
Antiguo 03/10/2006, 09:25
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Segundo punto, poner el archivo de datos de conexion fuera de la raiz publica del /www o /html_public entiendo que me quereis decir eso? aun no lo he probado, pero entonces podra acceder cuando lo llame desde el include del index.php ?
Sí, siempe y cuando restricciones de PHP tipo "open_base_dir" (php.ini) estén por arriba de ese directorio .. es decir, en un servicio de hosting típico en el "public_html" cae el "Document ROOT" (todo queda accesible por HTTP desde un cliente navegador o equivalente). Arriba están las típicas "logs" y otras carpetas .. Directivas tipo "open_base_dir" suelen estar definidas a ese directorio como máximo, justamente para dejarte que tu coloques tus archivos críticos (como ese de configuración de datos de conexión a una BBDD) por arriba del "document root".

Cita:
Por ultimo he visto tambien otros compañeros que optan por utilizar permisos los CHMOD, yo en mi caso he creado un usuario que solo puede leer la tabla, supongo que debe ser lo minimo hacer aunque no es suficiente si deseo que no puedan conectarse a mi BD mediante algun programa de servidor SQL.
Una cosa es los permisos de "archivos/directorios" (que ajustas por "CHMOD") y otra cosa son los permisos de los usuarios que creas en tu servidor de Base de datos: Mysql o el que uses.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #7 (permalink)  
Antiguo 03/10/2006, 09:47
Avatar de Erikfrancisco  
Fecha de Ingreso: noviembre-2003
Ubicación: Estado de México
Mensajes: 503
Antigüedad: 20 años, 5 meses
Puntos: 4
Para poder guardar tu archivo de conexion, es decir lo que tienes como:

$sql_host="localhost"; // Host, nombre del servidor o IP del servidor Mysql.
$sql_usuario="aumenta_user1"; // Usuario de Mysql
$sql_pass="entrar"; // contraseña de Mysql
$sql_db="aumenta_volumen"; // Bas de datos que se usará.

Lo puedes guardar de este modo:

Código PHP:
<?php
$fp 
fopen "$DOCUMENT_ROOT/../conexion.php""w");
$host '<?php $sql_host="localhost";';
$username '$sql_usuario="aumenta_user1";';
$password '$sql_pass="entrar";';
$bd '$sql_db="aumenta_volumen"; ?>';
$texto "$host\r\n$username\r\n$password\r\n$bd";
fwrite $fp$texto );
fclose $fp );

if ( !
$fp )
{
   echo 
'<p><strong>El archivo conexion.php no se pudo guardar en este momento.'
   
.' Por favor intentelo más tarde.</strong></p>';
   exit;
}
echo 
"El archivo conexion.php fue guardado con exito";
?>
Y para incluirlo lo puedes realizar así:

Código PHP:
<?php
include ( "$DOCUMENT_ROOT/../conexion.php" );
echo 
$sql_host."<br>";
echo 
$sql_usuario."<br>";
echo 
$sql_pass."<br>";
echo 
$sql_db;
?>
Como te habras dado cuenta es bastante sencillo.

Hojala me hayas podido entender. Suerte
  #8 (permalink)  
Antiguo 05/10/2006, 07:02
 
Fecha de Ingreso: agosto-2006
Mensajes: 78
Antigüedad: 17 años, 8 meses
Puntos: 0
Cita:
Iniciado por Erikfrancisco Ver Mensaje
Para poder guardar tu archivo de conexion, es decir lo que tienes como:

Lo puedes guardar de este modo:

Código PHP:
<?php
$fp 
fopen "$DOCUMENT_ROOT/../conexion.php""w");
$host '<?php $sql_host="localhost";';
$username '$sql_usuario="aumenta_user1";';
$password '$sql_pass="entrar";';
$bd '$sql_db="aumenta_volumen"; ?>';
$texto "$host\r\n$username\r\n$password\r\n$bd";
fwrite $fp$texto );
fclose $fp );

if ( !
$fp )
{
   echo 
'<p><strong>El archivo conexion.php no se pudo guardar en este momento.'
   
.' Por favor intentelo más tarde.</strong></p>';
   exit;
}
echo 
"El archivo conexion.php fue guardado con exito";
?>

Hojala me hayas podido entender. Suerte

Hola Erik & Cluster!

Ok, ahora lo entiendo mejor, de todas formas con estas sentencias

$sql_host="localhost"; // Host, nombre del servidor o IP del servidor Mysql.
$sql_usuario="aumenta_user1"; // Usuario de Mysql
$sql_pass="entrar"; // contraseña de Mysql
$sql_db="aumenta_volumen"; // Bas de datos que se usará.

Me deja guardarlo sin ningun problema, e incluso el archivo esta situado en un directorio el cual esta fuera del /html_public es decir /mirrot/directoriobd/conexion.php

y me va bien, lo que me gustaria saber las otras $fp y $host si deberia ponerlas o no?

gracias de nuevo!
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 15:24.