Loading...
PHP/MySQL | рандомный вывод через рандом с файла в базу
Litput (23.03.2015 в 23:19)
_sukurich_ (23.03.2015 в 22:26)
Насколько я понимаю, дело делается через array_rand, но как занести файл в массив?

$arr = array(
"1" => "0",
"2" => "0",
"3" => "0",
"300" => "1");

$tmpArr = array_values(array_filter($arr, function ($v) {
return !empty($v);
}));
echo $tmpArr[rand(0, count($tmpArr) - 1)] ;

Тут выбор рандомного числа, подправь под себя

Если б все так просто) мне с файла вытаскивать надо как-то
$file = file('names.dat'); //при условии что лежит в одной директории
$rand_name = array_rand($file); // Выбираем случайное имя

mysql_query("INSERT INTO `table` SET `st1` = '$rand_name', `st2` = 50");


Собственно ничего сложного же)
PS не проверял, но должно работать
37861047 (23.03.2015 в 23:23)
$file = file('names.dat'); //при условии что лежит в одной директории
$rand_name = array_rand($file); // Выбираем случайное имя

mysql_query("INSERT INTO `table` SET `st1` = '$rand_name', `st2` = 50");


Собственно ничего сложного же)
PS не проверял, но должно работать

Спасибо) а в файле с данными между значениями надо ставить (;) или вроде того? Иль просто перенос?
_sukurich_, просто перенос строки, проверь и отпишись
37861047 (23.03.2015 в 23:26)
_sukurich_, просто перенос строки, проверь и отпишись

Завтра,сегодня не могу уже
_sukurich_ (23.03.2015 в 20:00)
У меня есть табла table1 в ней столбцы st1,st2 и т.д.
Надо рандомно выбрать значения в st1 с файла names.dat, и заполнить st2 значением 50
Как такое сделать?


вот рандомный выбор

<?php
$data = file('names.dat');
$random = $data[mt_rand(1,10)];
echo''.$random.'';
?>
_sukurich_, чуть ошибся, так будует номера строк вызывать. Вот правильно как будет:

$file = file('names.dat');
$rand_name= $file[array_rand($file)];

mysql_query("INSERT INTO `table` SET `st1` = '$rand_name', `st2` = 50";
37861047 (23.03.2015 в 23:40)
_sukurich_, чуть ошибся, так будует номера строк вызывать. Вот правильно как будет:

$file = file('names.dat');
$rand_name= $file[array_rand($file)];

mysql_query("INSERT INTO `table` SET `st1` = '$rand_name', `st2` = 50";

Спс
37861047, а можно ли в один столбец вбить значений с двух файлов. Например: есть файл names.dat с содержимым " Вася Петя Федя" и snames.dat с содержимым "Иванов,Петров,Пупкин" и их можно как-то закинуть в столбец name не разбивая на два столбца? Пример: Федя Петров,Вася Пупкин.
Моэно как-то так сделать?
37861047 (23.03.2015 в 23:40)
_sukurich_, чуть ошибся, так будует номера строк вызывать. Вот правильно как будет:

$file = file('names.dat');
$rand_name= $file[array_rand($file)];

mysql_query("INSERT INTO `table` SET `st1` = '$rand_name', `st2` = 50";

Не получилось..вроде всё верно,но значения не поменялись.
Онлайн: 2
Время:
Gen. 0.0974
(c) Bym.Guru 2010-2025