GET id na INSERT
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!';
}
}
}
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.
Kijk eens naar Let er wel op dat de MySQL-functies op termijn zullen verdwijnen, en dan je dan de overstap moet doen naar MySQLi of PDO.
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.