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

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

15.05.2011, 03:48. Показов 3915. Ответов 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
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru