[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите с объединением массивов....
themoonocean
такая проблема...

implode('<br />', array_keys($_POST));

выдает массив

input_1
input_2
input_3

implode('<br />', array_values($_POST));

выдает массив

value_1
value_2
value_3

как сделать так, чтоб выдавался один массив, вида:

input_1 : value_1
input_2 : value_2
input_3 : value_3

????




Спустя 23 минуты, 35 секунд (30.01.2012 - 07:20) Игорь_Vasinsky написал(а):
а что выдаёт просто

echo '<pre>'.print_r($_POST, 1).'</pre>';


уверен что именно так как те нужно..так зачем эти манипуляции?

или делай так:

foreach($_POST as $key=>$value)
echo $key.' : '.$value.'<br/>';

Спустя 3 минуты, 6 секунд (30.01.2012 - 07:23) GET написал(а):
$newmass=array();
foreach(array_keys as $i=>$val)
{
$newmass[$val]=array_values[$i];
}


?

Спустя 1 минута, 15 секунд (30.01.2012 - 07:24) Игорь_Vasinsky написал(а):
A.B.C.
а для чё? у него все уже в $_POST и ключи и значения...

Спустя 3 минуты, 23 секунды (30.01.2012 - 07:27) GET написал(а):
Игорь_Vasinsky

я так понял на выходе ассоциативный массив хочет ..типа $_POST['name1']... $_POST['nameN']

Спустя 1 минута, 1 секунда (30.01.2012 - 07:28) Игорь_Vasinsky написал(а):
ну так $_POST в данном случае и есть ассоциативный wink.gif


Спустя 3 минуты, 19 секунд (30.01.2012 - 07:32) GET написал(а):
array_keys($_POST)); - выдает индексы
array_values($_POST)); - значения

...да действительно на выходе изначальный массив $_POST smile.gif

Спустя 6 часов, 30 минут, 13 секунд (30.01.2012 - 14:02) themoonocean написал(а):
Цитата (Игорь_Vasinsky @ 30.01.2012 - 04:20)
а что выдаёт просто

echo '<pre>'.print_r($_POST, 1).'</pre>';


уверен что именно так как те нужно..так зачем эти манипуляции?

или делай так:

foreach($_POST as $key=>$value)
    echo $key.' : '.$value.'<br/>';



