Массив Array ( [model] => B [address] => 2222 [comment] => 1123 ) Нужно перевести в строку:$update="[model]=B, [address]=2222, [comment]=1123 ); Что бы на основании этой строки обновить запись в таблице: $query=mysql_query("update table set $apdate where id='1';"); Очень буду признателен. Догнал тока до получения двух строк $str1 = implode(",",$sort); model,address,comment и $str2 = "='" . implode("',= '", $arr) . "'"; ='B',= '2222',= '1123'
[sql]UPDATE `table` SET `model` = '{$update['model']}', `address` = '{$update['address']}', `comment` = '{$update['comment']}' WHERE `id` = '1';[/sql]
Не не то. Я заранее не знаю название ключей ну и соответственно название столбцов что б в них обновлять. У меня есть: $str1 ="model,address,comment "; $str2 = "=B','=2222', '=1123' "; $str1=это ключи массива $str2=это значения В оригинале так:Array ( [model] => B [address] => 2222 [comment] => 1123(Это собственно что содержиться в $_POST) Мне не понятно как обновить данные. В sql запросе синтаксис должен выдержан: Мне нужно что б из двух строк получилась одна вот такого вида. $str3="имя-столбца1=значение1, имя-столбца2=значение2"; и такой вот запрос. $query=mysql_query("update table set $str3"); Вот как я делал добавление записей в таблицу Код (Text): if(isset($_POST[save])) { $arr=$_POST; unset($arr[save]); $str2 = "'" . implode("', '", $arr) . "'"; //Строка со значениями массива function func() { $arr=$_POST; unset($arr[save]); $array = array(); foreach($arr as $key => $value) { array_unshift($array,$key); } return($array); } $sort=array_reverse(func($array)); $str1 = implode(",",$sort); //Строка со значениями массива if(!isset($_POST[update])) { $insert=mysql_query("insert into $data_temp_name[temp_name] ($str1,id_comp,user_id,status) value($str2,'$_SESSION[comp_id]','$_SESSION[id]','NULL');"); } else { А вот тута должен быть запрос на обновление } }
<?php $query = "UPDATE table SET id=id" foreach($array as $key=>$value){ $query .= ", `{$key}`='{$value}'"; } $query .= " where id='1'";