Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> как правильно работать с базой Mysql 
:(
    Опции темы
kshyms
  Дата 18.1.2008, 12:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 303
Регистрация: 30.8.2006
Где: Душанбе

Репутация: нет
Всего: 0



Код

<?php
    /* Соединяемся, выбираем базу данных */
    $link = mysql_connect("mysql_host", "mysql_user", "mysql_password")
        or die("Could not connect : " . mysql_error());
    print "Connected successfully";
    mysql_select_db("my_database") or die("Could not select database");

    /* Выполняем SQL-запрос */
    $query = "SELECT * FROM my_table";
    $result = mysql_query($query) or die("Query failed : " . mysql_error());

    /* Выводим результаты в html */
    print "<table>\n";
    while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
        print "\t<tr>\n";
        foreach ($line as $col_value) {
            print "\t\t<td>$col_value</td>\n";
        }
        print "\t</tr>\n";
    }
    print "</table>\n";

    /* Освобождаем память от результата */
    mysql_free_result($result);

    /* Закрываем соединение */
    mysql_close($link);
?> 
как правильно добавить столбцы,  установить имена полей (tj, rus и третье поле в базе de)  и заполнить базу информацией  

Это сообщение отредактировал(а) kshyms - 18.1.2008, 12:42
PM MAIL WWW Skype   Вверх
MoLeX
Дата 18.1.2008, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 7
Всего: 140



Цитата(kshyms @  18.1.2008,  12:22 Найти цитируемый пост)
заполнить базу информацией 

Код

INSERT INTO `table` ( `id`,  `datew`) VALUES ('', '2008-01-18');



Цитата(kshyms @  18.1.2008,  12:22 Найти цитируемый пост)
добавить столбцы

Код

ALTER TABLE `table` ADD `столбец` VARCHAR( 11 ) NOT NULL AFTER `после_какого_поля_добавить` ;


Добавлено через 12 секунд
вроде так..

Добавлено через 2 минуты и 1 секунду
ну и на удаление столбцов (может пригодится)

Код

ALTER TABLE `table` DROP `название_столбца`



