[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: SQL и массивы
ApuktaChehov
Здравствуйте!

Имеется задача: нужно записать в MySQL массив, причем записать в одну ячейку.

Как это правильно сделать?

Я думаю, можно записать данные через определенный символ, например, "|", а потом с помощью регулярки, загнать все это дело обратно в массив.
Но мне кажется, что это как то... криво sad.gif

Огромное спасибо.



Спустя 4 минуты, 19 секунд (23.03.2009 - 09:31) Kuliev написал(а):
Цитата (ApuktaChehov @ 23.03.2009 - 06:27)
Здравствуйте!

Имеется задача: нужно записать в MySQL массив, причем записать в одну ячейку.

Как это правильно сделать?

Я думаю, можно записать данные через определенный символ, например, "|", а потом с помощью регулярки, загнать все это дело обратно в массив.
Но мне кажется, что это как то... криво sad.gif

Огромное спасибо.

Типа того??
PHP
<? 

$arr = array("Апельсин","Мандарин","Гранат","Лимон"); 

for (
$i 0$i count($arr); $i++)
{

       
$sql = ("INSERT INTO table VALUE ('','".$arr[$i]."')");
       
$result mysql_query($sql);

}


Спустя 9 минут, 50 секунд (23.03.2009 - 09:41) ApuktaChehov написал(а):
не...
PHP
$arr = array("Апельсин","Мандарин","Гранат","Лимон"); 
       
$sql sql_query("insert into zakazi(id) values('$arr')");
       
$result mysql_query($sql);

Массив предварительно должен быть разделен "|".

Спустя 1 минута, 52 секунды (23.03.2009 - 09:43) Kuliev написал(а):
Цитата (ApuktaChehov @ 23.03.2009 - 06:41)
не...
PHP
$arr = array("Апельсин","Мандарин","Гранат","Лимон"); 
       $sql 
= sql_query("insert into zakazi(id) values('$arr')");
       $result = mysql_query($sql);

Массив предварительно должен быть разделен "|".

Зачем разделен??? Может ты что-то путаешь???

Спустя 1 минута, 48 секунд (23.03.2009 - 09:45) sergeiss написал(а):
Сначала делаешь
PHP
implode( '|', your_array() );
а затем полученную строку пишешь в БД.

PS. Для обратного действия тебе нужно будет explode(...)

Спустя 39 секунд (23.03.2009 - 09:45) Kuliev написал(а):
PHP
<?php
// Пример 1
$pizza  "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces explode(" "$pizza);
echo 
$pieces[0]; // piece1
echo $pieces[1]; // piece2

$array = array('lastname''email''phone');
$comma_separated implode(","$array);

echo 
$comma_separated// lastname,email,phone


Спустя 2 минуты, 5 секунд (23.03.2009 - 09:47) Kuliev написал(а):
Цитата (ApuktaChehov @ 23.03.2009 - 06:27)
Здравствуйте!

Имеется задача: нужно записать в MySQL массив, причем записать в одну ячейку.


Конкретней насчет массива?

Спустя 2 минуты, 37 секунд (23.03.2009 - 09:50) ApuktaChehov написал(а):
обычный ассоциативный массив.
Создается форма со свободным колличеством полей(опеределяется юзером).
HTML
<input type="text" name="user[]">


вот...

Спустя 1 минута, 35 секунд (23.03.2009 - 09:52) ApuktaChehov написал(а):
Цитата (sergeiss @ 23.03.2009 - 06:45)
Сначала делаешь
PHP
implode( '|', your_array() );
а затем полученную строку пишешь в БД.

PS. Для обратного действия тебе нужно будет explode(...)

Я попробую, спасибо!

Спустя 4 минуты, 13 секунд (23.03.2009 - 09:56) kirik написал(а):
Смотри в сторону serialize();

Спустя 8 минут, 31 секунда (23.03.2009 - 10:04) ApuktaChehov написал(а):
Аха... значит... можно с помошью serialize(); загнать мой массив в байтово-поточное представление и записать в БД. А потом с помощью unserialize(); вернуть его обратно как массив. Я правильно понял?

Спустя 45 минут, 50 секунд (23.03.2009 - 10:50) Kuliev написал(а):
Цитата (ApuktaChehov @ 23.03.2009 - 06:50)
обычный ассоциативный массив.
Создается форма со свободным колличеством полей(опеределяется юзером).
HTML
<input type="text" name="user[]">


вот...

HTML
<form action='".$_SERVER['PHP_SELF']."' method=POST>
<input type="text" name="user[]">
<input type="text" name="user[]">
<input type="text" name="user[]">
<input type="text" name="user[]">
<input type=submit value=Submit>



PHP
<?
for (
$i 0$i count($_POST['user']); $i++)
{

       
$sql = ("INSERT INTO table VALUE ('','".$_POST['user'][$i]."')");
       
$result mysql_query($sql);

}

var_dump($_POST);


После отправки формы у тебе будет МАССИВ $_POST вот его и разбирай!

Спустя 3 минуты, 11 секунд (23.03.2009 - 10:53) ApuktaChehov написал(а):
Спасибочки!


_____________
Быстрый ответ:

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