Просто через WHILE - это будет 100 запросов

Спустя 7 минут, 29 секунд (18.12.2010 - 15:19) wollk написал(а):
Хм.... Придумал один способ... но в 200 даже больше строк)))) // Ладно жду советов
Спустя 4 минуты, 24 секунды (18.12.2010 - 15:23) inpost написал(а):
INSERT INTO `table` (`id`,`name`) VALUES (1,'aa'),(2,'bb'),(3,'cc')
Значения в скобках (после валуес), между ними запятая. Все запросы в один массив, потом его объеденяешь и запускаешь одно обращение.
Значения в скобках (после валуес), между ними запятая. Все запросы в один массив, потом его объеденяешь и запускаешь одно обращение.
Спустя 14 минут, 5 секунд (18.12.2010 - 15:37) Guest написал(а):
Ну я так и подумал (второе сообщение).. но 100 скобок писать... .!!! Должен быть дрeuqj выход
Спустя 3 минуты, 22 секунды (18.12.2010 - 15:40) Guest написал(а):
Хотя..... Ну ладно.. так и поступлю если не будет более лёгких предложений
Спустя 7 минут, 37 секунд (18.12.2010 - 15:48) inpost написал(а):
Кому это 100 скобок писать? Прописываешь в implode один раз, и нет проблем =)
Спустя 1 минута, 55 секунд (18.12.2010 - 15:50) sergeiss написал(а):
Guest - а в чем проблема создать такой запрос? Делаешь сначала, в цикле (тот же while, например)), нужный запрос на вставку любого количества данных, потом запускаешь.
Спустя 20 минут, 13 секунд (18.12.2010 - 16:10) Guest написал(а):
Можно примеры (2 предыдущих сообщений не понял) Черз вайл пытался не получилось. Или я не так делал
Спустя 11 минут, 17 секунд (18.12.2010 - 16:21) sergeiss написал(а):
Цитата (Guest @ 18.12.2010 - 17:10) |
Черз вайл пытался не получилось. Или я не так делал |
А ты покажи, как делал-то

Спустя 14 секунд (18.12.2010 - 16:22) inpost написал(а):
показывай скрипт
Спустя 16 минут, 3 секунды (18.12.2010 - 16:38) Guest написал(а):
Я его удалил.. нол было как то так
INSERT INTO `table` (`id`,`name`) VALUES И ТУТА ВАЙЛ (1,'aa'),(2,'bb'),(3,'cc')
INSERT INTO `table` (`id`,`name`) VALUES И ТУТА ВАЙЛ (1,'aa'),(2,'bb'),(3,'cc')
Спустя 16 секунд (18.12.2010 - 16:38) Guest написал(а):
Лучше напишите как правильно
Спустя 35 минут, 36 секунд (18.12.2010 - 17:14) hellmin написал(а):
while(условие)
массив[] = "(данные1, 'данные2')";
INSERT INTO `table` (`id`,`name`) VALUES implode(',', массив)
Спустя 41 минута, 21 секунда (18.12.2010 - 17:55) sergeiss написал(а):
Guest - лучше ты напиши, как делал... Полностью покажи.
Цитата (hellmin @ 18.12.2010 - 18:14) |
INSERT INTO `table` (`id`,`name`) VALUES implode(',', массив) |
идея верная, но написано принципиально не верно! Потому что выглядит, будто бы в SQL всё делается. А это не так.
Спустя 3 минуты, 2 секунды (18.12.2010 - 17:58) Guest написал(а):
Я удалил, сейчас посатавил типа так
while($i<100){
вставить таблицу
}
но это 100 запросов!!!
while($i<100){
вставить таблицу
}
но это 100 запросов!!!
Спустя 4 минуты, 4 секунды (18.12.2010 - 18:02) hellmin написал(а):
Цитата (sergeiss @ 18.12.2010 - 14:55) | ||
Guest - лучше ты напиши, как делал... Полностью покажи.
идея верная, но написано принципиально не верно! Потому что выглядит, будто бы в SQL всё делается. А это не так. |
Ну конечно написано не верно)) Я просто показал что и куда ставить
Спустя 2 минуты, 13 секунд (18.12.2010 - 18:04) wollk написал(а):
попробую вспомнить как я делал... Я даже не тестил так как знал что это не правильно
mysql_query("INSERT INTO `table` (`id`,`name`) VALUES".while($i<100){
$name=mt_rand(1,999);
('$id', '$name')."
");
Это я дописал.. а так я закончил писать до первой точки (".while...) - Мне даже смешной вариант как я написал.... Я уже думал как сделать через массив но не придумал. Но раз сказали что не работает, то тестить лишний раз не буду
mysql_query("INSERT INTO `table` (`id`,`name`) VALUES".while($i<100){
$name=mt_rand(1,999);
('$id', '$name')."
");
Это я дописал.. а так я закончил писать до первой точки (".while...) - Мне даже смешной вариант как я написал.... Я уже думал как сделать через массив но не придумал. Но раз сказали что не работает, то тестить лишний раз не буду
Спустя 1 минута, 10 секунд (18.12.2010 - 18:05) Guest написал(а):
Цитата (hellmin @ 18.12.2010 - 15:02) | ||||
Ну конечно написано не верно)) Я просто показал что и куда ставить |
Мне нужен 1 запрос место 100.. и чтобы не писать вручную ()... я могу изменить в любой момент кол-во 'вставок'
Спустя 8 минут, 49 секунд (18.12.2010 - 18:14) sixpoundeeer написал(а):
А так?
Только в массив, получается, придется вносить данные, обрамленные одинарными кавычками и скобками по принципу ('aa'),('bb'),('cc').
$separated = implode(',', массив);
$query = "INSERT INTO `table` (`id`,`name`) VALUES ". $separated;
Только в массив, получается, придется вносить данные, обрамленные одинарными кавычками и скобками по принципу ('aa'),('bb'),('cc').
Спустя 54 минуты, 58 секунд (18.12.2010 - 19:09) Guest написал(а):
Как тогда массив сделать
while($i<100){
$i++;
$array[$i]=array('2','admin');
}
$separated = implode(',', $array);
$query = "INSERT INTO `table` (`id`,`name`) VALUES ". $separated;
Так чтоли ?
while($i<100){
$i++;
$array[$i]=array('2','admin');
}
$separated = implode(',', $array);
$query = "INSERT INTO `table` (`id`,`name`) VALUES ". $separated;
Так чтоли ?
Спустя 2 минуты, 43 секунды (18.12.2010 - 19:12) sixpoundeeer написал(а):
Цитата (wollk @ 18.12.2010 - 15:04) |
попробую вспомнить как я делал... Я даже не тестил так как знал что это не правильно mysql_query("INSERT INTO `table` (`id`,`name`) VALUES".while($i<100){ $name=mt_rand(1,999); ('$id', '$name')." "); Это я дописал.. а так я закончил писать до первой точки (".while...) - Мне даже смешной вариант как я написал.... Я уже думал как сделать через массив но не придумал. Но раз сказали что не работает, то тестить лишний раз не буду |
for($i = 1; $i <= 100; $i++)
{
$array[] = "('". mt_rand(1, 999) ."')";
}
$separated = implode(',', $array);
$query = "INSERT INTO `table` (`rnd`) VALUES ". $separated;
mysql_query($query);
Вставит 100 случайных чисел от 1 до 999 в поле `rnd` таблицы `table`.
Как вставить несколько полей, додумывайтесь сами :)
Спустя 1 час, 3 минуты, 1 секунда (18.12.2010 - 20:15) Guest написал(а):
LF как вставить 100 случайных чисел я знаю....а вот как несколько полей в одном запросе..((
Спустя 30 минут, 52 секунды (18.12.2010 - 20:46) sergeiss написал(а):
Guest - вот сюда сходи: http://phpforum.su/index.php?showtopic=21916.
Но если и после этого не поймешь, то тогда лучше оставь программирование. Займи чем-нибудь другим.
Но если и после этого не поймешь, то тогда лучше оставь программирование. Займи чем-нибудь другим.
Спустя 14 минут (18.12.2010 - 21:00) sixpoundeeer написал(а):
Цитата (Guest @ 18.12.2010 - 17:15) |
LF как вставить 100 случайных чисел я знаю....а вот как несколько полей в одном запросе..(( |
for($i = 1; $i < 100; $i++)
{
$array[] = "('". $i ."', '". mt_rand(1, 999) ."')";
}
$separated = implode(',', $array);
$query = "INSERT INTO `table` (`id`, `name`) VALUES ". $separated;
mysql_query($query);
То есть, элементы массива у нас выглядят примерно так: ('1', '330'),('2', '536'),('3', '460')...
Когда массив обрабатывается функцией implode, это все превращается в одну длинную строку и в таком виде подается в запрос.
А вообще, если речь идет конкретно о id, то не вижу смысла заполнять его с помощью запроса. Есть же AUTO_INCREMENT.
Спустя 2 часа, 55 минут, 57 секунд (18.12.2010 - 23:56) Guest написал(а):
Спасибо попробую... П.С. Мне не ID нужно делать...
Круто!!!!! Работает!!! СПАСИБО!!!
Круто!!!!! Работает!!! СПАСИБО!!!