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

Форум MySQL

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

 

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

вид форума:
Линейный форум Структурный форум

тема: Запись в цикле
 
 автор: Panker   (12.01.2007 в 08:50)   письмо автору
 
 

Я уже создавал тему только про редактирования в цикле ( не переносите плз в мускульный раздел ибо тут не с мускулом же я не могу справится а именно с пхп :) )

Значит пожалуйста помогите с записью в цикле!

Мне нужно запись 1 запись в таблице ровно столько раз сколько у меян записей в другой таблице!

Привожу пример

Есть таблица мускульная ( Domen )

CREATE TABLE `Domen` (
  `id` int(11) NOT NULL auto_increment,
  `name` text NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=5 ;


И есть таблица категорий ( куда и надо записывать ) ( Categories )

CREATE TABLE `Categories` (
  `id` int(11) NOT NULL auto_increment,
  `d_id` text NOT NULL,
  `categories` text NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=7 ;

Вот она!


Теперь про саму запись!

Нужно записть в таблицу категорий - категории, только их нужно записать столько раз сколько записей в поле `name` в таблице доменов + ко всему нужно так:
пример:

Я хочу что бы записалась категория под именем PANKER, но к каждой категории прикреплён домен, то есть если у меян три домена one.ru two.ru tri.ru ^^ нужно записать 3 раза панкер в категории вот так

d_id - one.ru `categories` PANKER
d_id - two.ru `categories` PANKER
d_id - tri.ru `categories` PANKER

Вроде бы понятненько обьесняю ? :)


Что у меян есть?
У меня есть 1 страница с textarea куда и нуна вводить имя категории :)
Больше не чего нет, если нужно - добавлю и так далее :)

Помогите решить проблему :((

( Про себя, уже 9 утра, Хеопс скоро прсонётся :))))))) )

   
 
 автор: Trianon   (12.01.2007 в 09:53)   письмо автору
 
   для: Panker   (12.01.2007 в 08:50)
 

>( Про себя, уже 9 утра, Хеопс скоро прсонётся :))))))) )
И перенесет тему, т.к. задача решается единственным запросом:

INSERT INTO Categories(d_id, categories) SELECT name, 'PANKER'  FROM Domen; 

   
 
 автор: Panker   (12.01.2007 в 13:13)   письмо автору
 
   для: Trianon   (12.01.2007 в 09:53)
 


