Nueva pregunta

Pregunta:

Fecha: 23-02-2016 11:00:02 (En Español)

Script PHP para inspeccionar tablas MySQL[Resuelta]

Hola amigos,
Estoy haciendo un script donde me muestra el nombre de las tablas existentes y al darle en el me aparece toda la informacion de dicha tabla pero no he podido que me muestre el contenido.
<?php
	$enlace = "localhost";
	$user = "root";
	$pass = "4414910";
	$name = "epaaseso_db";

	$link = mysqli_connect($enlace, $user, $pass, $name, 3306);
	if (!$link) {
		die('No pudo conectarse: ' . mysqli_error($link));
	}
	echo 'Conectado satisfactoriamente';

	echo "<br>";

	$sql = "SHOW TABLES FROM $name";
	$resultado = mysqli_query($link, $sql);

	if(!$resultado){
		echo "Error de BD, no se pudieron listar las tablas\n";
		echo 'Error MySQL: ' . mysqli_error($link);
		exit;
	}

	while ($fila = mysqli_fetch_row($resultado)) {
		echo "Tabla: <a href='?tabla={$fila[0]}'>{$fila[0]}</a><br>";
	}

	mysqli_free_result($resultado);

	$tabla = $_GET["tabla"];

	if(isset($tabla)){

		$buscar = mysqli_query($link, "SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '".$tabla."'");
		echo "<table>";
		echo "<thead>";
		echo "<tr>";
		while($datos = mysqli_fetch_array($buscar)){
			echo "<td>".$datos["COLUMN_NAME"]."</td>";
		}
		echo "</tr>";
		echo "</thead>";
		echo "<tbody>";
		$mostrar = mysqli_query($link, "SELECT * FROM ".$tabla);
		while ($row = mysqli_fetch_row($mostrar)){
				echo "<td>".$row[COLUMN_NAME]."</td>"; 
		}
		echo "</tbody>";
		echo "</table>";

	}

	mysqli_close($link);
?>

Espero puedan ayudarme no se mas como puedo hacer sin saber el nombre de cada columna.
Saludos
Nota:
En el segundo comentario dejo el script listo para usarse quien lo quiera y lo necesite.
Etiquetas: Base de Datos - PHP - PHP MySQLi - Pregunta - Script PHP Votos: 5 - Respuestas: 3 - Vistas: 18 Compartir en: Google Facebook Twitter LinkedIn Link
 

Respuestas:

  • Fecha: 23-02-2016 11:19:00 Hola edison lo que puedes hacer así como hicistes un show tables para saber los.nombres de las tablas de la.bd puedes hacer un
    describe nombre_table


    Con la sintaxis describe te muestra los campos de una tabla. Ejemplo
    describe alumnos te mostraría todo los campos de la tabla alumno


    Saludos, y suerte att JQ
      Votos: 4 - Link respuesta
     
  • Fecha: 23-02-2016 12:50:48 Gracias Juan.
    Pero con ese ya probé y no me funciono :( no del modo que quería lo solucione de otra forma, dejó el código adjunto si alguien sabe como simplificarlo.
    <?php
    	session_start();
    	$enlace = "localhost";
    	$user = "root";
    	$pass = "4414910";
    	$name = "epaaseso_db";
    
    	// nos conectamos a ejemplo.com y al puerto 3307
    	$link = mysqli_connect($enlace, $user, $pass, $name, 3306);
    	if (!$link) {
    		die('No pudo conectarse: ' . mysqli_error($link));
    	}
    	echo 'Conectado satisfactoriamente';
    
    	echo "<br>";
    
    	$sql = "SHOW TABLES FROM $name";
    	$resultado = mysqli_query($link, $sql);
    
    	if(!$resultado){
    		echo "Error de BD, no se pudieron listar las tablas\n";
    		echo 'Error MySQL: ' . mysqli_error($link);
    		exit;
    	}
    
    	while ($fila = mysqli_fetch_row($resultado)) {
    		echo "Tabla: <a href='?tabla={$fila[0]}'>{$fila[0]}</a><br>";
    	}
    
    	mysqli_free_result($resultado);
    
    	$tabla = $_GET["tabla"];
    
    	if(isset($tabla)){
    
    		$buscar = mysqli_query($link, "SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '".$tabla."'");
    		echo "<table>";
    		echo "<thead>";
    		echo "<tr>";
    		while($datos = mysqli_fetch_array($buscar)){
    			echo "<td>".$datos["COLUMN_NAME"]."</td>";
    		}
    		echo "</tr>";
    		echo "</thead>";
    		echo "<tbody>";
    		
    		$mostrar = mysqli_query($link, "SELECT * FROM ".$tabla);
    		$fields = mysqli_num_fields($mostrar);
    		while ($row = mysqli_fetch_array($mostrar)){
    			echo "<tr>";
    			for ($f=0; $f < $fields; $f++) {
    				echo "<td>$row[$f]</td>";
    			}
    			echo "</tr>\n";
    		}
    		if(mysqli_num_rows($mostrar) ===0){ 
    			echo "<tr><td colspan='".$fields."' align='center'>No hay resultados</td></tr>";
    		}
    		echo "</tbody>";
    		echo "</table>";
    
    	}
    
    	mysqli_close($link);
    ?>
    

    Gracias por tu colaboración.
    Saludos.
      Votos: 2 - Link respuesta
     
  • Fecha: 24-02-2016 09:20:18 bueno logica men , te ayudastes de

    $fields = mysqli_num_fields($mostrar);

    aunque tambien hubieras podido hacerlo con describe

    saludos
      Votos: 2 - Link respuesta
     
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
 
frjcbbae garagebible.com