За последние 24 часа нас посетил 58081 программист и 1843 робота. Сейчас ищут 963 программиста ...

Привести массив к виду.

Тема в разделе "PHP для новичков", создана пользователем Eser, 23 авг 2010.

  1. Eser

    Eser Активный пользователь

    С нами с:
    16 янв 2007
    Сообщения:
    141
    Симпатии:
    0
    Массив 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'
     
  2. Devzirom

    Devzirom Активный пользователь

    С нами с:
    15 фев 2009
    Сообщения:
    463
    Симпатии:
    0
    Адрес:
    Пермь
    [sql]UPDATE `table`
    SET `model` = '{$update['model']}', `address` = '{$update['address']}', `comment` = '{$update['comment']}'
    WHERE `id` = '1';[/sql]
     
  3. Eser

    Eser Активный пользователь

    С нами с:
    16 янв 2007
    Сообщения:
    141
    Симпатии:
    0
    Не не то.
    Я заранее не знаю название ключей ну и соответственно название столбцов что б в них обновлять.

    У меня есть:
    $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):
    1. if(isset($_POST[save]))
    2. {
    3.  
    4. $arr=$_POST;
    5. unset($arr[save]);
    6.  
    7. $str2 = "'" . implode("', '", $arr) . "'"; //Строка со значениями массива
    8.  
    9. function func()
    10. {
    11.  
    12. $arr=$_POST;
    13. unset($arr[save]);
    14.  
    15. $array = array();
    16.  
    17. foreach($arr as $key => $value)
    18. {
    19. array_unshift($array,$key);  
    20. }
    21. return($array);
    22.  
    23. }
    24. $sort=array_reverse(func($array));
    25. $str1 = implode(",",$sort); //Строка со значениями массива
    26. if(!isset($_POST[update]))
    27. {
    28. $insert=mysql_query("insert into $data_temp_name[temp_name] ($str1,id_comp,user_id,status) value($str2,'$_SESSION[comp_id]','$_SESSION[id]','NULL');");
    29. }
    30. else
    31. {
    32. А вот тута должен быть запрос на обновление
    33. }
    34. }
     
  4. Gromo

    Gromo Активный пользователь

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    <?php

    $query = "UPDATE table SET id=id"
    foreach($array as $key=>$value){
    $query .= ", `{$key}`='{$value}'";
    }
    $query .= " where id='1'";