Преобразовать строку в массив - присвоить значение - записать

Тема в разделе "Как сделать...", создана пользователем ВадимПолоусоВорон, 19 май 2014.

  1. ВадимПолоусоВорон

    ВадимПолоусоВорон Создатель

    Регистр.:
    14 апр 2013
    Сообщения:
    29
    Симпатии:
    9
    Доброго времени суток. Прошу прощения за банальный вопрос, но к сожалению не совсем понимаю работу с массивами но появилась необходимость работать с ними. Суть в следующем - в бд в ячейке исполнители хранится запись типа Саша , Вася , Коля, Петя. Нужно вытунть запись, преобразовать в массив, вывести в редакторе с возможность присвоить несколько ключей каждому и опять записать. Собственно что это будет - в итоге должен быть список - с именами людей, на против них общая сумма, оплачено, остаток. Оплачено остаток и общая сумма - будут полями инпут в которые пишуться значения.

    Строку в массив преобразовал
    $massiv = explode(", ", $progers_list);
    foreach ($massiv as $key) {
    $a = $key;
    }
    список получил в массиве а вот как дальше - не могу понять ( Подскажите кто знает или кто сталкивался с подобной траблой.

    PS прошу воздержаться от постов типа - кури доки, иди на php.ru - 1 х не поможет документация пока не увижу более мения работающий пример или совет
     
  2. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.450
    Симпатии:
    1.244
    Манны ты наверное неверно куришь - вот хорошие:
    http://ua2.php.net/manual/ru/ref.strings.php - Обработка строк
    http://ua2.php.net/manual/ru/ref.array.php - Функции для работы с массивами

    Что ты получить хочешь не понятно совсем... Догадываюсь, что это наверное html страничка. Если так приведи тот HTML код, который ты хочешь получить из изначальной строки "Саша , Вася , Коля, Петя". Просто сформируй его в любом текстовом редакторе и запости в теге [ code]
     
    ВадимПолоусоВорон нравится это.
  3. ВадимПолоусоВорон

    ВадимПолоусоВорон Создатель

    Регистр.:
    14 апр 2013
    Сообщения:
    29
    Симпатии:
    9
    Смотрите что я хочу и как должно быть - форма HTML - имя + поле ввода
    Саша - поле
    Петя - поле

    Я ввел в поля значения и в бд ушла запись типа Саша 500 Петя 600
    То есть я беру строку из бд с именами - преобразовал в масив - и вот дальше все (
     
  4. metsys

    metsys

    Регистр.:
    27 апр 2014
    Сообщения:
    423
    Симпатии:
    408
    В html форме примерно такое:
    <form>
    Summ: <input type="symma" name="symma">
    </form>
    плюс должно что то такое быть
    <input type="submit" value="Submit">
    Потом через POST форма должна управляться каким то другим файлом пхп, проверяется на заполненность и сохраняется в базу.
     
  5. ВадимПолоусоВорон

    ВадимПолоусоВорон Создатель

    Регистр.:
    14 апр 2013
    Сообщения:
    29
    Симпатии:
    9
    ну с самой формой то уменя трабла нет ) я не знаю как мне по количеству записей имен типа Сашей Петей сделать количество поле

    Думал сделать 2 инпута - в одном значением будет имя а во втором сумма котору введу и что бы обработчик просто склеивал строки - но не получилось (
     
  6. metsys

    metsys

    Регистр.:
    27 апр 2014
    Сообщения:
    423
    Симпатии:
    408
    А зачем тебе имя засовывать в input, выведи как label. И только для сумм используй input, имя label можно вывести через foreach.
     
  7. ВадимПолоусоВорон

    ВадимПолоусоВорон Создатель

    Регистр.:
    14 апр 2013
    Сообщения:
    29
    Симпатии:
    9
    немножко не догнал - а как мне тогда с Label в POST передать ? то есть у меня есть инпут у него есть имя, в посте есть запись типа перменная = пост имя инпута - а как мне туда же label засунуть ? :rolleyes:
     
  8. metsys

    metsys

    Регистр.:
    27 апр 2014
    Сообщения:
    423
    Симпатии:
    408
    Имена в принципе можно оставить INPUT, только сделать их disable, чтобы нельзя их было отредактировать.
     
  9. ВадимПолоусоВорон

    ВадимПолоусоВорон Создатель

    Регистр.:
    14 апр 2013
    Сообщения:
    29
    Симпатии:
    9
    в принципе почти получилось - но не знание массивов все равно дало свое )

    сделал вывод форм

    <form enctype="multipart/form-data" action="money_edit_post.php" method="POST">
    <?
    foreach ($massiv as $key => $value) {
    echo "<input name='mass[]' type='text' value=".$value." /><input name='mass2[]' type='text' />";

    }?>

    а в обработчике запись

    $mass = ($_POST['mass']);
    $mass2 = ($_POST['mass2']);
    $mass3 = $mass.$mass2;
    echo $mass3;
    $programmist = implode(' , ' , $mass3);
    echo $programmist;

    вывело arayaray - что логично - 2 массива данный, их то и вывело. Теперь вопрос - как сделать 3ий массив (что то все это попахивает говнокодом правда +) ) который будет объеденением всех массивов ?

    точнее не соеденить а объеденить тк пробую
    $result = array_merge ($mass, $mass2);
    $programmist = implode(' , ' , $result);
    echo $programmist;

    запись типа Саша Петя 100 200 а должно быть Саша 100 Петя 200
     
  10. metsys

    metsys

    Регистр.:
    27 апр 2014
    Сообщения:
    423
    Симпатии:
    408
    ВадимПолоусоВорон нравится это.