Segédletek.hu
Segédletek weblap szerkesztéshez!
Fórum:
Postaláda:
Szavazás:
Hány éves vagy?
Segédletek:
Linkek:
MySQL alapfokon - 3:
Sorozat - mysql alapok a kezdetekhez:Az előző kettő folytatása, amelyben kicsit összesítjuk az eddig tanultakat és meg is írunk egy kisebb adatbázis-kezelő programot.
A segédlet megértéshez szügség lehet az előző kettőre, amelyeket az alábbi linkeket érhetsz el:
- MySQL alapfokon - 1
- MySQL alapfokon - 2
Mint a bevezetésben is említettem, létre fogunk hozni egy egyszerűbb adatbázis-kezelő programot.
Mint azt remélhetően tudjuk, vaktában soha nem állunk neki programot írni.
Először a program szerkezete:
index.php (alapban az elérhető adatbázisok listázása)
| - ?p=Console (az SQL consol)
| - ?p=ViewDB (adatbázis tábláinak a listázása)
A program nagyon egyszerű, nélkülöz minden design-t.
A Console része csak szemléltetésre használható, de tetszőlegesen kibővíthető akár phpMyAdmin-szerű kimenetre is.
A felhasznált utasítások:
- mysql_connect()
- mysql_select_db()
- mysql_query()
- mysql_fetch_row()
- mysql_fetch_assoc()
- mysql_real_escape_string()
- mysql_list_dbs()
Gaia
- MySQL alapfokon - 1
- MySQL alapfokon - 2
Mint a bevezetésben is említettem, létre fogunk hozni egy egyszerűbb adatbázis-kezelő programot.
Mint azt remélhetően tudjuk, vaktában soha nem állunk neki programot írni.
Először a program szerkezete:
index.php (alapban az elérhető adatbázisok listázása)
| - ?p=Console (az SQL consol)
| - ?p=ViewDB (adatbázis tábláinak a listázása)
A program nagyon egyszerű, nélkülöz minden design-t.
A Console része csak szemléltetésre használható, de tetszőlegesen kibővíthető akár phpMyAdmin-szerű kimenetre is.
<?php
// csatlakozunk az adatbázishoz
$db['host'] = 'localhost';
$db['login'] = 'root';
$db['pass'] = '';
// vegyük észtre, hogy $db['name'] -t nem definiálunk, szal egyelore nem választunk ki seemilyen adatbázist.
$cnn = mysql_connect($db['host'], $db['login'], $db['pass']) or die(mysql_error());
// SELF konstant definiálása
$self = 'index.php';
$counter = false;
// itt végigfutunk az összes $_GET-en és hozzáadjuk az értéküket a selfhez
while(list($k, $v) = each($_GET))
{
if($counter == false)
{
$self .= '?'.$k.'='.$v;
$counter = true;
}
else
{
$self .= '&'.$k.'='.$v;
}
}
define('SELF', $self);
// menüsor
echo '
<html>
<head>
<title>Egyszeru adatbázis-kezelo program</title>
<style type="text/css">
a {
color: Blue;
text-decoration:none;
}
a:hover {
text-decoration:underline
}
</style>
</head>
<body>
<div style="background-color:#CCC"><b>
<a href="index.php">Adatbázisok listája</a>
-
<a href="index.php?p=Console">SQL Console</a>
</b></div>
<hr size="1" />';
// néhány verzió notice hibát ad vissza, ha esetleg a switch()-ben levő $_GET['p'] nem létezik
if(isset($_GET['p']))
{
$p = $_GET['p'];
}
else
{
$p = '';
}
switch($p)
{
case 'Console':
// ez a consol, ahol beírhatunk MySQL utasításokat
if(isset($_POST['query']))
{
// ha kaptunk SQL utasítást, akkor azt végrehajtjuk
$qr = mysql_real_escape_string($_POST['query'], $cnn);
$result = mysql_query($qr, $cnn) or die(mysql_error().'
<a onclick="history.go(-1)">Vissza</a>');
// további info errol az utasításról itt található
echo '
SQL utasítás:
<div style="border:1px solid #999;background-color:#CCC">
'.$_POST['query'].'
</div>
Kimenet:
'.$output;
}
else
{
// form
echo '
<form method="post" action="'.SELF.'">
SQL utasítás:
<textarea name="query" cols="45" rows="8"></textarea>
<input type="submit" value="Küldés" />
</form>';
}
break;
case 'ViewDB':
// egy $_GET['db']-ben megadott adatbázis tábláinak listázása
$db = $_GET['sdb'];
$dbh = mysql_select_db($db, $cnn); // adatbázis kiválasztása
echo '
Adatbázis tábláinak listázása - '.$db.'
<ul>';
$query = @mysql_query("SHOW TABLES FROM ".$db) or die(mysql_error());
$result_num = mysql_affected_rows();
while($res = mysql_fetch_row($query))
{
echo '
<li>'.$res[0].'</li>';
}
echo '
</ul>
Összesen <i>'.$result_num.'</i> tábla kilistázva.';
break;
default:
// alap index.php - adatbázisok listája
echo '
Adatbázisok listája:
<ul>';
$dbs = mysql_list_dbs($cnn);
$counter = 0;
while($db = mysql_fetch_assoc($dbs))
{
$counter++;
$name = $db['Database'];
echo '
<li><a href="index.php?p=ViewDB&sdb='.$name.'">'.$name.'</a></li>';
}
echo '
</ul>
Összesen <i>'.$counter.'</i> adatbázis kilistázva.';
break; // ez a break itt nem feltétlenül szügséges, mert nincs több elágazás, de biztos, ami biztos..
}
?>
A felhasznált utasítások:
- mysql_connect()
- mysql_select_db()
- mysql_query()
- mysql_fetch_row()
- mysql_fetch_assoc()
- mysql_real_escape_string()
- mysql_list_dbs()
Gaia
Írta: Gaia - 2006-12-14 18:17:11
* Nem vagy bejelentkezve!* Nem töltheted le a segédlet forrását egyben!
* Nem szavazhatsz a segédletre!
* Nem írhatsz a segédlethez tartozó fórum témába!
| Firith | 2007-02-27 08:00:21 |
| mit szólnátok egy SQL burkolóhoz? | |
| Gaia | 2006-12-15 21:27:51 |
| A szint már inkább haladóknak szól, mint kezdőknek, de a kezdők is megérhetik az előző kettő átolvasásával.. | |

