Foros del Web » Programando para Internet » PHP »

problema con funciones php para mysql

Estas en el tema de problema con funciones php para mysql en el foro de PHP en Foros del Web. que necesito lo siguiente.. función de php que obtiene la lista de tablas de una BD y las funciones que obtienen la estructura de una ...
  #1 (permalink)  
Antiguo 08/06/2012, 09:07
 
Fecha de Ingreso: mayo-2009
Ubicación: Andalucia
Mensajes: 650
Antigüedad: 15 años, 6 meses
Puntos: 1
problema con funciones php para mysql

que necesito lo siguiente..

función de php que obtiene la lista de tablas de una BD y las funciones que obtienen la estructura de una tabla para mostrarlas mediante php.

ando buscando y no encuentro nada. sabeis algo de esto?
  #2 (permalink)  
Antiguo 08/06/2012, 09:17
Avatar de oscartt67  
Fecha de Ingreso: abril-2012
Ubicación: fonollosa
Mensajes: 481
Antigüedad: 12 años, 7 meses
Puntos: 97
Respuesta: problema con funciones php para mysql

show tables para las table

describe mi_tabla paro los campos

saludos.
  #3 (permalink)  
Antiguo 08/06/2012, 09:33
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 16 años, 1 mes
Puntos: 175
Respuesta: problema con funciones php para mysql

creo que con SQL puedes lograrlo.. ejemplo:

SELECT table_name FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'nombre de mi base de datos'

EXAMPLE de lo que te digo
Código MySQL:
Ver original
  1. SELECT table_name FROM information_schema.TABLES
  2.                         WHERE TABLE_SCHEMA = 'cocacola_db'

Prueba cambiar el nombre de la base de datos del ejemplo por una tuya que exista...

para imprimirlo


Código PHP:
Ver original
  1. <?php
  2. while($row = mysql_fetch_array($sql))
  3.    
  4. {
  5.    
  6.     ?>
  7.     <tr bgcolor="<?php echo $color; ?>">
  8.       <td><p><?php echo $row['table_name'] ?></p></td>
  9.       <td align="center"><a href="mostrar-galeria.php?tabla=<?php echo $row['table_name'] ?>">Ampliar</a></td>
  10.     </tr>
  11.     <?php
  12.     }
  13.     ?>

no es una funcion PHP.. pero si una consulta con php+sql normal
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #4 (permalink)  
Antiguo 08/06/2012, 09:44
Avatar de oscartt67  
Fecha de Ingreso: abril-2012
Ubicación: fonollosa
Mensajes: 481
Antigüedad: 12 años, 7 meses
Puntos: 97
Respuesta: problema con funciones php para mysql

Cita:
no es una funcion PHP.. pero si una consulta con php+sql normal
lo mismo te digo de lo que te posteé. Pruebalo antes en phpmyadmin y verás que te devuelve todo lo que necesitas.Y mas simple, imposible.

Saludos.
  #5 (permalink)  
Antiguo 08/06/2012, 14:20
 
Fecha de Ingreso: mayo-2009
Ubicación: Andalucia
Mensajes: 650
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: problema con funciones php para mysql

bien ya he conseguido con vuestros codigos mostrar el nombre de todas las tablas de la base de datos. pero no consigo mostrar todos los campos en forma de estructura de cada tabla de la base de datos.

esto ultimo como se hace?
  #6 (permalink)  
Antiguo 08/06/2012, 14:29
 
Fecha de Ingreso: junio-2012
Ubicación: Argentina - Buenos Aires
Mensajes: 135
Antigüedad: 12 años, 5 meses
Puntos: 32
Respuesta: problema con funciones php para mysql

En el archivo mostrar-galeria.php deberias tener algo asi:

Código PHP:
Ver original
  1. /*
  2. Por aca hay que conectarse a la base de datos y esas cosas.
  3. */
  4. $query = "SELECT * FROM '".$_GET['tabla']."' ";
  5. $result = mysql_query($query);
  6. echo "<table>";
  7. while($campos = mysql_fetch_array($result))
  8. {
  9.     echo "<tr>";
  10.     for($i=0;$i<count($campos);$i++)
  11.     {
  12.         echo "<td>".$campos[$i]."</td";
  13.     }
  14.     echo "</tr>";
  15.  
  16. }
  17. echo "</table>";

Espero sirva, saludos.
__________________
http://www.latinium.com.ar/
  #7 (permalink)  
Antiguo 08/06/2012, 15:43
 
Fecha de Ingreso: mayo-2009
Ubicación: Andalucia
Mensajes: 650
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: problema con funciones php para mysql

tu codigo me da error
  #8 (permalink)  
Antiguo 08/06/2012, 15:43
 
Fecha de Ingreso: mayo-2009
Ubicación: Andalucia
Mensajes: 650
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: problema con funciones php para mysql

! ) Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in E:\wamp\www\escuela\mostrar-galeria.php on line 6
  #9 (permalink)  
Antiguo 09/06/2012, 16:06
 
