
$res = do_sqlquery("SELECT 123 FROM table1 WHERE status = '1'");
if (mysql_num_rows($res) > 0)
{
while ($arr = mysql_fetch_assoc($res))
{
$x=$arr['123'];
quickQuery("UPDATE table2 SET abs = abs+0.500000 WHERE 123 = '$x'");
$res0 = mysql_query("SELECT chas_nado FROM table2 WHERE 123 = '$x'")or die(mysql_error());
$row0 = mysql_fetch_array($res0);
if ($row0["chas_nado"] >= 0.500000){
quickQuery("UPDATE table2 SET chas_nado = chas_nado-0.500000 WHERE 123 = '$x'");
}
}
}
чуть чуть о сути скрипта..
1)ищет в table1 123 со status = '1'
2)если строк таких больше 0, то..
3)цикл
4)прибавляет 0.500000 где 123 = '$x'
5)отнимает 0.500000 где 123 = '$x'
6)окончание цикла
сразу скажу скрипт писал не я

мне нужно как то из цикла вытащить
$res0 = mysql_query("SELECT chas_nado FROM table2 WHERE 123 = '$x'")or die(mysql_error());
$row0 = mysql_fetch_array($res0);
if ($row0["chas_nado"] >= 0.500000){
quickQuery("UPDATE table2 SET chas_nado = chas_nado-0.500000 WHERE 123 = '$x'");
}
но никак не работает оно..


вот варианты, как я пробовал
$res = do_sqlquery("SELECT 123 FROM table1 WHERE status = '1'");
if (mysql_num_rows($res) > 0)
{
while ($arr = mysql_fetch_assoc($res))
{
$x=$arr['123'];
quickQuery("UPDATE table2 SET abs = abs+0.500000 WHERE 123 = '$x'");
}
$res0 = mysql_query("SELECT chas_nado FROM table2 WHERE 123 = '$x'")or die(mysql_error());
$row0 = mysql_fetch_array($res0);
if ($row0["chas_nado"] >= 0.500000){
quickQuery("UPDATE table2 SET chas_nado = chas_nado-0.500000 WHERE 123 = '$x'");
}
}
if (mysql_num_rows($res) > 0)
{
$res0 = mysql_query("SELECT chas_nado FROM table2 WHERE 123 = '$x'")or die(mysql_error());
$row0 = mysql_fetch_array($res0);
if ($row0["chas_nado"] >= 0.500000){
quickQuery("UPDATE table2 SET chas_nado = chas_nado-0.500000 WHERE 123 = '$x'");
}
while ($arr = mysql_fetch_assoc($res))
{
$x=$arr['123'];
quickQuery("UPDATE table2 SET abs = abs+0.500000 WHERE 123 = '$x'");
}
}
вариантов было много! но ниодин как нужно не работал.. Мне нужно чтобы вот это
$res0 = mysql_query("SELECT chas_nado FROM table2 WHERE 123 = '$x'")or die(mysql_error());
$row0 = mysql_fetch_array($res0);
if ($row0["chas_nado"] >= 0.500000){
quickQuery("UPDATE table2 SET chas_nado = chas_nado-0.500000 WHERE 123 = '$x'");
}
выполнялось всего один раз
Спустя 57 минут, 3 секунды (10.07.2010 - 21:29) qpayct написал(а):
друг, излагаешь ты как то по эфиопски честное слово =)) уж простите....
сделайте за меня мол код, который я сам не понимаю....
что такое quickQuery() ?? похоже на функцию из пхп 7.х.х
сделайте за меня мол код, который я сам не понимаю....
что такое quickQuery() ?? похоже на функцию из пхп 7.х.х
Спустя 6 минут, 14 секунд (10.07.2010 - 21:35) tmt0086 написал(а):
qpayct
да я не знаю как объяснить
извиняй, что по эфиопски объясняю..
скрипт прибавляет кароче числа в одну таблицу и вычитает из другой..
нужно чтобы вычетал так же, а вычитал без цикла, тоесть всего один раз!
да я не знаю как объяснить

