Pregunta:
Fecha: 23-02-2016 11:00:02
(En Español)
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.
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. Votos: 5 - Respuestas: 3 - Vistas: 18 Compartir en: Google Facebook Twitter LinkedIn Link
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. 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
