Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP: базы данных
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
QweЯty
2 / 2 / 2
Регистрация: 11.10.2010
Сообщений: 186
1

Получение случайного числа и проверка его в БД

13.03.2011, 21:55. Просмотров 865. Ответов 4
Метки нет (Все метки)

есть:
PHP
1
2
3
4
5
6
7
8
9
10
11
<select margin-right:2%; name="positionmenu" size="1" />
<?php
$n = mt_rand(1, 243);
echo '<option value="10.2.1.'.$n.'">10.2.1.'.$n.'</option>';
echo '<option value="10.2.1.'.($n+1).'">10.2.1.'.($n+1).'</option>';
echo '<option value="10.2.1.'.($n+2).'">10.2.1.'.($n+2).'</option>';
echo '<option value="10.2.1.'.($n+4).'">10.2.1.'.($n+4).'</option>';
echo '<option value="10.2.1.'.($n+7).'">10.2.1.'.($n+7).'</option>';
echo '<option value="10.2.1.'.($n+12).'">10.2.1.'.($n+12).'</option>';
?>
</select>
как проверить если это числа которые получились. и если совпали какие-то то заменить.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.03.2011, 21:55
Ответы с готовыми решениями:

Выполнение запроса и получение его результата
Здравствуйте! Я произвожу добавление данных в таблицу используя PDO: $res =...

Получение случайного числа
Давно не работал с GPSS и все забыл. Помогите разобраться. Время на обработку...

Получение случайного числа в заданном интервале
Ребята подскажите пожалуйста хороший способ реализации рандома в си. Нужен от 0...

Генерация случайного числа, максимально случайного
Добрый день, задался вопросом как получить случайное число, но не...

получение случайного символа
В общем суть такова. Мне надо в массив записать последовательность случайных...

4
__PION__
956 / 797 / 85
Регистрация: 21.07.2010
Сообщений: 3,521
13.03.2011, 23:49 2
блин, как только не перечитал вопрос, не понятно
0
QweЯty
2 / 2 / 2
Регистрация: 11.10.2010
Сообщений: 186
17.03.2011, 14:16  [ТС] 3
прошу прощения, писал на скорую руку, уходя по делам

есть:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<select margin-right:2%; name="positionmenu" size="1" />
<?php
$n = mt_rand(1, 243);
$n1 = 10.2.1.$n;
$n2 = 10.2.1.($n+1);
$n3 = 10.2.1.($n+2);
$n4 = 10.2.1.($n+3);
$n5 = 10.2.1.($n+4);
$n6 = 10.2.1.($n+5);
include("db.php");
//
//
//
echo '<option value="'.$n1.'">'.$n1.'</option>';
echo '<option value="'.$n2.'">'.$n2.'</option>';
echo '<option value="'.$n3.'">'.$n3.'</option>';
echo '<option value="'.$n4.'">'.$n4.'</option>';
echo '<option value="'.$n5).'">'.$n5.'</option>';
echo '<option value="'.$n6).'">'.$n6.'</option>';
?>
</select>
как сделать проверку в бд на присутствие значений $n* и если они есть, то исключить из <option></option>

то есть получаем 6 значений, проверяем их в бд. если есть то рисуем...
как сделать это?
вот
0
suharik
260 / 246 / 57
Регистрация: 03.09.2010
Сообщений: 805
17.03.2011, 15:50 4
Видя Ваш код, непоятно, причем тут бд? ))
а понял.
Сначала напишите запрос к базе и допишите WHERE pole=$n1 OR pole=$n2....

поставьте условие, если условие пройдет, занчит какой-то есть. дальше просто сравнить то что есть в базе с полученными цифрами из рандома, и вуаля)) исключаем

тут правельнее мне кажется использовать цикл при выводе оптионов.

Добавлено через 28 минут
как то много кода получается если Вашим способом делать.
Сколько у Вас будет в селекте оптионов? 6 это максимум?

Добавлено через 12 минут
Вот на скорую руку сделал
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
$n = mt_rand(1, 243);
$p = '10.2.1.';
$co=6;
include("db.php");
//
//
//
$inq=mysql_fetch_array(mysql_query("SELECT ippole FROM table WHERE ippole=$n1 OR ippole=$n1 OR ippole=$n2 OR ippole=$n3 OR ippole=$n4 OR ippole=$n5  OR ippole=$n6"));
if($inq){
for ($t=0;$t<$co;$t++){
  foreach ($inq AS $key => $val){
  if($val!=($p.($n+$t))){
  $p=$p.($n+$t);
  echo '<option value="'.$p.'">'.$p.'</option>';
 }
 }
 
$n++;
}
}else{
for ($t=0;$t<$co;$t++){
  $p=$p.($n+$t);
  echo '<option value="'.$p.'">'.$p.'</option>';
$n++;
  }
}
поидее меняеш циферку в переменной $co и быдет столько оптионов сколько нужно и приэтом абсолютно не похожые с бд.
0
QweЯty
2 / 2 / 2
Регистрация: 11.10.2010
Сообщений: 186
20.03.2011, 16:39  [ТС] 5
не совсем понял..
как идет проверка в sql на наличие $n1-$n6?
если их нет в коде...

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
//допустим сгенерили 6 чисел.
$rnd = mt_rand(1, 243);
$n1 = ($rnd+1);
$n2 = ($rnd+2);
$n3 = ($rnd+4);
$n4 = ($rnd+10);
$n5 = ($rnd+8);
$n6 = ($rnd+12);
//проверяем их в бд.
include("db.php");
for ( $i=0; $i<=6; $i++) {
$searchquery = ("SELECT * FROM `dhcpd` WHERE `position` LIKE 'как сюда подставить $n*' ");
// не знаю как подставить в него $n*
$result = mysql_query($searchquery);
if (mysql_num_rows($result) == 0)
{
echo '<option value="$n*">$n*</option>';
}
}
 
?>
будет ли работать сие творение сивой кобылы

Добавлено через 17 часов 23 минуты
сделал вот так:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<select margin-right:2%; name="positionmenu" size="1" />
<?php
include("db.php");
$n = mt_rand(1, 200);
for ($i=1; $i<=9; $i++) {
 $optquery = ("SELECT * FROM `dhcpd` WHERE `position` LIKE '10.2.1.$n'");
 $result = mysql_query($optquery);
    if (mysql_num_rows($result) == 0)
     {
      echo '<option value="10.2.1.'.$n.'">10.2.1.'.$n.'</option>';
      $n = ($n+$i);
     }
     else
     {
     $n = ($n+$i);
     }
}
mysql_close ( $db.php );
?>
</select>
может кому нибудь да пригодиться еще
скрипт рабочий
0
20.03.2011, 16:39
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.03.2011, 16:39

Получение определенной цифры числа без перевода его в строку
Доброго времени суток! Только начинаю осваивать Ruby, появился такой вопрос: ...

RegEx: Поиск числа и его получение без разделительного знака
есть текст например: &quot;бла бла 1.34 бла ла бла &quot; нужно вытащить 134 без...

Фильтр на ввод целого неотрицательного числа и его проверка на простоту
Господа, горю с заданием. Нужно написать программу, которая при помощи...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru