Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Управление данными таблицы БД

Ответить
Настройки темы
Управление данными таблицы БД

Аватара для FoXLee

Новый участник


Сообщения: 20
Благодарности: 1

Профиль | Отправить PM | Цитировать


Здравствуйте. Появилось желание переделать систему управления данных таблицы БД, дело в том, что у меня она сделана так, что приходится нажимать на ссылку "Изменить данные", затем из выползающего списка выбрать запись в таблице и далее можно обновлять нужные строчки... Хотелось бы сделать так, чтобы просто в списке записей таблицы были под каждой записей кнопки/ссылки "Изменить" и "Удалить" как это сделать?

Отправлено: 17:31, 12-09-2008

 

Аватара для FoXLee

Новый участник


Сообщения: 20
Благодарности: 1

Профиль | Отправить PM | Цитировать


Так, сделал, но почему-то поля ввода, которые автоматически должны заполняться данными из таблицы (в show_modvac.php), заполняются только в vac_id=1, в записи 2 и 4 поля ввода не заполняются, но если их заполнить самостоятельно новыми данными и нажать кнопку "обновить запись" - они обновляются успешно.

sel_byvac_id.php
PHP код: Выделить весь код

<?
$db_name 
"GoDB";
$table_name "vacansies";
$connection = @mysql_connect("localhost""root""qwerty")
or die(
"Невозможно подключиться MySQL.");
$db = @mysql_select_db ($db_name$connection)
or die (
"Невозможно выбрать базу данных.");
$sql "SELECT vac_id, vac_name, age, formation, exp, duties, conditions, contacts, date
FROM $table_name
ORDER BY vac_id
"
;
$result = @mysql_query($sql$connection)
or die(
"Невозможно выполнить запрос.");
$display_block "";
while (
$row mysql_fetch_array($result)) {
    
$vac_id $row['vac_id'];
    
$vac_name $row['vac_name'];
    
$age $row['age'];
    
$formation $row['formation'];
    
$exp $row['exp'];
    
$duties $row['duties'];
    
$conditions $row['conditions'];
    
$contacts $row['contacts'];
    
$date $row['date'];
$display_block .= "<p><strong>$vac_name</strong><br>
<strong>Требования: </strong> Возраст: $age $formation $exp<br>
<strong>Обязанности: </strong> $duties<br>
<strong>Условия: </strong> $conditions $contacts<br>
<strong>Дата добавления вакансии: </strong> $date
</p>
<FORM METHOD=\"post\" ACTION=\"show_modvac.php?vac_id="
.$vac_id."\"> 
<p><INPUT TYPE=\"SUBMIT\" NAME=\"submit\" VALUE=\"Изменить\"></P>
</form>
<FORM METHOD=\"post\" ACTION=\"show_delvac.php\">
<p><INPUT TYPE=\"SUBMIT\" NAME=\"submit\" VALUE=\"Удалить\"></P>
</form>"
;


}
?>
<html>
<head>
<title>Список Вакансий (сортировка по номеру)</title>
</head>
<body>
<h1>Список Вакансий</h1>
<?
echo "$display_block";
?>
<p><a href ="index.php">Назад</a></p>
</body>
</html>

http://localhost/show_modvac.php
PHP код: Выделить весь код

