#php
Есть скрипт, который заполняет базу данных данными, взятыми из массива. Сейчас данные
с массива, добавляются случайно, как можно изменить скрипт чтобы данные добавлялись
последовательно (Один, Два, Три,..,.., Один, Два,.......)?
Php:
if(100==100){
$rowsToCreate = 30;
$name = array("Один", "Два", "Три", "Четыре", "Пять");
$text = array("Текст 1", "Текст 2", "Текст 3", "Текст 4", "Текст 5");
do {
$name2 = $name[array_rand($name)];
$text2 = $text[array_rand($text)];
$data = "INSERT INTO `blog` (id, name, text) VALUES (NULL, '".$name2."', ' ".$text2."'
) ";
$Result = mysql_query($data);
$rowsToCreate--;
} while ($rowsToCreate>=1);
if ($Result) {
echo "Информация добавлена!!
";
}else{
echo "Увы, но информация не добавлена!!
";
}
}
Бд:
CREATE TABLE IF NOT EXISTS `blog` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`name` varchar(100) NOT NULL,
`text` varchar(100) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
Ответы
Ответ 1
Вот так подойдет? $inArrayCnt = 0; // здесь будем хранить порядковый номер записи из массива do { $name2 = $name[$inArrayCnt]; $text2 = $text[$inArrayCnt]; $data = "INSERT INTO `blog` (id, name, text) VALUES (NULL, '".$name2."', ' ".$text2."' ) "; $Result = mysql_query($data); $rowsToCreate--; $inArrayCnt++; // увеличиваем порядковы номер if ($inArrayCnt==Count($name)) $inArrayCnt=0; // если новый номер последний - обнуляем счетчик } while ($rowsToCreate>=1);
Комментариев нет:
Отправить комментарий