[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как передать переменную из одного файла в другой
Гость_Ольга
Товарищи! Помогите пожалуйста чайнику, если не трудно. Делаю диплом. Имеются базы данных MySQL. Пишу скрипт, который выводит ссылки с имеющимися БД, нажимаешь на ссылку - выводится список соответствующих таблиц (тоже ссылки), нажимешь снова на ссылку с таблицей - выводится сама таблица. Вот мой скрипт (1.php):

$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)

Уже делаешь диплом, а пиишешь некрасииво sad.gif

Спустя 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)), не пойму, чего не так unsure.gif

Спустя 1 час, 10 минут, 59 секунд (30.01.2010 - 18:32) Ice написал(а):
Вот мой вариантик smile.gif
PS - скрипт исправлен))) версия 1.1 laugh.gif

Итак, это - наш обработчик:

<?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>';
}
}
}
}

?>


А это - наша страничка smile.gif :

<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, все работает
user posted image!!!! Вы просто супер wub.gif !
И вообще всем спасибо, кто уделил внимание моей скромной персоне biggrin.gif

Спустя 12 минут, 24 секунды (30.01.2010 - 20:34) Ice написал(а):
Девушка, Вы заходите почаще) скрипт постоянно обновляется)))
Последнее время обновления 20.33))) Пора заводить changelog ph34r.gif biggrin.gif

Свернутый текст
Но тут уже добавляются чисто косметические типа красоты, перетасовки кода по местам, наиболее удобным. Появилась некая "обработка ошибок. А в остальном - всё работает=) Я думаю, дальше и Вы сами сможете поддоделать tongue.gif


Незачто)))
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.