$db = $_GET["Database"];
$table = $_GET["Tables_in_$db"];
if ($db){
$res=mysql_query("SHOW TABLES FROM $db",$link);
while($str=mysql_fetch_array($res)) // перебор строк с таблицами с начала до конца
{
echo "<p><a href='1.php?Tables_in_".$db."=".$str["Tables_in_$db"]."'>".$str["Tables_in_$db"]."</a></p>"; // Вывод на экран списка таблиц в базе данных
}
}
if (!$db) {
$result=mysql_query("SHOW DATABASES",$link);
while($stroka=mysql_fetch_array($result)) // перебор строк с именами БД с начала до конца
{
echo "<p><a href='1.php?Database=".$stroka["Database"]."'>".$stroka["Database"]."</a></p>"; // Вывод на экран значений ячеек базы данных
}
}
if ($table) {
[скрипт, выводящий таблицу]
}
В итоге список БД выводится, нажимаешь на ссылку - список таблиц выводится, нажимаешь на ссылку с таблицей - попадаешь обратно на список БД. Третья часть не работает. Пробовала скрипт, выводящий таблицу, в отдельный файл запихать (2.php) и ссылаться на него, когда нажимаешь на ссылку с именем таблицы, так 2.php не понимает, что такое $db и $table
Спустя 1 час, 37 минут, 44 секунды (30.01.2010 - 15:39) Oyeme написал(а):
Написал не проверя синтаксис.
if (isset($table)) {
$result =mysql_query("SELECT * FROM {$table} ") or die(mysql_error());
$fields=mysql_num_fields($result);
echo "<table><tr>";
for ($i=0; $i < $fields; $i++) //Table Header
{
echo "<td>.mysql_field_name($result, $i).</td>";
}
echo "</tr>";
while ($row = mysql_fetch_row($result)) { //Table body
echo "<tr>";
for ($i=0; $i < $fields; $i++) {
echo "<td>$row[$i]</td>";
}
echo "</tr>";
}
echo "</table>";
}
Спустя 8 минут, 57 секунд (30.01.2010 - 15:48) Ice написал(а):
Цитата (Гость_Ольга @ 30.01.2010 - 15:01) |
Товарищи! Помогите пожалуйста чайнику, если не трудно. Делаю диплом. Имеются базы данных MySQL. Пишу скрипт, который выводит ссылки с имеющимися БД, нажимаешь на ссылку - выводится список соответствующих таблиц (тоже ссылки), нажимешь снова на ссылку с таблицей - выводится сама таблица. Вот мой скрипт (1.php) |
Уже делаешь диплом, а пиишешь некрасииво
Спустя 11 минут, 54 секунды (30.01.2010 - 16:00) Гость_Ольга написал(а):
А что некрасиво то? просветите хоть
Спустя 6 минут, 47 секунд (30.01.2010 - 16:06) Ice написал(а):
читать неудобно столбик
Спустя 1 час, 14 минут, 22 секунды (30.01.2010 - 17:21) Гость_Ольга написал(а):
Ну извиняйте, как умею, так пишу.
Oyeme, спасибо, но все равно почему-то вывод таблицы не выполняется, опять попадаю на ссылки со списком баз. Я уж везде разные условия попробовала, типа (($table) && (!$db)), не пойму, чего не так
Oyeme, спасибо, но все равно почему-то вывод таблицы не выполняется, опять попадаю на ссылки со списком баз. Я уж везде разные условия попробовала, типа (($table) && (!$db)), не пойму, чего не так
Спустя 1 час, 10 минут, 59 секунд (30.01.2010 - 18:32) Ice написал(а):
Вот мой вариантик
PS - скрипт исправлен))) версия 1.1
Итак, это - наш обработчик:
А это - наша страничка :
PS - скрипт исправлен))) версия 1.1
Итак, это - наш обработчик:
<?php
function handler(){
define("DB_HOST", "localhost");
define("DB_USER", "root");
define("DB_PASS", "");
define("DB_","mysql");
mysql_connect(DB_HOST, DB_USER, DB_PASS) or die(mysql_error());
// Show us databases
if(isset($_GET['act']) and $_GET['act'] == 'database'){
$res = mysql_query("SHOW DATABASES") or die(mysql_error());
while($row = mysql_fetch_assoc($res)){
echo "<a href=\"".$_SERVER['PHP_SELF']."?db=".$row['Database']."\">" . $row['Database'] . '</a><br>';
}
}
// Show us tables
if(isset($_GET['db'])){
if(preg_match('/^[`\']+/', $_GET['db'])){
return;
}
$db = mysql_real_escape_string($_GET['db']);
$tin = "Tables_in_".$db;
$res = mysql_query("SHOW TABLES FROM $_GET[db]") or die(mysql_error().' q1');
while($row = mysql_fetch_assoc($res)){
echo "<a href=\"".$_SERVER['PHP_SELF']."?db=".$_GET['db']."&t=".$row[$tin]."\">" . $row[$tin] . '</a><br>';
}
// Show us table contents
if(isset($_GET['db']) and isset($_GET['t'])){
if(preg_match('/^[`\']+/', $_GET['t'])){
return;
}
$table = mysql_real_escape_string($_GET['t']);
mysql_select_db($db);
$sql2 = "SELECT * FROM $table";
$res = mysql_query($sql2) or die(mysql_error().' q2');
$fields = mysql_num_fields($res);
if(mysql_num_fields($res) > 0){
echo '<p>Таблица <b>'.$table.'</b></p>';
echo '<table border=1><tr>';
//выводим контент
$j = 0;
if(mysql_num_rows($res) < 1){
exit("пуста");
}else{
// выводим имена полей
$i = 0;
echo "<hr>";
while($i < mysql_num_fields($res)){
$row = mysql_fetch_field($res, $i);
echo '<td>' . $row -> name . '</td>';
$i ++;
}
echo '</tr>';
echo '<tr>';
while($r = mysql_fetch_assoc($res)){
if($j == mysql_num_fields($res)){
$j = 0;
echo '</tr><tr>';
}
while($j < mysql_num_fields($res)){
$row = mysql_fetch_field($res, $j);
echo '<td>' . $r[$row -> name] . '</td>';
$j ++;
}
}
}
//
echo '</tr>';
echo '</table>';
}
}
}
}
?>
А это - наша страничка :
<html>
<head>
<title>Моя страничка</title>
</head>
<body>
<p>
<a href="<?php echo $_SERVER['PHP_SELF']?>?act=database">Ссыль</a>
</p>
<?php
// Вызываем обработчик
handler();
?>
</body>
</html>
Спустя 1 час, 50 минут, 10 секунд (30.01.2010 - 20:22) Гость_Ольга написал(а):
Ай спасибо, Ice, все работает
!!!! Вы просто супер !
И вообще всем спасибо, кто уделил внимание моей скромной персоне
!!!! Вы просто супер !
И вообще всем спасибо, кто уделил внимание моей скромной персоне
Спустя 12 минут, 24 секунды (30.01.2010 - 20:34) Ice написал(а):
Девушка, Вы заходите почаще) скрипт постоянно обновляется)))
Последнее время обновления 20.33))) Пора заводить changelog
Незачто)))
Последнее время обновления 20.33))) Пора заводить changelog
Свернутый текст
Но тут уже добавляются чисто косметические типа красоты, перетасовки кода по местам, наиболее удобным. Появилась некая "обработка ошибок. А в остальном - всё работает=) Я думаю, дальше и Вы сами сможете поддоделать
Незачто)))