Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/18: Рейтинг темы: голосов - 18, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 14.04.2011
Сообщений: 15

присвоение id сообщению

15.05.2011, 03:48. Показов 3940. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здраствуйте. Нужна Ваша помощь. Не могу разобраться как присвоить id записи в бд


База данных выглядит так:

blogid userid name text added
где blogid - порядковый номер записи
userid - id юзера
name - заголовок сообщения
text - сама запись блога
added - дата размещения


Вот форма добавления записи в блог и написания текста
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
begin_frame ( "Личный блог пользователя " . get_user_group_color ( $user ["group"], $user ["username"] ) . "" . $kubok . "" . $medaldon . "" . $warn . " " . $friends . "", "100" );
print("<div id=\"wall\">\n");
$count = get_row_count("userblog", "WHERE userid = $id");
$limited = 2;
list($pagertop, $pagerbottom, $limit) = pager($limited, $count, "userblog.php?id=$id&", array(lastpagedefault => 1));
$res = sql_query("SELECT w.*, u.username, u.group, u.avatar FROM userblog AS w LEFT JOIN users AS u ON u.id = w.userid WHERE w.userid = $id ORDER BY w.added $limit") or sqlerr(__FILE__,__LINE__);
if (mysql_num_rows($res) < 1)
    print("<p>Нет записей.</p>\n");
else
{
    print("<table class=\"inlay\" width=\"100%\">\n");
    while ($row = mysql_fetch_array($res))
    {
        print("<tr class=\"zebra\" valign=\"top\">
            <td width=\"50\"><img src=\"" . ($row['avatar'] ? $row['avatar'] : "pic/default_avatar.gif") . "\" style=\"border:1px solid #999;padding:5px;width:50px;\" title=\"\" alt=\"\" /></td>
<td>
                <div style=\"float:left;\"><a href=\"userdetails.php?id=" . $row['user'] . "\">" . get_user_group_color($row['group'], $row['username']) . "</a></div>             
<div style=\"float:right;\"><font size=\"1\" color=\"#C0C0C0\">" . nicetime($row['added'], true) . "&nbsp;" . (($CURUSER['id'] == $row['userid'] || $CURGROUP ['can_viewprof']) ? );\"></a>" : "") . "</font></div><br /><br /><b><font size=4>" . format_comment($row['name']) . "</font></b><br /><br /><br />" . format_comment($row['text']) . "</td>
        </tr>\n");
 
        print("<tr><td></td></tr>\n");
 
    }
    print("</table>\n");
    print("<table border=\"0\">\n");
    print("<tr><td style=\"border:none;\">");
    print($pagertop);
    print("</td></tr>");
    print("</table>\n");
}
print("</div>");
print("<hr noshade size=\"1\" color=\"#CCCCCC\">\n");
if ($user['id'] != $CURUSER['id'])
{
}
else{
?>
<br>
<h3>Добавить сообщение</h3>
<!-- форма отправки сообщения -->
 
<!-- проверка заполнения формы -->
<script>
function splash()
{
    if (document.myForm.username.value  =='')
        {
            alert ("Заполните имя пользователя!");
            return false;   
        }
        
    if (document.myForm.msg.value  =='')
        {
            alert ("Заполните текст сообщения!");
            return false;   
        }
    
    return true;   
}
</script>
 
<!-- код формы -->
<form name="myForm" action="blogaction.php" method="post" onSubmit="return splash();">
<input type="hidden" name="action" value="add">
<table border="0">
    <tr>
        <td width="160">
            Тема:
        </td>
        <td>
            <input name="name" style="width: 300px;">
        </td>
    </tr>
    <tr>
        <td width="160" valign="top">
            Сообщение:
        </td>
        <td>
            <textarea name="text" style="width: 750px; height: 200px;"></textarea>
        </td>
    </tr>       
    <tr>
        <td width="160">
            &nbsp;
        </td>
        <td>
            <input type="submit" value="Отправить сообщение">
        </td>
    </tr>
</table>
 
</form>
<?
}
end_frame();
вот файл blogaction.php который заносит записи в бд
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php
 
require_once("include/bittorrent.php");
dbconn(false);
 
 
    // получаем переменные из формы
    $name=$_REQUEST['name'];
    $text=$_REQUEST['text'];
    $action=$_REQUEST['action'];
    [B]$blogid=10;[/B]
    $userid = $CURUSER ['id'];
    if ($action=="add")
    {
        // добавление данных в БД 
        $sql="INSERT INTO userblog (name, blogid, text, userid) VALUES ('$name', $blogid, '$text', '$userid')";
        $r=mysql_query ($sql);
    }
    
    if ($action=="delete")
    {
        // удаление базы гостевой
        $sql="DELETE FROM userblog";
        $r=mysql_query($sql);
    }
    
    header("Location: userblog.php?id=$userid");
?>
$blogid=10; я поставил значение 10

а как сделать так чтобы проверялось последний номер blogid в бд и к нему прибавлялась 1. т.е допустим последняя запись была с blogid=12 следующая автоматом ставилась 13

и еще один вопрос как прописать в файл в котором отображаются записи рядом кнопку удалить запись которая удаляла бы по идентификатору blogid ?

Заранее спасибо
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.05.2011, 03:48
Ответы с готовыми решениями:

Присвоить время к сообщению
Как присвоить дату к сообщению при нажатии button_Click ? private void button4_Click(object sender, EventArgs e) { ...

VkNet API вложение к сообщению
Возможно кто-то сталкивался с проблемой, как должна выглядеть строка Attachments - если я хочу отправить репост сообщения со стены...

Привязка файла(-ов) к отправляемому сообщению
Добрый вечер. Сообщения отправляются корректно (русский, английский без проблем) #include &lt;IdMessageBuilder.hpp&gt; ...........

13
692 / 383 / 51
Регистрация: 22.01.2009
Сообщений: 1,135
15.05.2011, 08:10
Цитата Сообщение от irmscher Посмотреть сообщение
а как сделать так чтобы проверялось последний номер blogid в бд и к нему прибавлялась 1. т.е допустим последняя запись была с blogid=12 следующая автоматом ставилась 13
Включите AUTO_INCREMENT у поля blogid
1
0 / 0 / 0
Регистрация: 14.04.2011
Сообщений: 15
15.05.2011, 12:54  [ТС]
Спасибо получилось. и еще один вопрос как прописать в файл в котором отображаются записи рядом кнопку удалить запись которая удаляла бы по идентификатору blogid ?

она прописывается сдесь вроде:

PHP
1
<div style=\"float:right;\"><font size=\"1\" color=\"#C0C0C0\">" . nicetime($row['added'], true) . "&nbsp;" . (($CURUSER['id'] == $row['userid'] || $CURGROUP ['can_viewprof']) ? );\"></a>" : "") . "</font></div><br /><br /><b><font size=4>" . format_comment($row['name']) . "</font></b><br /><br /><br />" . format_comment($row['text']) . "</td>
рядом с соответствующим сообщением.

а как сделать удаление через <input value="Удалить" onclick="del()" type="button" />
0
692 / 383 / 51
Регистрация: 22.01.2009
Сообщений: 1,135
15.05.2011, 13:13
Там надо сделать ссылку которая бы вела на скрипт удаления записи. А в скрипте получить идентификатор и выполнить запрос на удлаление.
0
0 / 0 / 0
Регистрация: 14.04.2011
Сообщений: 15
15.05.2011, 13:16  [ТС]
Вы не подскажите как? Никак не получается.
Пробую так не выходит
PHP
1
<a href=\"javascript:void(0);\" onclick=\"javascript:blogaction_delete('" . $row['blogid'] . "', '" . $row['userid'] . "');\">Удалить</a>
в blogaction пишу так:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
if ($action == "delete")
    {
        $post = (int)$_POST['post'];
        if ($CURGROUP ['can_viewprof'])
        {
            $res = sql_query("SELECT userid FROM userblog WHERE blogid = $post") or sqlerr(__FILE__,__LINE__);
            $row = mysql_fetch_array($res);
            if ($CURUSER['id'] != $row['userid'] = $row['userid'] && $CURGROUP ['can_viewprof'])
                die("У вас нет прав.");
        }
        sql_query("DELETE FROM userblog WHERE blogid = $post") or sqlerr(__FILE__,__LINE__);
        $show = true;
    }
 
    else
       die("Прямой доступ закрыт");