Fecha de Ingreso: junio-2012
Ubicación: Argentina - Buenos Aires
Mensajes: 135
Antigüedad: 12 años, 5 meses
Puntos: 32
Respuesta: problema con funciones php para mysql

Eso es solo una parte del codigo, tendrias que estar conectado a la base de datos primeramente y recibir por get el parametro de la tabla. Eso lo haces?
__________________
http://www.latinium.com.ar/
  #10 (permalink)  
Antiguo 10/06/2012, 03:50
 
Fecha de Ingreso: mayo-2009
Ubicación: Andalucia
Mensajes: 650
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: problema con funciones php para mysql

estoy conectado mira este es el codigo para eso


Código PHP:
$dbhost="localhost";
    
$dbusuario="root";
    
$dbpassword="";
    
$db="escueladb";
    
    
$conexion mysql_connect($dbhost$dbusuario$dbpassword);
    
mysql_select_db($db$conexion); 

lo de recibir el parametro por la tabla. e usado tu codigo..
  #11 (permalink)  
Antiguo 10/06/2012, 17:54
 
Fecha de Ingreso: junio-2012
Ubicación: Argentina - Buenos Aires
Mensajes: 135
Antigüedad: 12 años, 5 meses
Puntos: 32
Respuesta: problema con funciones php para mysql

y le llega el parametor tabla por get?
__________________
http://www.latinium.com.ar/
  #12 (permalink)  
Antiguo 11/06/2012, 05:09
 
Fecha de Ingreso: mayo-2009
Ubicación: Andalucia
Mensajes: 650
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: problema con funciones php para mysql

como compruebo si le llega el parametro tabla?
  #13 (permalink)  
Antiguo 11/06/2012, 08:00
 
Fecha de Ingreso: junio-2012
Ubicación: Argentina - Buenos Aires
Mensajes: 135
Antigüedad: 12 años, 5 meses
Puntos: 32
Respuesta: problema con funciones php para mysql

Pone este codigo en la pagina que pienses que deberia llegar.


Código PHP:
Ver original
  1. echo "<pre>";
  2. print_r($_GET);
  3. echo "</pre>";
__________________
http://www.latinium.com.ar/
  #14 (permalink)  
Antiguo 11/06/2012, 08:56
 
Fecha de Ingreso: mayo-2009
Ubicación: Andalucia
Mensajes: 650
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: problema con funciones php para mysql

Le llega mira


Array
(
[tabla] => alumnos
)


pero me sige dando el mismo error

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in E:\wamp\www\escuela\mostrar-galeria.php on line 17
  #15 (permalink)  
Antiguo 11/06/2012, 09:09
 
Fecha de Ingreso: mayo-2009
Ubicación: Andalucia
Mensajes: 650
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: problema con funciones php para mysql

el fallo esta aqui
Código PHP:
$query " SELECT * FROM  '".$_GET["tabla"]."'  "

en la consulta sql me dice esto

Undefined index: tabla in E:\wamp\www\escuela\mostrar-galeria.php on line 14

Error en la consulta: 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
  #16 (permalink)  
Antiguo 11/06/2012, 09:16
 
Fecha de Ingreso: junio-2012
Ubicación: Argentina - Buenos Aires
Mensajes: 135
Antigüedad: 12 años, 5 meses
Puntos: 32
Respuesta: problema con funciones php para mysql

Podras postear los 2 archivos enteros?

La verdad si te llega pero luego no lo encuentra me parece que lo estas pisando en el camino.
__________________
http://www.latinium.com.ar/
  #17 (permalink)  
Antiguo 11/06/2012, 09:17
 
Fecha de Ingreso: mayo-2009
Ubicación: Andalucia
Mensajes: 650
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: problema con funciones php para mysql

ya e solucionado lo de la consulta poniendola asi
Código PHP:
$query =" SELECT * FROM ".$_GET['tabla'] ; 

pero ahora me aparecen muchos mensajes de error . todos dicen esto

912:00:00dib(esto es lo que contiene la tabla, es la informacion. abajo el error


( ! ) Notice: Undefined offset: 3 in E:\wamp\www\escuela\mostrar-galeria.php on line 28
Call Stack
# Time Memory Function Location
1 0.0065 373256 {main}( ) ..\mostrar-galeria.php:0

( ! ) Notice: Undefined offset: 4 in E:\wamp\www\escuela\mostrar-galeria.php on line 28
Call Stack
# Time Memory Function Location
1 0.0065 373256 {main}( ) ..\mostrar-galeria.php:0

( ! ) Notice: Undefined offset: 5 in E:\wamp\www\escuela\mostrar-galeria.php on line 28
Call Stack
# Time Memory Function Location
1 0.0065 373256 {main}( ) ..\mostrar-galeria.php:0

909:00:00alg
( ! ) Notice: Undefined offset: 3 in E:\wamp\www\escuela\mostrar-galeria.php on line 28
Call Stack
# Time Memory Function Location
1 0.0065 373256 {main}( ) ..\mostrar-galeria.php:0

( ! ) Notice: Undefined offset: 4 in E:\wamp\www\escuela\mostrar-galeria.php on line 28
Call Stack
# Time Memory Function Location
1 0.0065 373256 {main}( ) ..\mostrar-galeria.php:0

( ! ) Notice: Undefined offset: 5 in E:\wamp\www\escuela\mostrar-galeria.php on line 28
Call Stack
# Time Memory Function Location
1 0.0065 373256 {main}( ) ..\mostrar-galeria.php:0

1111:00:00qui
( ! ) Notice: Undefined offset: 3 in E:\wamp\www\escuela\mostrar-galeria.php on line 28
Call Stack
# Time Memory Function Location
1 0.0065 373256 {main}( ) ..\mostrar-galeria.php:0

( ! ) Notice: Undefined offset: 4 in E:\wamp\www\escuela\mostrar-galeria.php on line 28
Call Stack
# Time Memory Function Location
1 0.0065 373256 {main}( ) ..\mostrar-galeria.php:0

( ! ) Notice: Undefined offset: 5 in E:\wamp\www\escuela\mostrar-galeria.php on line 28
Call Stack
# Time Memory Function Location
1 0.0065 373256 {main}( ) ..\mostrar-galeria.php:0

1210:00:00mat
( ! ) Notice: Undefined offset: 3 in E:\wamp\www\escuela\mostrar-galeria.php on line 28
Call Stack
# Time Memory Function Location
1 0.0065 373256 {main}( ) ..\mostrar-galeria.php:0

( ! ) Notice: Undefined offset: 4 in E:\wamp\www\escuela\mostrar-galeria.php on line 28
Call Stack
# Time Memory Function Location
1 0.0065 373256 {main}( ) ..\mostrar-galeria.php:0

( ! ) Notice: Undefined offset: 5 in E:\wamp\www\escuela\mostrar-galeria.php on line 28
Call Stack
# Time Memory Function Location
1 0.0065 373256 {main}( ) ..\mostrar-galeria.php:0
  #18 (permalink)  
Antiguo 11/06/2012, 09:19
 
Fecha de Ingreso: mayo-2009
Ubicación: Andalucia
Mensajes: 650
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: problema con funciones php para mysql

tabla.php

Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>tablas</title>
</head>

<body>

<?php

    $dbhost
="localhost";
    
$dbusuario="root";
    
$dbpassword="";
    
$db="escueladb";
    
    
$conexion mysql_connect($dbhost$dbusuario$dbpassword);
    
mysql_select_db($db$conexion);
    
$result=mysql_query("SELECT table_name FROM information_schema.TABLES
                            WHERE TABLE_SCHEMA = 'escueladb'"
,$conexion);
    if(!
$result)
    {
        
printf("\n<H5>Error al ejecutar '$sentencia': "+mysql_error()+"</H5>");
        exit(
0);
    }
    else
    {
        
    while(
$row mysql_fetch_array($result))
       
    {
       
        
?>
       
          <td><p><?php echo $row['table_name'?></p></td>
          <td align="center"><a href="mostrar-galeria.php?tabla=<?php echo $row['table_name'?>">Ampliar</a></td>
    </tr>
         
        </tr>
        <?php
        
}
       

 
    }
    
    
    
mysql_close($conexion);


?>



mostrar-galeria.php

Código PHP:
<?php

    $dbhost
="localhost";
    
$dbusuario="root";
    
$dbpassword="";
    
$db="escueladb";
    
    
$conexion mysql_connect($dbhost$dbusuario$dbpassword);
    
mysql_select_db($db$conexion)or die ("Verifique la Base de Datos");
    echo 
"<pre>";
    
print_r($_GET);
    echo 
"</pre>";

    
$query =" SELECT * FROM ".$_GET['tabla'] ;
    
$result mysql_query($query);
    echo 
"<table>";
    if (!
$result
    {
        
$message  'Error en la consulta: ' mysql_error() . "\n";
        
        die(
$message);
    } 
    while(
$campos mysql_fetch_array($result))
    {
        echo 
"<tr>";
        for(
$i=0;$i<count($campos);$i++)
        {
            echo 
"<td>".$campos[$i]."</td";
        }
        echo 
"</tr>";
     
    }
    echo 
"</table>";
    
?>
  #19 (permalink)  
Antiguo 11/06/2012, 09:47
 
Fecha de Ingreso: junio-2012
Ubicación: Argentina - Buenos Aires
Mensajes: 135
Antigüedad: 12 años, 5 meses
Puntos: 32
Respuesta: problema con funciones php para mysql

Reemplaza la parte de while campos (lo de adentro del while) por eso
Código PHP:
Ver original
  1. while($campos = mysql_fetch_array($result))
  2.     {
  3.         echo "<pre>";
  4.         print_r($campos);
  5.         echo "</pre>";
  6.      
  7.     }
__________________
http://www.latinium.com.ar/

Etiquetas: funciones, mysql, tabla
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 21:14.