Преброяване колко пъти ще се изпълни цикъла

sentenello

Registered
Здравейте,
Искам да огранича прогнозите за ден да са 10 на брой, но за целта трябва да преброявам колко пъти ще се изпълва цикъла.

Направил съм си проверка колко вече е прогнозирал потребителя и ако = на 10 да не може повече. Сега обаче ми трябва как да проверя колко е селектирал и ако селектираните + вече прогнозираните >10 да му изписва, че максимума прогнози за ден е 10.
 
Става въпрос за прогнозиране на мачове.
Всеки ден си има даден брой мачове за прогнозиране. Примерно 20.

Искам да огранича максимума заложени мачове за ден да е 10. Ето снимка с която ще ви олесня.



Uploaded with ImageShack.us

Както виждате отгоре са мачовете за днес, а отдоло са тези които съм прогнозирал (в случая николко).

Когато дам прогнозирай се изпълнява цикъл който взема всяко едно поле в което има избрано нещо в <Select>-овете. Искам да направя проверка колко мача е избрал, за да може избраните мачове като ги добавя към вече прогнозираните (ако има) да получа общия брой и така да си направя проверката. Ето пример за проверката.

if ($izbrani_ma4ove + $ve4e_prognozirani) > 10 {
echo" maksimuma e 10";
}

Ето това искам да направя, но незнам как да преброя колко мача е избрал.
П.С. Иначе вече прогнозираните (ако има) ги преброявам от БД-то.
 
sentenello каза:
Когато дам прогнозирай се изпълнява цикъл който взема всяко едно поле в което има избрано нещо в <Select>-овете. Искам да направя проверка колко мача е избрал, за да може избраните мачове като ги добавя към вече прогнозираните (ако има) да получа общия брой и така да си направя проверката. Ето пример за проверката.
Какъв е проблема в този цикъл, да му сложиш един елементарен брояч.
Код:
var i = 1;
i += 1
 
Ето ти един пример, имаш горе-долу такъв хтмл
<select class="prognoza">
<option value="0">Ne e izbran</option>
<option value="1">izbran</option>
</select>
Просто завърташ един цикъл и броиш
var counter = 0;
$(".prognoza").each(function(){
if (counter >= 10) { alert('Вие сте ги използвали на МАХ'); return false; }
if ($(this).val() != "0") { counter += 1; }
});
 
Направо ти давам частта с Select менютата.
Код:
<td width="45px"><SELECT NAME="tochki['.$game['id'].']" style="text-align: left;" class="btnreg" >
    <OPTION SELECTED VALUE=""></OPTION>
<OPTION VALUE="1">1</OPTION><OPTION VALUE="2">2</OPTION><OPTION VALUE="3">3</OPTION> <OPTION VALUE="4">4</OPTION> <OPTION VALUE="5">5</OPTION> <OPTION VALUE="6">6</OPTION> <OPTION VALUE="7">7</OPTION> <OPTION VALUE="8">8</OPTION><OPTION VALUE="9">9</OPTION> <OPTION VALUE="10">10</OPTION> 
</SELECT> </td>
   
    <td width="45px">
    <SELECT NAME="zalog['.$game['id'].']" id="zalog'.$game['id'].'" style="text-align: center;" class="btnreg" onChange="check(\'zalog\',this[this.selectedIndex].value,\''.$game['id'].'\');">
   <OPTION SELECTED VALUE=""></OPTION>
<OPTION VALUE="1">1</OPTION><OPTION VALUE="X">X</OPTION><OPTION VALUE="2">2</OPTION>
</SELECT>
    </td>
     <td width="45px"><SELECT NAME="gold['.$game['id'].']" id="gold'.$game['id'].'" style="text-align: center;" class="btnreg" onChange="check(\'gold\',this[this.selectedIndex].value,\''.$game['id'].'\');">
    <OPTION SELECTED VALUE=""></OPTION>
    <OPTION VALUE="0">0</OPTION>
<OPTION VALUE="1">1</OPTION><OPTION VALUE="2">2</OPTION><OPTION VALUE="3">3</OPTION> <OPTION VALUE="4">4</OPTION> <OPTION VALUE="5">5</OPTION> <OPTION VALUE="6">6</OPTION> <OPTION VALUE="7">7</OPTION> <OPTION VALUE="8">8</OPTION><OPTION VALUE="9">9</OPTION> <OPTION VALUE="10">10</OPTION> 
</SELECT> </td>
     <td width="45px"><SELECT NAME="golg['.$game['id'].']" id="golg'.$game['id'].'" style="text-align: center;" class="btnreg" onChange="check(\'golg\',this[this.selectedIndex].value,\''.$game['id'].'\');">
    <OPTION SELECTED VALUE=""></OPTION>
    <OPTION VALUE="0">0</OPTION>
<OPTION VALUE="1">1</OPTION><OPTION VALUE="2">2</OPTION><OPTION VALUE="3">3</OPTION> <OPTION VALUE="4">4</OPTION> <OPTION VALUE="5">5</OPTION> <OPTION VALUE="6">6</OPTION> <OPTION VALUE="7">7</OPTION> <OPTION VALUE="8">8</OPTION><OPTION VALUE="9">9</OPTION> <OPTION VALUE="10">10</OPTION> 
</SELECT> </td>

ако можеш да ми кажеш на кое да сложа class и после как да го наглася с JS който си ми дал :oops:
 
Слагаш клас на <select> таг-а (в моя случай prognoza).
Също и проверката няма да е
$(this).val() != "0"
а ще е
$(this).val() != "")
:idea:
П.П. Също предполагам, на един ред имаш няколко селект менюта, важно е да избереш единия селект само, и на него да сложиш клас. В противен случай, от един ред (един мач), може да вдигнеш стойноста на брояча с 3/4.
 
Сложих това най-отгоре.
Код:
<script type="text/javascript">
var counter = 0;
$(".prognoza").each(function(){
if (counter >= 10) { alert('Вие сте ги използвали на МАХ'); return false; }
if ($(this).val() != "") { counter += 1; }
});
</script>

След това промених селект менюто за точките така.
Код:
<SELECT NAME="tochki['.$game['id'].']" style="text-align: left;" class="prognoza"  >
    <OPTION SELECTED VALUE=""></OPTION>
<OPTION VALUE="1">1</OPTION><OPTION VALUE="2">2</OPTION><OPTION VALUE="3">3</OPTION> <OPTION VALUE="4">4</OPTION> <OPTION VALUE="5">5</OPTION> <OPTION VALUE="6">6</OPTION> <OPTION VALUE="7">7</OPTION> <OPTION VALUE="8">8</OPTION><OPTION VALUE="9">9</OPTION> <OPTION VALUE="10">10</OPTION> 
</SELECT>

Сега не може дори да се прогнозира. :roll: :roll:

EDIT:
Когато не съм направил нито 1 прогноза, мога да прогнозирам колкото си искам (дори повече от 10), а когато съм дал вече 1 прогноза примерно, не мога повече нито 1 мач да пусна.
 
Успях да се справя след доста ровене и мислене.

ето и как преброих колко срещи е селектирал потребителя.
Код:
$sumpoints2[] = intval($zalogo!=NULL);
$blq = array_sum($sumpoints2);
Replace +1
 

Back
Горе