Sunday 15 August 2010

PHP Insert MySQL Array where one field is an AIl database field created in the first SQL statement -



PHP Insert MySQL Array where one field is an AIl database field created in the first SQL statement -

on page define new nutrient dish, name, portion size, cost etc. below have table select defined list of ingredients (another mysql table) assigned dish assign quantity required.

in first part, dishid generated automatically (auto increment) on submission, using trigger on server side. inserts dishes part successfully.

the sec part falls down. want post new dishid, ingid , volume database table, leaves dishid blank. using select max statement brings in latest record, may not ideal don't think reason it's not working, writing specified statement particular id, returns blank - hence must way code written.

require_once('db_connect.php'); $dishname = mysqli_real_escape_string($con, $_post['dishname']); $dishcatid = mysqli_real_escape_string($con, $_post['dishcatid']); $serving = mysqli_real_escape_string($con, $_post['serving']); $srp = mysqli_real_escape_string($con, $_post['srp']); $method = mysqli_real_escape_string($con, $_post['method']); $sourceid = mysqli_real_escape_string($con, $_post['sourceid']); $sql="insert dishes (dishname, dishcatid, serving, srp, method, sourceid) values ('$dishname', '$dishcatid', '$serving', '$srp', '$method', '$sourceid')"; mysqli_query($con, $sql) or die(mysqli_error($con)); $dishid = 'select max(dishid) dishes'; $result=mysqli_query($con, $dishid) or die ("query dishid failed: ".mysqli_error($con)); $array = array('$dishid'=>(mysql_query($getdishid)),'$ingid'=>($_post['ingid[]']),'$volume'=>($_post['volume[]']) ); $values = array(); foreach ($_post['ingid'] $i => $ingid) { if (!empty($ingid)) { $ingid = mysqli_real_escape_string($con, $ingid); $volume = mysqli_real_escape_string($con, $_post['volume'][$i]); $values[] = "('$dishid', '$ingid', '$volume')"; } } if (!empty($values)) { $sql2 = 'insert dishing (dishid, ingid, volume) values ' . implode(', ', $values); mysqli_query($con, $sql2) or die(mysqli_error($con)); } require_once('db_disconnect.php');

what doing wrong here?

check out mysqli_insert_id. homecoming auto generated id used in lastly query.

$dishid = mysqli_insert_id($con);

php mysql arrays auto-increment multiple-tables

No comments:

Post a Comment