первое выдает: Array (
[Key_1]=>value_1
[Key_2]=>value_2
(

круто, прям как надо, но зачем выдается само выражение "Array ()", всю малину портит...


Второе выдает только последнее значение в массиве, т.е.

key_2 : value_2

а надо все....

Спустя 4 минуты, 24 секунды (30.01.2012 - 14:06) nugle написал(а):
А в чем проблема?
foreach($_POST as $key=>$value)
echo '['.$key.'] => '.$value.'<br/>';

Спустя 15 минут, 48 секунд (30.01.2012 - 14:22) themoonocean написал(а):
проблема в том, что из 2-х передаваемых значений (key_1=value_1 и key_2=value_2) отображается только key_2=value_2...с чем это связано?

Спустя 11 минут, 37 секунд (30.01.2012 - 14:34) DarkLynx написал(а):
Сделайте print_r($_POST) и напишите сюда результат, подозреваю проблема именно там..

Спустя 33 секунды (30.01.2012 - 14:34) nugle написал(а):
Выложите лучше php код сюда и var_dump($_POST)

Спустя 1 минута, 16 секунд (30.01.2012 - 14:36) GET написал(а):
themoonocean

у тебя два массива... прогони каждый через foreach...вставь внутрь echo для элементов массива и посмотри почему

Спустя 29 минут, 24 секунды (30.01.2012 - 15:05) themoonocean написал(а):
Цитата (DarkLynx @ 30.01.2012 - 11:34)
Сделайте print_r($_POST) и напишите сюда результат, подозреваю проблема именно там..


Array ([fast] => varpo [logic] => glovigs)


Цитата (nugle @ 30.01.2012 - 11:34)
Выложите лучше php код сюда и var_dump($_POST)


array(2) { ["fast"]=> string(5) "varpo" ["logic"]=> string(7) "glovigs" } 


скрипт помещает в переменную эти два значения, затем добавляет их в БД.
После чего их оттуда извлекает другой скрипт...

<?php

$post = '<pre>'.print_r($_POST, true).'</pre>';
$id = $_SESSION['id'];
$campaign_id = $_SESSION['campaign_id'];
$post_time = date('Y-m-d H:i:s');

include "../config/mysql_config.php";

mysql_query("UPDATE responses SET post = '$post', post_time = '$post_time' WHERE campaign_id = '$campaign_id' AND id = '$id'");

?>


Спустя 7 минут, 46 секунд (30.01.2012 - 15:13) GET написал(а):
Цитата
implode('<br />', array_keys($_POST));

implode('<br />', array_values($_POST));


$_POST у тебя откуда берется из формы?...я не могу понять смысл твоего вопроса

<input type='text'  name='val1'>


к тебе приходит $_POST['val1'] и равен он $val1 - это то что ввели в текстовое поле.

Что дальше?

Спустя 17 минут, 46 секунд (30.01.2012 - 15:31) DarkLynx написал(а):
Что я понял из кода, у тебя есть 2 input поля вида
<input type="text" name="fast">
<input type="text" name="logic">
В них вы пишите значения "varpo" и "glovigs" соответственно.. Ну либо это селекты с уже заданными значениями, суть не меняет..
Далее вы отправляете форму, и в скрипт обработчик вам приходит массив
$_POST аналогичный примеру ниже
$mas = array(
'fast' => 'varpro',
'logic' => 'glovigs'
);

Затем скрипт обработчик должен обновить поле "post" таблицы "responses" для записи с id = "$id".. Отлично...

Если я прав, то вот вопросы:

В каком формате должны храниться данные в поле "post"??

Почему вас не устраивает вариант записи в пост

$post = $mas['fast'].'|'.$mas['logic'];

Ведь имена полей заранее известны.. Если конечно не известны, то без foreach тут врятли обойдешься, по крайней мере на первый взгляд..

Если логика программы не такая как я описал, то напишите какая она, так станет гораздо понятнее и ответ придет быстрее.

Спустя 20 минут, 10 секунд (30.01.2012 - 15:51) themoonocean написал(а):
изначально была строка $post=implode('<br />', array_keys($_POST));

я пишу скрипт, который бы мог принять любые данные, и добавить их в БД, для того, чтобы их можно было извлечь и посмотреть, какой скрипт какие данные передал...

<input type='text'  name='val1'>
<input
type='text' name='val2'>


дальше надо val1=$val добавить в БД, и довить ровно столько параметров, сколько будет в ПОСТ запросе...

val1=$val1
val2=$val2

далее их надо вывести на экран в таблице:
===================================================
| номер скрипта | количество полей | название полей : переданые данные |
===================================================
| 1 | 2 | поле1 : 50м |
===================================================
| _ | _ | поле2 : 100м |
===================================================

Спустя 3 минуты, 45 секунд (30.01.2012 - 15:54) Игорь_Vasinsky написал(а):
да чё вы тут мутите 2 страницы?

foreach($_POST as $key=>$value)
echo $key.' : '.$value.'<br/>';


как последнее????? он весь массив должен выложить по полочкам - ключ : значение

Спустя 9 минут, 11 секунд (30.01.2012 - 16:04) DarkLynx написал(а):
Цитата (Игорь_Vasinsky @ 30.01.2012 - 12:54)
да чё вы тут мутите 2 страницы?

foreach($_POST as $key=>$value)
echo $key.' : '.$value.'<br/>';


как последнее????? он весь массив должен выложить по полочкам - ключ : значение

Да, только человеку "ключ : значение" нужно в бд записать, поэтому


$post = null;
foreach ($_POST as $key => $value)
$post .= $key.' : '.$value.'<br/>';

Спустя 8 минут, 27 секунд (30.01.2012 - 16:12) Игорь_Vasinsky написал(а):
структура БД

id | script | key | value
id auto_increment | номер скрипта | наименование параметра | параметр

пишешь:

INSERT INTO `table1` (`script`, `key`, `value`) VALUES ((int)".$number_script.", '".$key."', '".$value."')

получешь таблицу вида

id | script | key | value
1 1 | key1 | value1
2 1 | key2 | value2
3 1 | key3 | value3
4 2 | key4 | value4

Спустя 24 минуты, 35 секунд (30.01.2012 - 16:37) DarkLynx написал(а):
Цитата (Игорь_Vasinsky @ 30.01.2012 - 13:12)
структура БД

id | script | key | value
id auto_increment | номер скрипта | наименование параметра | параметр

пишешь:

INSERT INTO `table1` (`script`, `key`, `value`) VALUES ((int)".$number_script.", '".$key."', '".$value."')

получешь таблицу вида

id | script | key | value
1 1 | key1 | value1
2 1 | key2 | value2
3 1 | key3 | value3
4 2 | key4 | value4

SQL в цикле??? Не хорошо, ой не хорошо...

Спустя 7 минут, 22 секунды (30.01.2012 - 16:44) Игорь_Vasinsky написал(а):
что не хорошего?

как несколько строк в БД добавить из массива без цикла???

юзай mysqli_multi_query() тогда.

можно вообще сначала сформировать SQL запрос - потом одним QUERY всё отправить. дело твоё.

Спустя 1 минута, 53 секунды (30.01.2012 - 16:46) DarkLynx написал(а):
Цитата (Игорь_Vasinsky @ 30.01.2012 - 13:44)
можно вообще сначала сформировать SQL запрос - потом одним QUERY всё отправить. дело твоё.

именно так.. Гораздо лучше чем инсерты в цикле выполнять...

Спустя 2 минуты, 46 секунд (30.01.2012 - 16:49) themoonocean написал(а):
Моя цель разрешилась вот таким вот кодом =)

<?php

$post = null;
foreach ($_POST as $key => $value)
$post .= $key.' : '.$value.'<br/>';
$id = $_SESSION['id'];
$campaign_id = $_SESSION['campaign_id'];
$post_time = date('Y-m-d H:i:s');

include "../config/mysql_config.php";

mysql_query("UPDATE responses SET post = '$post', post_time = '$post_time' WHERE campaign_id = '$campaign_id' AND id = '$id'");

?>


Всем спасибо за ответы, отличный форум, наверное самый лучший...
как посты наберу всем помогавшим плюсик в карму =)

Спустя 4 минуты, 19 секунд (30.01.2012 - 16:53) Игорь_Vasinsky написал(а):
он действительно - самый лучший wink.gif

Спустя 2 дня, 16 часов, 4 секунды (3.02.2012 - 08:53) themoonocean написал(а):
Ребят, я наверное достану Вас =)

Вот еще вопрос, как бы продолжение...

Мы передали эти данные (что рассмотрены выше) от "index.html" к

"savepost.php"...

"savepost.php" сохранил данные в БД, и их использует для вывода скрипт

"printpost.php".

Можно ли сделать так, чтобы эти данные продолжили свой путь к другому

скрипту, расположенному на другом сайте, например к other_site_savepost.php

вот схема движения данных:

user posted image


Спустя 2 дня, 1 час, 59 минут, 10 секунд (5.02.2012 - 10:52) nugle написал(а):
themoonocean
ну из MySQL на другом сайте их просто достань и все
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.