Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Вставить данные из массива в базу

Сообщения:  [1-10]    [11-20]  [21-21] 

 
 автор: ronin   (26.10.2007 в 15:37)   письмо автору
 
   для: kis-kis   (26.10.2007 в 13:57)
 

опять я не понял. а если понял, то если имеется таблица категорий, то создается запись, куда входят поля: 1)номер категории, 2) имя категории.
соответственно если имеются пять номеров:"22,23,10,9,5" то и строчек будет пять. Это не массив!

resultc=mysql_query("SELECT * FROM cat_catalog ") or die("<B>Error ".mysql_errno()." :</B> ".mysql_error().""); 
$cat = mysql_fetch_array($resultc); 
echo $cat[name] ",";

если строчек у Вас пять, тогда все должно вывести.или

echo $cat[name].",";

   
 
 автор: kis-kis   (26.10.2007 в 13:57)   письмо автору
 
   для: ronin   (26.10.2007 в 12:43)
 

>> 1) $categ = "22,23,10,9,5 $categ - это поле в таблице?
Да, это поле в таблице

>> echo $cat[name]; - это что?
Это название категории, соответсвующее идентификатору (следовательно 22 - это id категории, она имеет название - категория 1, 23 - это id категории, она имеет название - категория 2, ...)

Т.к. $categ состоит из 5 значений, след. нужно вывести 5 названий категорий. Теперь более менее понятно?

   
 
 автор: ronin   (26.10.2007 в 12:43)   письмо автору
 
   для: kis-kis   (26.10.2007 в 12:29)
 

если честно, то я не понял:)
1) $categ = "22,23,10,9,5 $categ - это поле в таблице?
2)echo $cat[name]; - это что?
в базе в поле типа SET, данные идут через запятые, если их вывести через запрос, они будут выведенны через запятую, если они хранятся в поле name то 2) и выведет то, что храниться в поле name.
если поле, где храниться инфа categ, тогда echo $cat[categ];
explode нужен для разделения и вывода как массива.

   
 
 автор: kis-kis   (26.10.2007 в 12:29)   письмо автору
 
   для: ronin   (26.10.2007 в 12:10)
 

Так выводится только первое, а не все.

Вот например, если $categ = "22,23,10,9,5"; (цифры это идентификаторы категорий), следовательно это массив, состоящий из 5 идентификаторов категорий. Есть таблица с названиями категорий.

Как вывести названия всех категорий через запятую?
Спасибо.

   
 
 автор: ronin   (26.10.2007 в 12:10)   письмо автору
 
   для: kis-kis   (26.10.2007 в 11:53)
 

тогда делаете запрос без explode. Просто

$resultc=mysql_query("SELECT * FROM cat_catalog where id = $_POST[cat_id]') or die("<B>Error ".mysql_errno()." :</B> ".mysql_error().""); 
$cat = mysql_fetch_array($resultc); 
echo $cat[category_id];  //название полей  в базе, к которых инфа
echo $cat[service_id]; 
echo $cat[cuisine_id]; 

$_POST[cat_id] - это, если я понял номер покоторому сортируются данные.

   
 
 автор: kis-kis   (26.10.2007 в 11:53)   письмо автору
 
   для: ronin   (26.10.2007 в 11:29)
 

Нет нужно просто вывести название через запятую ))

   
 
 автор: ronin   (26.10.2007 в 11:29)   письмо автору
 
   для: kis-kis   (26.10.2007 в 11:03)
 

обычно такие данные выводят как массив или для чекбоксов(checkbox) или мультиселект, или радикнопок, это для мультиселекта?

   
 
 автор: kis-kis   (26.10.2007 в 11:03)   письмо автору
 
   для: EXP   (26.10.2007 в 00:17)
 

А вывести потом тогда как?

Допустим $categ = "22,23,10,9,5";


$resultc=mysql_query("SELECT * FROM cat_catalog where id = (explode('","', $categ))") or die("<B>Error ".mysql_errno()." :</B> ".mysql_error()."");
$cat = mysql_fetch_array($resultc);
echo $cat[name];


Так не работает...

   
 
 автор: ronin   (26.10.2007 в 10:22)   письмо автору
 
   для: EXP   (26.10.2007 в 00:17)
 


foreach ($_POST["cat"] as $cat || $_POST["service"] as $service || $_POST["cuisine"] as $cuisine)   
{  
query...
}

если не прокатит ||, тогда попробовать AND.

   
 
 автор: EXP   (26.10.2007 в 00:17)   письмо автору
 
   для: kis-kis   (25.10.2007 в 20:01)
 

так наверное
<?
$query 
"INSERT INTO 2cat_catalog (category_id, service_id,cuisine_id,catalog_id) 
VALUES ('" 
implode(', '$cat) . "', " 
$cat_id "), ('" implode(', '$service)
 . 
"', " $cat_id "), ('" implode(', 
'
$cuisine) . "', " $cat_id ") ; "
если $cat_id это цифра и тип поля catalog_id (int)

   

Сообщения:  [1-10]    [11-20]  [21-21] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования