<MyRusakov.ru />

Создание крупного проекта на Java с нуля

Создание крупного проекта на Java с нуля

Данный курс научит Вас создавать крупные проекты на Java грамотно и быстро. В курсе Вы увидите создание большой и сложной программы на Java абсолютно с нуля.

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

В рамках упражнений курса Вы параллельно со мной будете создавать свою большую программу на Java, что даст Вам необходимую практику, после которой для Вас уже не будет разницы, какого размера создавать программы.

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Форум сайта MyRusakov.ru

select, update в цикле.
15.02.2013 20:02:33 select, update в цикле. Сообщение #1
Casha

Casha

Новичок

Новичок

Дата регистрации:
15.02.2013 19:55:46

Сообщений: 11

Здравствуйте Михаил!
Нужна мпомошь.

можно ли делать выборку и апдейт для всех полей в цикле, чтобы апдейт делался в том поле что выбранно?

Ниже код в котором я пытаюсь это сделать.

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



<?php include("blocks/db.php";

do {


$result1 = mysql_query ("SELECT COUNT(id) FROM mag ",$db);
$massiv1 = mysql_fetch_array ($result1);

$allvl = $massiv1['0'];

$result = mysql_query ("SELECT SUM(lvlmag) FROM mag ",$db);
$massiv = mysql_fetch_array ($result);

$colmag = $massiv['0'];

$result11 = mysql_query ("SELECT lvlmag FROM mag";
$massiv11 = mysql_fetch_array ($result11);

$result2 = mysql_query ("SELECT budjet FROM budjet ";
$massiv2 = mysql_fetch_array ($result2);

$budjet = $massiv2['budjet'];
$moymag = $massiv11['lvlmag'];

$obshbudjet = ($budjet / $colmag);
$moyposititel = ($moymag * $obshbudjet);

$time = time();

$result4 = mysql_query("UPDATE mag SET budjet='$moyposititel',time='$time'",$db);

if ( isset($_POST['mp3'])) {$mp3=$_POST['mp3'];} else {"";}


$result3 = mysql_query ("SELECT mp3 FROM ceni";
$massiv3 = mysql_fetch_array ($result3);
$mp3 = $massiv3['mp3'];

$result12 = mysql_query ("SELECT budjet FROM mag";
$massiv12 = mysql_fetch_array ($result12);
$budjet = $massiv12['budjet'];

$raz = $mp3 - 42;

$f1=$budjet;
$f2=$raz * 200;
$f3=$f1*(1-$f2) ;
$f3=($f1 * (100000 - $f2))/100000;

$e= 540;
if ($mp3 > $e) echo ""; else

$b= NULL;
if ($mp3 == $b) echo ""; else
$d = 0;
if ($mp3 == $d) echo ""; else {

$result122=mysql_query("SELECT mp3,many FROM res",$db);
$massiv122 = mysql_fetch_array($result122);
$mp = $massiv122['mp3'];

if ($mp < 1) echo "";

else {

$many = $massiv122['many'];

if (($mp * $mp3) < $f3){
$many = ($mp * $mp3) + $many;
$mp1 = 0;
$mp1 = intval ($mp1);

;} else {

$mp2 = $f3 / $mp3;
$mp1 = $mp - $mp2;
$mp1 = intval($mp1);


$mony = ($mp - $mp1);
$many = ($mony * $mp3) + $many; ; }

$many= intval ($many);

$result133 = mysql_query("UPDATE res SET mp3='$mp1',many='$many'",$db); ;} ;}

}
while ($massiv1 = mysql_fetch_array ($result1)); ( $massiv = mysql_fetch_array ($result));( $massiv11 = mysql_fetch_array ($result11));
($massiv2 = mysql_fetch_array ($result2)); ($massiv3 = mysql_fetch_array ($result3)); ($massiv12 = mysql_fetch_array ($result12));
($massiv122 = mysql_fetch_array($result122));;;;;

?>
Профиль Ответить
15.02.2013 20:06:31 select, update в цикле. Сообщение #2
Casha

Casha

Новичок

Новичок

Дата регистрации:
15.02.2013 19:55:46

Сообщений: 11

Код выполняется, но во все поля в БД пишет значение одного пользователя.
А мне надо чтобы писалось каждому свое.


быть может проблема еше в том что записи в Таблицах идут не попорядку. Тоесть в одной таблице первая запись одного персонажа а в другой таблице первая запись другого персонажа.

Прошу сказать мне решение моей проблемы.
Профиль Ответить
15.02.2013 21:05:43 select, update в цикле. Сообщение #3
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Используйте вложенные запросы. Внутри UPDATE можно без проблем использовать SELECT.
Профиль Ответить
15.02.2013 23:19:34 select, update в цикле. Сообщение #4
Casha

Casha

Новичок

Новичок

Дата регистрации:
15.02.2013 19:55:46

Сообщений: 11

Спасибо вам за ответ. Но я совсем новичек в программировании. Не могли бы вы мне показать пример с моим кодом? И как это мне поможет? Как вы видите у меня в цикле не только выборки, а есть еше много математических решений со своими переменными взятые из выборок. Как мне с ними быть?

как вы видите у меня в коде много запросов. И как с ними быть тоже в один апдейт вложить?

А с циклом что? Мне нужен цикл.

Очень прошу полный ответ.
Профиль Ответить
15.02.2013 23:51:02 select, update в цикле. Сообщение #5
Casha

Casha

Новичок

Новичок

Дата регистрации:
15.02.2013 19:55:46

Сообщений: 11

Кажись я решил свою проблему.
Просто в первом селекте выбирал и логин. А дальше везде выбирал поле где логин равнялся первой выборке.

Теперь у меня другой вопрос.

Как мне запускать автоматически, данный файл каждый час? и чтобы не надо было на него заходить.
Профиль Ответить
16.02.2013 10:00:20 select, update в цикле. Сообщение #6
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Через cron: http://myrusakov.ru/use-cron.html
Профиль Ответить