<?
$vac_id
=$_SERVER['QUERY_STRING'];  
$db_name "GoDB";
$table_name "vacansies";
$connection = @mysql_connect("localhost""root""qwerty")
or die(
"Невозможно подключиться MySQL.");
$db = @mysql_select_db ($db_name$connection)
or die (
"Невозможно выбрать базу данных.");
$sql "SELECT vac_id, vac_name, age, formation, exp, duties, conditions, contacts, date
FROM $table_name
WHERE vac_id = $vac_id
"
;
$result = @mysql_query($sql$connection)
or die(
"Невозможно выполнить запрос.");
$row mysql_fetch_array($result);
?>
<html>
    <head>
        <title>Управление вакансиями: Изменение вакансии</title>
    </head>
    <body>
        <h1>Управление вакансиями</h1>
        <h2><em>Изменение вакансии</em></h2>
        <FORM METHOD="post" ACTION="do_modvac.php">
            <INPUT TYPE="hidden" name="vac_id" value="<? echo $row['vac_id']; ?>">
            <P><STRONG>Номер вакансии :</STRONG><BR>
            <INPUT TYPE="text" NAME="vac_id" VALUE="<? echo $row['vac_id']; ?>" SIZE=5 MAXLENGHT=5></p>
            <P><STRONG>Должность :</STRONG><BR>
            <INPUT TYPE="text" NAME="vac_name" VALUE="<? echo $row['vac_name']; ?>" SIZE=100 MAXLENGHT=150></p>
            <P><STRONG>Возраст :</STRONG><BR>
            <INPUT TYPE="text" NAME="age" VALUE="<? echo $row['age']; ?>" SIZE=20 MAXLENGTH=100</p>
            <P><STRONG>Образование :</STRONG><BR>
            <INPUT TYPE="text" NAME="formation" VALUE="<? echo $row['formation']; ?>" SIZE=100 MAXLENGTH=150</p>
            <P><STRONG>Опыт работы :</STRONG><BR>
            <INPUT TYPE="text" NAME="exp" VALUE="<? echo $row['exp']; ?>" SIZE=100 MAXLENGTH=150</p>
            <P><STRONG>Обязанности :</STRONG><BR>
            <INPUT TYPE="text" NAME="duties" VALUE="<? echo $row['duties']; ?>" SIZE=100 MAXLENGTH=150</p>
            <P><STRONG>Условия :</STRONG><BR>
            <INPUT TYPE="text" NAME="conditions" VALUE="<? echo $row['conditions']; ?>" SIZE=100 MAXLENGTH=150</p>
            <P><STRONG>Контакты :</STRONG><BR>
            <INPUT TYPE="text" NAME="contacts" VALUE="<? echo $row['contacts']; ?>" SIZE=100 MAXLENGTH=150</p>
            <P><STRONG>Дата добавления вакансии (ГГГГ-ММ-ДД) :</STRONG><BR>
            <INPUT TYPE="text" NAME="date" VALUE="<? echo $row['date']; ?>" SIZE=10 MAXLENGTH=10</p>
            <P><INPUT TYPE="SUBMIT" NAME="submit" VALUE="Обновить"></P>
            <p><a href="pick_modvac.php">Назад</a></p>
            <p><a href="index.php">Возврат к главному меню</a></p>
        </FORM>
    </BODY>
</HTML>



Отправлено: 13:07, 16-09-2008 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для timon4ik

Старожил


Сообщения: 272
Благодарности: 37

Профиль | Отправить PM | Цитировать


Я вас немного запутал))
Если
PHP код: Выделить весь код

<FORM METHOD="post\" ACTION=\"show_modvac.php?vac_id=".$vac_id."\"> 


то
PHP код: Выделить весь код

$vac_id=$_GET['vac_id']; 


А если
PHP код: Выделить весь код

<FORM METHOD="post\" ACTION=\"show_modvac.php?".$vac_id."\"> 


то
PHP код: Выделить весь код

$vac_id=$_SERVER['QUERY_STRING']; 


А то получилось что в значении $vac_id у вас оказалась строка "vac_id=1", что есть неправильно
Это сообщение посчитали полезным следующие участники:

Отправлено: 13:30, 16-09-2008 | #12


Аватара для FoXLee

Новый участник


Сообщения: 20
Благодарности: 1

Профиль | Отправить PM | Цитировать


Да, спасибо, распутали меня )))

Все работает как надо, осталось только улучшить ))) Вопрос - как сделать, чтобы ID и дата добавлялись автоматически при добавлении записи в таблицу?

Отправлено: 17:25, 18-09-2008 | #13


Аватара для Coutty

Кот Ти


Сообщения: 7318
Благодарности: 1204

Профиль | Отправить PM | Цитировать


ID будет автоматом добавляться, если в таблице столбец помечен как auto_increment
Насчёт даты... Я не уверен, но, кажется, нельзя автоматом. Разве только какой-нибудь sql-запрос специальный (в mysql наверняка есть функция вроде GET_DATE или что-то подобное).
Это сообщение посчитали полезным следующие участники:

Отправлено: 17:55, 18-09-2008 | #14


Аватара для FoXLee

Новый участник


Сообщения: 20
Благодарности: 1

Профиль | Отправить PM | Цитировать


Спасибо, я об этом знал, но когда пробовал, забыл все упоминания об vac_id убрать из add.php

Ладно, попробую сам с датой решить...

Отправлено: 18:03, 18-09-2008 | #15


