<MyRusakov.ru />

Программирование на Python с Нуля до Гуру

Программирование на Python с Нуля до Гуру

Данный курс научит Вас программировать на языке Python, который крайне желательно знать любому, кто хоть иногда имеет дело с компьютерами. Курс состоит из 6 разделов, в которых Вы с нуля освоите этот язык и сможете создавать самые разные программы для самых разных задач любой сложности.

К курсу прилагается множество упражнений и все исходники из уроков.

Наконец, Вы получите ещё несколько бонусов: "Создание калькулятора на Python", "Создание игры на Python" и "Правильная работа со справочником".

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Форум сайта MyRusakov.ru

Узнать id добавленной статьи
30.10.2013 17:26:52 Узнать id добавленной статьи Сообщение #1
ilyadenisovid

ilyadenisovid

Мастер

Мастер

Дата регистрации:
28.01.2013 18:32:29

Сообщений: 213

Здравствуйте! Есть функция добавления записи в БД. Нужно в этой же функции узнать id этой записи. Как это сделать?

<?php
function addTheme($id_theme, $id_user, $title) {
global $mysqli;
connectDB();
$mysqli->query("INSERT INTO `asks` (`id_theme`, `id_user`, `title`, `date`) VALUES ('$id_theme', '$id_user', '$title', UNIX_TIMESTAMP())";
closeDB();
}
?>
Профиль Ответить
30.10.2013 18:11:22 Узнать id добавленной статьи Сообщение #2
den98

den98

Новичок

Новичок

Дата регистрации:
21.12.2012 09:25:29

Сообщений: 14

Id записи надо передавать как параметр в функцию а при вызове этой функции подставлять значение, например:

http://site.ru?view=article&id=7;

$id_theme= $_GET['id'];
Вызываем функцию:
addTheme($id_theme, $id_user, $title);


Можно также воспользоваться внутри этой функции SQL запросом и вытащить id статьи из базы:

$id_theme = "SELECT `id_theme` FROM `table_name` WHERE .....";
Профиль Ответить
30.10.2013 18:19:11 Узнать id добавленной статьи Сообщение #3
ilyadenisovid

ilyadenisovid

Мастер

Мастер

Дата регистрации:
28.01.2013 18:32:29

Сообщений: 213

Вы меня не поняли, id - auto_increment, добавляется само, независимо от меня.
Профиль Ответить
30.10.2013 18:27:26 Узнать id добавленной статьи Сообщение #4
den98

den98

Новичок

Новичок

Дата регистрации:
21.12.2012 09:25:29

Сообщений: 14

Тогда только запросом.
Какие данные еще есть и структуру таблицы посмотреть бы.
Профиль Ответить
30.10.2013 19:04:51 Узнать id добавленной статьи Сообщение #5
ilyadenisovid

ilyadenisovid

Мастер

Мастер

Дата регистрации:
28.01.2013 18:32:29

Сообщений: 213

В запросе выше все видно.
Профиль Ответить
30.10.2013 21:14:24 Узнать id добавленной статьи Сообщение #6
fabrigas201

fabrigas201

Продвинутый

Продвинутый

Дата регистрации:
20.01.2012 13:08:31

Сообщений: 59

После инсерта ставите

$last_id = $mysqli->insert_id

http://php.net/manual/ru/mysqli.insert-id.php
$last_id id последней записи. Вам это нужно.

P.S. Избавьтесь от глобальных переменных. Это зло. Все можно обойтись без них. Особенно если используете ООП
Профиль Ответить
31.10.2013 05:36:36 Узнать id добавленной статьи Сообщение #7
ilyadenisovid

ilyadenisovid

Мастер

Мастер

Дата регистрации:
28.01.2013 18:32:29

Сообщений: 213

а почему это зло?
Профиль Ответить
01.11.2013 14:29:28 Узнать id добавленной статьи Сообщение #8
fabrigas201

fabrigas201

Продвинутый

Продвинутый

Дата регистрации:
20.01.2012 13:08:31

Сообщений: 59

Это я тоже выразился как-то не правильно. Нет , глобальные переменные есть зло. Но если нет выходя то можно использовать. Вообще из этих переменных ухудшается читаемость кода, переносимость. Так же это считается плохим стилем программирования. Также можно легко потерять данную переменную.


http://phpforum.ru/index.php?showtopic=77121
http://freehabr.ru/qa/222.html

Прочитайте и решите использовать или нет
Профиль Ответить