Error:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''', '', '11') SELECT name, '11' FROM Domen' at line 1


мне вот что говорят :(

Делал вот так...

$categories = $_POST['categories'];
$d_id = $_POST['d_id'];
mysql_query ("INSERT INTO Categories('', '$d_id', '$categories') SELECT name, '$categories'  FROM Domen; ") or die("Error:" . mysql_error()); 

   
 
 автор: Trianon   (12.01.2007 в 13:25)   письмо автору
 
   для: Panker   (12.01.2007 в 13:13)
 

А в форме что вводили?
Про то что есть форма, и из нее надо что-то брать, Вы, кстати, не сказали ни слова. Почему?
Я полагал выполнить запрос в лоб.
mysql_query ("INSERT INTO Categories(d_id, categories) 
              SELECT name, 'PANKER'  FROM Domen ") 
   or die("Error:" . mysql_error()); 

   
 
 автор: Panker   (12.01.2007 в 15:21)   письмо автору
 
   для: Trianon   (12.01.2007 в 13:25)
 

форма есть :)
Не сказал так как думал в лоб не кому в голову не рпидёт выполнять :) ( Сорри ошибся :) )
Форма

<form  method="post" name="catalog" action="?content=Catalog/categories/create/submit_all.php">
<textarea name="categories" rows="10" style="width: 100%; cols: 100%;"></textarea>
<input type="hidden" name="d_id" value="<? echo $_GET['sait']; ?>" size="20">
<br>
<input type="submit" value="Отправить" name="B1">

Обработчик

<?php
Error_Reporting
(E_ALL & ~E_NOTICE);

$categories $_POST['categories'];
$d_id $_POST['d_id'];
mysql_query ("INSERT INTO Categories('', '$d_id', '$categories') SELECT name, '$categories'  FROM Domen; ") or die("Error:" mysql_error()); 


  echo 
"<META HTTP-EQUIV='REFRESH' CONTENT='0; URL=index.php?content=Catalog/categories/create/catalog.php&sait=$d_id'>";  /*Возврат на вашу страницу*/
?>

   
 
 автор: AlexelA   (12.01.2007 в 22:19)   письмо автору
 
   для: Panker   (12.01.2007 в 13:13)
 

Сравните то, что вам предложил Trianon и то, что написали вы.
Обратите внимание на количество атрибутов, зарезервированных для добавления информации: у вас их три, а количество добавляемых параметров - два.

   
 
 автор: Panker   (14.01.2007 в 13:51)   письмо автору
 
   для: AlexelA   (12.01.2007 в 22:19)
 

всмысли?, что то непонял не чего.... на что именно посомтреть?

   
 
 автор: AlexelA   (14.01.2007 в 23:41)   письмо автору
 
   для: Panker   (14.01.2007 в 13:51)
 

Я обращал ваше внимание на следующее:
Categories('', '$d_id', '$categories')
- используем 3 поля
SELECT name, '$categories'
- добавляем 2 значения,
а количество полей и добвляемых значений в эти поля должно быть одинаковым, отсюда и ошибка.

   
 
 автор: Panker   (16.01.2007 в 10:53)   письмо автору
 
   для: AlexelA   (14.01.2007 в 23:41)
 

так мне писать типа как? через запяту. или.... что т оне допонимаю :)

INSERT INTO Categories('', '$d_id', '$categories') SELECT name, '$categories'  FROM Domen;

как я понял после СЕЛЕКТ НАМЕ нуна 3 поля поставить, но как :)

SELECT name, 'id', '$d_id', '$categories'
так? и того так получится


INSERT INTO Categories('', '$d_id', '$categories') SELECT name, 'id', '$d_id', '$categories'  FROM Domen;

помоему как то не так да? :)

   
 
 автор: cheops   (16.01.2007 в 13:18)   письмо автору
 
   для: Panker   (16.01.2007 в 10:53)
 

Можно поступить следующим образом
INSERT INTO Categories SELECT NULL, name, '$categories'  FROM Domen;

   
 
 автор: Panker   (02.02.2007 в 22:45)   письмо автору
 
   для: cheops   (16.01.2007 в 13:18)
 

запись разных даных в разные поля

вот форма ввода


<form  method="POST" name="catalog" action="?content=Catalog/categories/create/submit_all.php">
    <?
  $query 
"SELECT * FROM Mordi"
  
$dmn mysql_query($query); 
  if(!
$dmn) exit(mysql_error()); 
  if(
mysql_num_rows($dmn)) 
  { 
     while(
$links mysql_fetch_array($dmn)) 
     { 
        echo 
"<b>Для сайта ".$links['d_id']." </b><br><textarea name='links[]' rows=10 cols=80></textarea><br>
        "
;
     } 
  } 
?>
<input type="hidden" name="d_id" value="<? echo $_GET['sait']; ?>" size="20">
<input value="ok" name="ok" type="submit" style="background-color:#0099FF;color:#ffffff; FONT-FAMILY: verdana; FONT-SIZE: 12px;text-decoration:none; BORDER: #000000 1px solid;font-weight: bold;cursor: pointer; cursor: hand;"></form>
</form>


и как бы тут столько форм сколько доменов, как мне это всё записать циклом в таблицу!

ОБЫЧНАЯ ЗАПИСЬ выглядит так

<?php
Error_Reporting
(E_ALL & ~E_NOTICE);

$categories $_POST['categories'];
$d_id $_POST['d_id'];
mysql_query ("INSERT INTO Categories('', '$d_id', '$categories') SELECT name, '$categories'  FROM Domen; ") or die("Error:" mysql_error()); 


  echo 
"<META HTTP-EQUIV='REFRESH' CONTENT='0; URL=index.php?content=Catalog/categories/create/catalog.php&sait=$d_id'>";  /*Возврат на вашу страницу*/
?>

   
 
 автор: Trianon   (03.02.2007 в 23:52)   письмо автору
 
   для: Panker   (02.02.2007 в 22:45)
 

>и как бы тут столько форм сколько доменов, как мне это всё записать циклом в таблицу!

В скрипт передаются поля, принадлежащие лишь какой-то одной форме.

   
Rambler's Top100
вверх

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