GET id na INSERT
Hallo,
Ik gebruik onderstaande code om een project toe te voegen. In min database wordt automatisch een getal aan mijn p_id toegekend. Nu zou ik graag op de pagina nadat ik onderstaande code heb gesubmit de p_id willen ophalen zodat ik de pagina kan doorlinken naar deze p_id.
Hopelijk heb ik alles een beetje duidelijk uitgelegd.
Ik gebruik onderstaande code om een project toe te voegen. In min database wordt automatisch een getal aan mijn p_id toegekend. Nu zou ik graag op de pagina nadat ik onderstaande code heb gesubmit de p_id willen ophalen zodat ik de pagina kan doorlinken naar deze p_id.
Hopelijk heb ik alles een beetje duidelijk uitgelegd.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
session_start();
$_SESSION['p_title'] = $_POST['p_title'];
if($_SERVER['REQUEST_METHOD'] == 'POST') {
if(!isset($_POST['p_title']) || empty($_POST['p_title'])) {
$title = 'Projecttitel mag niet leeg zijn';
} elseif(strlen($_POST['p_title']) < 4) {
$title = 'Projectnaam moet minimaal 4 letters lang zijn.';
} if(empty($title)) {
$sql = mysql_query ("
INSERT INTO project (p_title, p_visible)
VALUE('".mysql_real_escape_string($_POST['p_title'])."', '".mysql_real_escape_string($_POST['p_visible'])."')
");
if($sql) {
$succes = 'Project is toegevoegd! Je wordt teruggestuurd naar het overzicht.';
header('Refresh: 3; url=/beheer/projecten/');
} else {
$error = 'Project is niet toegevoegd!';
}
}
}
$_SESSION['p_title'] = $_POST['p_title'];
if($_SERVER['REQUEST_METHOD'] == 'POST') {
if(!isset($_POST['p_title']) || empty($_POST['p_title'])) {
$title = 'Projecttitel mag niet leeg zijn';
} elseif(strlen($_POST['p_title']) < 4) {
$title = 'Projectnaam moet minimaal 4 letters lang zijn.';
} if(empty($title)) {
$sql = mysql_query ("
INSERT INTO project (p_title, p_visible)
VALUE('".mysql_real_escape_string($_POST['p_title'])."', '".mysql_real_escape_string($_POST['p_visible'])."')
");
if($sql) {
$succes = 'Project is toegevoegd! Je wordt teruggestuurd naar het overzicht.';
header('Refresh: 3; url=/beheer/projecten/');
} else {
$error = 'Project is niet toegevoegd!';
}
}
}
Kijk eens naar http://www.php.net/mysql_insert_id
Let er wel op dat de MySQL-functies op termijn zullen verdwijnen, en dan je dan de overstap moet doen naar MySQLi of PDO.
Let er wel op dat de MySQL-functies op termijn zullen verdwijnen, en dan je dan de overstap moet doen naar MySQLi of PDO.
Die functionaliteit zit overigens in MySQL zelf, dus je bent niet per se afhankelijk van een PHP-extensie:
http://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_last-insert-id
http://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_last-insert-id
Code (php)
1
2
2
if($sql) {
$succes = 'Project is toegevoegd! Je wordt teruggestuurd naar het overzicht.';
$succes = 'Project is toegevoegd! Je wordt teruggestuurd naar het overzicht.';
Als je onder dit stukje code een variable aanmaakt met de functie die Aar hierboven beschrijft, krijg je ongeveer dit:
Je laatste insertID staat nu in variable $lastID.
Totaalstukje:
Code (php)
1
2
3
4
5
6
2
3
4
5
6
if($sql) {
$succes = 'Project is toegevoegd! Je wordt teruggestuurd naar het overzicht.';
$lastID = mysql_insert_id();
// hier zou je kunnen doorlinken naar de project pagina.
header('Refresh: 3; url=/beheer/projecten/')
$succes = 'Project is toegevoegd! Je wordt teruggestuurd naar het overzicht.';
$lastID = mysql_insert_id();
// hier zou je kunnen doorlinken naar de project pagina.
header('Refresh: 3; url=/beheer/projecten/')
Gewijzigd op 06/08/2014 16:42:29 door Bas s
Bedankt voor de reacties :) heb het werkend gekregen.




