Я имею дело с проблемой $ _POST создания записи продукта. У меня есть две таблицы:
*PRODUCTS* *POSTMETA*
PROD ID TITLE PROD ID | META ID | METAKEY |METAVALUE
------------|--------| --------|----------|---------|--------
0001 (AI) | AAA | 0001 | 200 | _stock | 3
Пост-скрипт, который я разработал, может обрабатывать данные в таблице PRODUCTS, но не в POSTMETA, так как я не могу поймать идентификатор PROD, который генерируется автоматически после пост-процесса.
Это мой сценарий
<?php
require '../sys/conn.php';
if (isset($_POST['submit'])){
$title=mysqli_real_escape_string($conn, $_POST['title'] )
$qty=$_POST['quantity']---> that should go into postmeta.metavalue
if ($title!=''){
$insert = mysqli_query($conn,"INSERT INTO products (post_title)
VALUES ('$title') ");
header('Location: ../pages/post_ok.html');
}
else{
header('Location: ../pages/post_error.html');
}
}
mysqli_close($conn);
?>
По сути, я должен записать prodID в таблицу PRODUCTS и сохранить его в prodID POSTMETA, чтобы связать количество с продуктом.
Любая помощь?
Вы можете получить новый идентификатор следующим образом:
$prod_id = mysqli_insert_id( $conn );
Используйте это сразу после запроса вставки.
http://us1.php.net/manual/en/mysqli.insert-id.php
Вы не очень много рассказали о том, что именно вы хотите, но возможно что-то вроде этого:
$insert = mysqli_query($conn,"INSERT INTO products (post_title)
VALUES ('$title') ");
$prod_id = mysqli_insert_id( $conn );
$insert2 = mysqli_query($conn,"INSERT INTO products_meta (prod_id, metakey, metavalue)
VALUES ('$prod_id', 'quantity', '$qty') ");
Других решений пока нет …