Цитата(kshyms @  18.1.2008,  12:22 Найти цитируемый пост)
установить имена полей (tj, rus и третье поле в базе de

в смысле? чето суть уходит от меня.


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
Sunvas
Дата 18.1.2008, 13:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Соль и сахар
****


Профиль
Группа: Участник
Сообщений: 3388
Регистрация: 12.3.2006
Где: Тосно

Репутация: 2
Всего: 89



Вообще-то давно пора юзать PhpMyAdmin, чтобы создать структуру таблицы.. - если автор хочет именно это сделать, т.к. я очень редко встречал скрипты, которые создают свои таблицы.


--------------------
Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их.
PM MAIL   Вверх
MoLeX
Дата 18.1.2008, 13:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 7
Всего: 140



в свою очередь рекомендую EngInSite MySQL Client программка просто супер  smile 


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
kshyms
  Дата 19.1.2008, 10:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 303
Регистрация: 30.8.2006
Где: Душанбе

Репутация: нет
Всего: 0



Код

$bdhost="пример";
$bdlogin="пример";
$bdpass="пример";
$maxThread = 20;
$db = mysql_connect($bdhost,$bdlogin,$bdpass) or die("podklushenia net");
mysql_select_db($bdname,$db) or die("net vibora basy");
$result = mysql_query("SELECT * FROM 'table');
translate `table` ADD `rus` VARCHAR( 1 ) NOT NULL AFTER ` ` ;//добавить 1 столбец
translate `table` ADD `tj` VARCHAR( 2 ) NOT NULL AFTER ` ` ;//добавить 2 столбец
$totaltexts=@mysql_num_rows($result);

if(!isset($page)) $page = 1;


if( $totaltexts <= $maxThread ) $totalPages = 1;
elseif( $totaltexts % $maxThread == 0 ) $totalPages = $totaltexts / $maxThread;
else $totalPages = ceil( $totaltexts / $maxThread );
if( $totaltexts == 0 ) $threadStart = 0;
else $threadStart = $maxThread * $page - $maxThread + 1;
if( $page == $totalPages ) $threadEnd = $totaltexts;
else $threadEnd = $maxThread * $page;
$initialMsg = $maxThread * $page - $maxThread;
$pages = (int) (($totaltexts + $maxThread - 1) / $maxThread);

$line = "stranica: |";
for ($k = 1; $k <= $pages; $k++) {
if ($k != $page) {$line .= "<a href=\"index.php?page=$k\"> $k </a>|";}
if ($k == $page) {$line .= " $k |";}
}


$result = mysql_query("SELECT text FROM 'table' LIMIT $initialMsg, $maxThread");


while ($myrow=mysql_fetch_array($result))
{
$text=$myrow["text"];
echo "$text<br>";
}


echo "$line";

$line = "page: |";
for ($k = 1; $k <= $pages; $k++) {
if ($k != $page) {$line .= "<a href=\"index.php?page=$k\"> $k </a>|";}
if ($k == $page) {$line .= " $k |";}
}



$line = "page: <a href=\"index.php?page=1\">â íà÷àëî</a> ";
for ($k = 1; $k <= $pages; $k++) {
if (($k - $page) < 3 and ($k + 3) > $page)
{
if ($k != $page) {$line .= "<a href=\"index.php?page=$k\">$k</a>";}
if ($k == $page) {$line .= "$k";}
}
}
$ppg=$page+1;
if ($ppg <= $pages) {$line .= " <a href=\"index.php?page=$ppg\">vpered</a>";}
$line .= " <a href=\"index.php?page=$pages\">v konec</a>";
Будет ли этот скрипт управления базой работать если использовать эти выражения
INSERT INTO `table` ( `id`,  `datew`) VALUES ('', '2008-01-18');  
ALTER TABLE `table` ADD `rus` VARCHAR( 1 ) NOT NULL AFTER ` ` ;
ALTER TABLE `table` DROP `` А те ссылки PhpMyAdmin и EngInSite MySQL Client  я скачал и посмотрел эти программы . Благодарен, красиво, но непонятно! Я понимаю только простые скрипты и еще то, что я сам сделал и сделаю с помощью ваших подсказок.  

MoLeX, 
Sunvas, 


Это сообщение отредактировал(а) kshyms - 19.1.2008, 10:17
PM MAIL WWW Skype   Вверх
smartov
Дата 19.1.2008, 17:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

Репутация: 2
Всего: 259



kshyms, во первых у тебя ошибка в скрипте, так что работать он не будет полюбому.
Это видно даже если обратить внимание на подсветку.
Код

$result = mysql_query("SELECT * FROM 'table');
translate `table` ADD `rus` VARCHAR( 1 ) NOT NULL AFTER ` ` ;//добавить 1 столбец
translate `table` ADD `tj` VARCHAR( 2 ) NOT NULL AFTER ` ` ;//добавить 2 столбец

Да и еще какие-то SQL запросы в тексте PHP :\

А если брать общий случай, то скрипт будет работать, если выражения и скрипт будут верными, и не обязательно уточнять это для каждого выражения smile Если php скрипт корректно возвращает результат выражения SHOW DATABASES то и все остальное он тоже будет отрабатывать.

А если брать выражения, то вроде они частично верны (структуры твоей базы я не знаю, конечно) 

Код

INSERT INTO `table` ( `id`,  `datew`) VALUES ('', '2008-01-18');  
#лучше
INSERT INTO `table` ( `id`,  `datew`) VALUES (0, '2008-01-18');  


Код

ALTER TABLE `table` ADD `rus` VARCHAR( 1 ) NOT NULL AFTER ` ` ;
#не знаю почему varchar.  Наверное там пометка - русский ли язык? Лучше испольщовать тогда int
#если AFTER пустой, то писать его не надо
ALTER TABLE `table` ADD `rus` INT(1) NOT NULL;


А последнее
Код

ALTER TABLE `table` DROP ``

вообще непонятно что должно делать. Если ты хотел удалить таблицу, то это делается через
Код

DROP TABLE `table`

PM MAIL   Вверх
kshyms
Дата 19.1.2008, 17:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 303
Регистрация: 30.8.2006
Где: Душанбе

Репутация: нет
Всего: 0



Код

<html>
<head><title>Установка управления базы словаря</title></head>
<body>
<h2>Установка управления базы словаря</h2>
<form action=<?=$SCRIPT_NAME?> method=post>
<table>
<tr><td align=right>Хост:</td>
<td align=left><input type=text name=host value=<?=$host?>></td></tr>
<tr><td align=right>Логин:</td>
<td align=left><input type=text name=login value=<?=$login?>></td></tr>
<tr><td align=right>Пароль:</td>
<td aling=left><input type=password name=password></td></tr>
<tr><td align=right>База:</td>
<td align=left><input type=text name=database value=<?=$database?>></td></tr>
<tr><td align=right>Таблица:</td>
<td align=left><input type=text name=table value=<?=$table?>></td></tr>
<tr><td align=right>Пароль админа:</td>
<td align=left><input type=password name=pass></td></tr>
</table>
<input type=submit name=go value="Install">
</form>
<?
function error()
// Выводим сообщение об ошибке и выходим
{
  echo "Error #".mysql_errno().": ".mysql_error();
  exit;
}
if(isset($go)):// Если пользователь передал параметры
echo "Подключаемся к MySQL...<br>\n";
mysql_connect($host,$login,$password) or error();
echo "Выбираем базу данных $database...<br>\n";
mysql_select_db($database) or error();
echo "Удаляем таблицу (если существует) $table...<br>\n";
mysql_query("DROP TABLE IF EXISTS $table") or error();
echo "Создаем новую таблицу $table...<br>\n";
mysql_query("
  CREATE TABLE $table(
    rus(30),
    tj(30),
    de(30),
    eng(30)
      )") or error();
// Создадим файл конфигурации и запишем в него
// параметры подключения и пароль 
$f=fopen('gbook.conf','w');
flock($f,LOCK_EX); // Исключительная блокировка файла
fputs($f,"$host\n$login\n$password\n$database\n$table\n$pass");
flock($f,LOCK_UN); // Снимаем блокировку с файла
fclose($f);
// Создадим файл .htaccess и укажем в нем
// что по умолчанию нужно открывать файл gbook.php
$f=fopen('.htaccess','w');
flock($f,LOCK_EX);
fputs($f,"DirectoryIndex gbook.php\n");
flock($f,LOCK_UN);
fclose($f);
// Установим права на чтение/запись
// только для владельца
exec('chmod 600 gbook.conf');
exec('chmod 600 install.php');
echo "<b>Инсталляция завершена</b><br>";
echo "<a href=gbook.php>Установка управления базы словаря</a>";
endif;
?>
</body>
</html>

Может два файла создать одним создаем таблицу, а другим управляем базой 
А если этим скриптом создать таблицу?
А можно ли данные из блокнота закачать в базу mysql в цикле?

Добавлено @ 17:46
smartov,  
Цитата

структуры твоей базы я не знаю, конечно

Это четыре столбца (поля) русские, таджикские, немецкие и английские слова для переводчика. 
Переводчик и его база рассчитаны на студентов и служащих, не в полной мере владеющих языками. 
Алгоритм работы с базой еще не отработан  

Это сообщение отредактировал(а) kshyms - 19.1.2008, 17:53
PM MAIL WWW Skype   Вверх
kshyms
Дата 19.1.2008, 17:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 303
Регистрация: 30.8.2006
Где: Душанбе

Репутация: нет
Всего: 0



И еще у меня проблемы с кодировками шрифтов как это устранить?
PM MAIL WWW Skype   Вверх
skyboy
Дата 19.1.2008, 22:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 14
Всего: 260




M
skyboy
создать новую тему. с вменяемым названием.

PM MAIL   Вверх
  
Закрытая темаСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.0788 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.