0
692 / 383 / 51
Регистрация: 22.01.2009
Сообщений: 1,135
15.05.2011, 13:19
Скрипт вобще выполняется?
0
0 / 0 / 0
Регистрация: 14.04.2011
Сообщений: 15
15.05.2011, 13:30  [ТС]
вообще не выполняется
0
692 / 383 / 51
Регистрация: 22.01.2009
Сообщений: 1,135
15.05.2011, 19:05
А функция blogaction_delete чего делает?
0
0 / 0 / 0
Регистрация: 14.04.2011
Сообщений: 15
15.05.2011, 19:30  [ТС]
blogaction_delete это если я правильно сделал blogaction-это отдельный файл листинг в первом посте. а delete - вызов функции delete в нем. Не могу разобраться как это реализовать
0
692 / 383 / 51
Регистрация: 22.01.2009
Сообщений: 1,135
15.05.2011, 19:32
Не... я имею в виду что эта функция делает? Можно ее текст?
0
0 / 0 / 0
Регистрация: 14.04.2011
Сообщений: 15
15.05.2011, 20:34  [ТС]
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
if ($act = "delete")
    {
        $post = (int)$_POST['post'];
        if ($CURGROUP ['can_viewprof'])
        {
            $res = sql_query("SELECT userid FROM userblog WHERE blogid = $post") or sqlerr(__FILE__,__LINE__);
            $row = mysql_fetch_array($res);
            if ($CURUSER['id'] != $row['userid']  && $CURGROUP ['can_viewprof'])
                die("У вас нет прав.");
        }
        sql_query("DELETE FROM userblog WHERE blogid = $post") or sqlerr(__FILE__,__LINE__);
        $show = true;
    }
 
    else
       die("Прямой доступ закрыт");
а в самом блоге ставлю ссылку
PHP
1
<a href=\"javascript:void(0);\" onclick=\"javascript:blog_delete('" . $row['blogid'] . "', '" . $row['userid'] . "');\">Удалить</a>
но при нажатии ничего не происходит
0
692 / 383 / 51
Регистрация: 22.01.2009
Сообщений: 1,135
16.05.2011, 13:27
Так а функция то сама что делает? Она где?
0
0 / 0 / 0
Регистрация: 14.04.2011
Сообщений: 15
16.05.2011, 18:23  [ТС]
по идее должна удалять строку с соответствующим id из бд. В данном случае id это blogid
0
692 / 383 / 51
Регистрация: 22.01.2009
Сообщений: 1,135
16.05.2011, 18:32
я не спрашиваю что она по идее должна делать))) я прошу показать ее код
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.05.2011, 18:32
Помогаю со студенческими работами здесь

Прикрепление картинки к е-mail сообщению
на этом форуме я встретил такую вещь (это прикрепление картинки к е-мейл сообщению) var data: attachment; data:=...

Прикрепление файла к почт.сообщению
Привет! Отправляю почтовое сообщение при помощи CDO - все ОК Добавляю строку iMsg.AddAttachment 'dog_post.doc' Бройзер выдает...

Вопрос По Сообщению О Превышении Размера П.я.
Квоты настраиваем по разному. Порой больше чем 400мб. А сообщение о превышении 400 мб постоянно выскакивает. Как его убрать?

Прикрепить файлы к сообщению в чате
Добрый вечер. Есть приложение asp .net mvc, в нем форма : @using (Ajax.BeginForm(&quot;SendDialogMessage&quot;, &quot;Messages&quot;, null, new...

Получение информации по последнему сообщению темы
Есть структура похожая на форум. Темы - theme(id, name) Сообщения - message(id, theme_id, text) Как наиболее оптимально...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru