Страницы

Поиск по вопросам

понедельник, 24 февраля 2020 г.

Как последовательно выбирать данные из массива?

#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);

Комментариев нет:

Отправить комментарий