Аватара для timon4ik

Старожил


Сообщения: 272
Благодарности: 37

Профиль | Отправить PM | Цитировать


Можно добавить в таблицу поле timestamp:
Код: Выделить весь код
ADD COLUMN `dt` timestamp(6) NOT NULL DEFAULT 'YYMMDD';
Заполняться будет автоматически в формате YYMMDD

Есть еще варианты:
YYYYMMDD
YYMMDDHHMMSS
YYYYMMDDHHMMSS

Не забывайте менять длину поля в зависимости от длины устанавливаемого дефолтного значения.
Это сообщение посчитали полезным следующие участники:

Отправлено: 20:04, 18-09-2008 | #16


Аватара для dima1981

Ветеран


Сообщения: 512
Благодарности: 23

Профиль | Отправить PM | Цитировать


timon4ik, вы не знаете случаем, как в браузере дату размещения информации отображать не год, месяц, день, время, но к примеру день, месяц, год мне что то не встречались решения таой задачи, так и оставил в соответствии со стандартом?
но все таки хорошо бы для отечественной аудитории понятный формат дат размещать )

-------
не уверен, что знаешь наверняка, говори об этом заблаговремено )

Это сообщение посчитали полезным следующие участники:

Отправлено: 20:20, 18-09-2008 | #17


Аватара для timon4ik

Старожил


Сообщения: 272
Благодарности: 37

Профиль | Отправить PM | Цитировать


dima1981,
Если нужно преобразовать дату полученную из MySQL-поля timestamp, то можно написать что-то типа этого:
PHP код: Выделить весь код

<?

$timestamp
="080919";        // дата, полученная из поля timestamp в формате YYMMDD
$timestamp=chunk_split($timestamp2" ");    // разбиваем строку timestamp на группы по 2 цифры с разделителями-пробелами
$timestamp=explode(" "$timestamp);     // режем строку по разделителю-пробелу и пары цифр загоняем в массив
echo $timestamp[2]."-".$timestamp[1]."-".$timestamp[0];    // выводим элементы массива в привычном для нас порядке "DD-MM-YY"
?>

А если нужно сгенерировать дату в момент формирования страницы - воспользуйтесь функцией date()
Это сообщение посчитали полезным следующие участники:

Отправлено: 09:24, 19-09-2008 | #18


Аватара для FoXLee

Новый участник


Сообщения: 20
Благодарности: 1

Профиль | Отправить PM | Цитировать


Спасибо!
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:27, 19-09-2008 | #19


Аватара для dima1981

Ветеран


Сообщения: 512
Благодарности: 23

Профиль | Отправить PM | Цитировать


timon4ik вот такая ситуация к примеру выглядит так

PHP код: Выделить весь код

echo ("<tr><td>$abc[1]</td><td align='center'>$abc[2]// требуется разместить этот код <? 

$timestamp
="080919";        // дата, полученная из поля timestamp в формате YYMMDD 
$timestamp=chunk_split($timestamp2" ");    // разбиваем строку timestamp на группы по 2 цифры с разделителями-пробелами 
$timestamp=explode(" "$timestamp);     // режем строку по разделителю-пробелу и пары цифр загоняем в массив 
echo $timestamp[2]."-".$timestamp[1]."-".$timestamp[0];    // выводим элементы массива в привычном для нас порядке "DD-MM-YY" 
?> тут, как быть в подобной ситуации?</td><td align='center'>$abc[3]</td></tr>");

Для осуществления такого в природе способы существуют, как таковые?
Заранее благодарен )

-------
не уверен, что знаешь наверняка, говори об этом заблаговремено )

Это сообщение посчитали полезным следующие участники:

Отправлено: 17:24, 19-09-2008 | #20



Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Управление данными таблицы БД

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - Управление компьютера при помощи речи - Голосовое управление mihanik Программное обеспечение Windows 24 11-04-2014 03:36
Flash - на Kingston пролема с данными dfuec Накопители (SSD, HDD, USB Flash) 1 20-02-2008 06:22
Непонятка с текстовыми данными fsab Программное обеспечение Windows 3 22-11-2007 18:57
[Ъ] Управление пользовательскими данными и настройками Vadikan Microsoft Windows NT/2000/2003 27 15-05-2007 13:37
Меню на дисках с данными vovixxx Хочу все знать 4 15-08-2005 20:48




 
Переход