|
|
|
|
$razmer = array("80*190/200","90*190/200", "120*190/200","140*190/200","150*190/200","160*190/200","180*190/200");
|
как записать в базу массив?
Пробовал так
$query="INSERT INTO test (razmer) VALUES ('$razmer')";
($result_add_user=mysql_query($query));
|
записывает array | |
|
|
|
|
|
|
|
для: vorobey
(07.04.2010 в 17:15)
| | Потому что, чтобы записать, нужно "вводить" каждое значение массива:
Чтобы провести такую манипуляцию, можно воспользоваться for.
Также надо посчитать количество значений в массиве, через count
for ($i=0; $i < count($razmer[0]); $i++)
{
Здесь строка добавления записи, только не $razmer, а $razmer[$i]. Таким образом, выше через count мы посчитали сколько значений в массиве, а потом пропустили через for нужное количество раз. А в квадратных скобках у нас подставляются числа от 0 до значения count.
}
|
| |
|
|
|
|
|
|
|
для: Diplex
(07.04.2010 в 17:30)
| | Вы уверены, что обязательно через цикл? | |
|
|
|
|
|
|
|
для: sim5
(07.04.2010 в 17:50)
| | Вовсе не обязательно, это первое, что в голову пришло :) Давно не работал с БД, уже изрядно забыл, как и что там :) | |
|
|
|
|
|
|
|
для: Diplex
(07.04.2010 в 17:30)
| | получилось, только без [0] , так зносит последнее значение.
Но меня интересует запись/чтение всего массива в одну ячейку, а так получается каждое значение с новым id - не совсем устраивает.
Как записать более компактно, все в одну ячейку, ну и конечно чтобы была возможность распарсить это дело обратно? | |
|
|
|
|
|
|
|
для: vorobey
(07.04.2010 в 21:27)
| | Вам придется из массива сделать строку. Задача эта к БД прямого отношения не имеет.
И Вы совершенно правы, строку придется делать такую, которую Вы потом сможете распарсить в массив. | |
|
|
|
|
|
|
|
для: Trianon
(07.04.2010 в 21:30)
| | >Задача эта к БД прямого отношения не имеет.
я уже понял
>из массива сделать строку. Cтроку придется делать такую, которую Вы потом сможете распарсить в массив.
А как ?
Как она должна выглядеть ?
$razmer[0] => 80/100
и скажите слэш при записи будет экранироватся? " \ " | |
|
|
|
|
|
|
|
для: vorobey
(07.04.2010 в 21:36)
| | это уж как придумаете.
например, можно перечислить все элементы через запятую. Или через пробел.
Тут нужно определяться, учитывая то, как Вы потом эту строку на составляющие распускать будете.
Только учтите, что поиск и отбор в БД по отдельным элементам выполнить будет уже нельзя.
Слэш-то зачем экранировать?
Экранирование не относится к этой задаче.
Экранирование - один из приемов, позволяющий создавать строки в коде SQL-запроса. | |
|
|
|
|
|
|
|
для: Trianon
(07.04.2010 в 21:57)
| | Как Вы считаете можно ее будет прямо в таблицу записать целой строкой? Вот так.
"80*190/200","90*190/200", "120*190/200","140*190/200","150*190/200","160*190/200","180*190/200"
|
А потом ее целиком извлечь и подставить в
$myrow=mysql_query("SELECT razmer FROM table.....);
$massiv=$myrow
$razmer = array ($massiv);
//и далее использовать ......
for ($r=0; $r<count($razmer); $r++)
echo "<th title=' ".$razmer[$r]." '><div>".$razmer[$r]."</div></th>";
|
| |
|
|
|
|
|
|
|
для: vorobey
(07.04.2010 в 22:13)
| | а кавычки-то зачем?
и зачем пробел после второй запятой?
всё это делается вызовом функции implode()
и обратно - explode() | |
|
|
|