$res = do_sqlquery("SELECT 123 FROM table1 WHERE status = '1'");
if (mysql_num_rows($res) > 0)
{
while ($arr = mysql_fetch_assoc($res))
{
$x=$arr['123'];
quickQuery("UPDATE table2 SET abs = abs+0.500000 WHERE 123 = '$x'");
$res0 = mysql_query("SELECT chas_nado FROM table2 WHERE 123 = '$x'")or die(mysql_error());
$row0 = mysql_fetch_array($res0);
if ($row0["chas_nado"] >= 0.500000){
quickQuery("UPDATE table2 SET chas_nado = chas_nado-0.500000 WHERE 123 = '$x'");
}
}
}
скрипт прибавляет кароче числа в одну таблицу и вычитает из другой..
нужно чтобы вычетал так же, а вычитал без цикла, тоесть всего один раз!
Спустя 2 минуты, 24 секунды (10.07.2010 - 21:37) qpayct написал(а):
мм..
попробуй просто break; сделай в конце цикла, чтоб один раз делалось. хотя конечно совет это чисто эфиопский
попробуй просто break; сделай в конце цикла, чтоб один раз делалось. хотя конечно совет это чисто эфиопский

Спустя 2 минуты, 53 секунды (10.07.2010 - 21:40) tmt0086 написал(а):
qpayct
нее, так не выйдет! нужно чтобы это:
работало циклом, а вот это:
один раз
нее, так не выйдет! нужно чтобы это:
$x=$arr['123'];
quickQuery("UPDATE table2 SET abs = abs+0.500000 WHERE 123 = '$x'");
работало циклом, а вот это:
$res0 = mysql_query("SELECT chas_nado FROM table2 WHERE 123 = '$x'")or die(mysql_error());
$row0 = mysql_fetch_array($res0);
if ($row0["chas_nado"] >= 0.500000){
quickQuery("UPDATE table2 SET chas_nado = chas_nado-0.500000 WHERE 123 = '$x'");
}
один раз
Спустя 6 минут, 52 секунды (10.07.2010 - 21:47) qpayct написал(а):
ну так каунтер поставь....
$i=0;или вас в эфиопии этому не учили?
$res = do_sqlquery("SELECT 123 FROM table1 WHERE status = '1'");
if (mysql_num_rows($res) > 0)
{
while ($arr = mysql_fetch_assoc($res))
{
$x=$arr['123'];
quickQuery("UPDATE table2 SET abs = abs+0.500000 WHERE 123 = '$x'");
if($i == 0)
{
$res0 = mysql_query("SELECT chas_nado FROM table2 WHERE 123 = '$x'")or die(mysql_error());
$row0 = mysql_fetch_array($res0);
if ($row0["chas_nado"] >= 0.500000) quickQuery("UPDATE table2 SET chas_nado = chas_nado-0.500000 WHERE 123 = '$x'");
$i++;
}
}
}
Спустя 6 минут, 35 секунд (10.07.2010 - 21:54) tmt0086 написал(а):
qpayct
чесно сказать нет
я искал, но как понял не то, СПАСИБО ОГРОМНОЕ!!! щас попробую
чесно сказать нет


Спустя 5 минут, 18 секунд (10.07.2010 - 21:59) qpayct написал(а):
не ну понятно, если ты думал что проблема в цикле, а по ходу вопроса понял, что надо... тут вывод один - ты плохо подумал =)
Спустя 1 минута, 23 секунды (10.07.2010 - 22:00) tmt0086 написал(а):
qpayct
я уже 3ий день разбираюсь.. я просто тока учусь
так что не думай, что я не думал
я уже 3ий день разбираюсь.. я просто тока учусь

Спустя 8 минут, 5 секунд (10.07.2010 - 22:09) qpayct написал(а):
я это делаю не специально
у меня это уже давно постепенно входит в привычку


Спустя 44 минуты, 40 секунд (10.07.2010 - 22:53) tmt0086 написал(а):
qpayct
не пашет((
это прибавляет, а вычетать не хочет
не пашет((
$x=$arr['123'];
quickQuery("UPDATE table2 SET abs = abs+0.500000 WHERE 123 = '$x'");
это прибавляет, а вычетать не хочет
Спустя 13 часов, 23 минуты, 59 секунд (11.07.2010 - 12:17) tmt0086 написал(а):
$res = do_sqlquery("SELECT 123 FROM table1 WHERE status = '1'");
if (mysql_num_rows($res) > 0)
{
while ($arr = mysql_fetch_assoc($res) && $i=0)
{
$x=$arr['123'];
quickQuery("UPDATE table2 SET abs = abs+0.500000 WHERE 123 = '$x'");
if($i == 0)
{
$res0 = mysql_query("SELECT chas_nado FROM table2 WHERE 123 = '$x'")or die(mysql_error());
$row0 = mysql_fetch_array($res0);
if ($row0["chas_nado"] >= 0.500000) quickQuery("UPDATE table2 SET chas_nado = chas_nado-0.500000 WHERE 123 = '$x'");
$i++;
}
}
}
подскажите, а вот так можно?
_____________
Продаю людей. Дешего. Писать в ПС