Foros del Web » Programando para Internet » PHP »

Usar punteros de funciones mysql

Estas en el tema de Usar punteros de funciones mysql en el foro de PHP en Foros del Web. Hola a todos,Estoy creando un script "amago de PhpMyAdmin" Como puedo hacer para que cada DB sea un link(utilizo la función "mysql_list_dbs"),para después pasar esa ...
  #1 (permalink)  
Antiguo 24/01/2009, 09:46
Avatar de Wilfred  
Fecha de Ingreso: octubre-2008
Mensajes: 110
Antigüedad: 15 años, 6 meses
Puntos: 1
Usar punteros de funciones mysql

Hola a todos,Estoy creando un script "amago de PhpMyAdmin"
Como puedo hacer para que cada DB sea un link(utilizo la función "mysql_list_dbs"),para después pasar esa información a la función "mysql_list_tables ".en php.net dice que el resultado se muestra como puntero,pero no entendí bien eso de puntero.

Mi code:
Código:
    <html>
  <head>
    <title>Formulario</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    
    <?php  if(!isset($_POST["server"])) { ?>
     <!--Formulario de conexion-->

    
           MySQL conect <form name="conectar" action="" method="post">
    <br>Server       <input type="text" name="server" value="localhost" />
    <br>Username<input type="text" name="user" value="root" />
    <br>Password<input type="password" name="pass" value="" />
    <br><input type="submit" value="submit" name="submit" />

</form>

<?php } ?>
  
  </body>
</html>
 <?php
  //recoger variables
    $dbname= $_POST['dbname'];
    $server= $_POST['server'];
    $user= $_POST['user'];
    $pass= $_POST['pass'];
    
    
    
    
 
 if(isset($_POST["server"])) {
     
 
	$link = mysql_connect($server, $user, $pass);
if (!$link) {
    die('Could not connect: ' . mysql_error());
    }
    
   
    
    
    //consultas
    $db_create="CREATE DATABASE ".$dbname."";
    $db_list = mysql_list_dbs($link);
    ?>    
     <!--Formulario para crear bases de datos-->

    Crear una db <form name="db-form" action="" method="post">
    <input type="text" name="dbname" value="Numbre_de_DB" />
    <input type="hidden" name="enviado" value="enviado" />
    <input type="submit" value="submit" name="submit" />
    </form>
    <?php
    
    
    //crear base de datos
    if(isset($_POST["enviado"])) {
      $consult = mysql_query($db_create,$link);
if (!$consult) {
    die('consulta invalida ' . mysql_error());
}
else {
    echo "La base de datos $dbname ha sido creada con exito";
} }
   //mostrar las bases de datos creadas
while ($row = mysql_fetch_object($db_list)) {
    echo $row->Database . "<br>";
}
}
   
    ?>
Saludos y gracias!
  #2 (permalink)  
Antiguo 24/01/2009, 12:34
Avatar de korg1988  
Fecha de Ingreso: junio-2006
Ubicación: Santa Fe, Argentina
Mensajes: 825
Antigüedad: 17 años, 10 meses
Puntos: 19
Respuesta: Usar punteros de funciones mysql

nada raro simplemente tenes que mostrar los resultados como lo haces con cualquier consulta sql cuando usas mysql_query o mysql_db_query o lo que sea
podes usar mysql_fetch_array por ejemplo o la que quieras
  #3 (permalink)  
Antiguo 24/01/2009, 12:50
Avatar de Wilfred  
Fecha de Ingreso: octubre-2008
Mensajes: 110
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: Usar punteros de funciones mysql

el problema no es mostrar,esto produce la lista de db:
Código:
<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
$db_list = mysql_list_dbs($link);

while ($row = mysql_fetch_object($db_list)) {
    echo $row->Database . "\n";
}
?>
ahora como ago para ke cuando aprete en una de esas db me muestre las tablas,se que es con esta funcion mas o menos esto:
Código:
<?php
$dbname = 'mysql_dbname';

if (!mysql_connect('mysql_host', 'mysql_user', 'mysql_password')) {
    echo 'Could not connect to mysql';
    exit;
}

$result = mysql_list_tables($dbname);

if (!$result) {
    echo "DB Error, could not list tables\n";
    echo 'MySQL Error: ' . mysql_error();
    exit;
}

while ($row = mysql_fetch_row($result)) {
    echo "Table: $row[0]\n";
}

mysql_free_result($result);
?>

Vea también: mysql_list_dbs(), mysql_ta
como ago para ke ahí la variable dbname se defina cuando apreto en una tabla?

P.D:los códigos son de ejemplo de php.net

Gracias y saludos!
  #4 (permalink)  
Antiguo 24/01/2009, 19:07
Avatar de korg1988  
Fecha de Ingreso: junio-2006
Ubicación: Santa Fe, Argentina
Mensajes: 825
Antigüedad: 17 años, 10 meses
Puntos: 19
Respuesta: Usar punteros de funciones mysql

tendrias que crear un link y traer el nombre de la tabla por $_GET o algun otro metodo y entonces ahi realizar la consulta necesaria
  #5 (permalink)  
Antiguo 26/01/2009, 11:37
Avatar de Wilfred  
Fecha de Ingreso: octubre-2008
Mensajes: 110
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: Usar punteros de funciones mysql

Ya hice para que cada DB fuera un link
Código:
echo "<br><a href=$row[Database]>$row[Database]</a>";
ahora como lo paso por get al apretar en link

Se que si fuera un form sería asi:
Código:
$dbname= $_GET[''];
y después en la función mysql que muestra las tablas pasar le la variable $dbname,pero el problema es hacerlo con un link :s

gracias por tu paciencia korg!
  #6 (permalink)  
Antiguo 26/01/2009, 20:36
Avatar de korg1988  
Fecha de Ingreso: junio-2006
Ubicación: Santa Fe, Argentina
Mensajes: 825
Antigüedad: 17 años, 10 meses
Puntos: 19
Respuesta: Usar punteros de funciones mysql

tu link deberia ser algo asi
Código PHP:
echo '<br><a rel="nofollow" href="archivo.php?db='.$row[Database].'">'.$row[Database].'</a>'
  #7 (permalink)  
Antiguo 27/01/2009, 14:20
Avatar de Wilfred  
Fecha de Ingreso: octubre-2008
Mensajes: 110
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: Usar punteros de funciones mysql

Muximas gracias korg1988,ya conseguí lo que quería.(L)
dejo aquí el code por si a alguien le interesa:
Código:
 <?php
  //recoger variables
    $dbname= $_GET['dbname'];
    $server= $_POST['server'];
    $user= $_POST['user'];
    $pass= $_POST['pass'];
    
 //conectar con MySQL
	$link = mysql_connect('localhost', 'root', 'root');
if (!$link) {
    die('Could not connect: ' . mysql_error());
    }
   
    
    //consultas
   
    $db_list = mysql_list_dbs($link);
    $table_list = mysql_list_tables($dbname);

    

    
   //mostrar las bases de datos creadas
while ($row = mysql_fetch_array($db_list)) {
    
    echo '<br><a rel="nofollow" href="?dbname='.$row[Database].'">'.$row[Database].'</a>';
}

//mostrar las tablas

if(isset($_GET["dbname"])) {
  
  while ($row = mysql_fetch_row($table_list)) {
    echo "Table: $row[0]\n";
}

mysql_free_result($table_list);
}



   
    ?>
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 09:36.