Arrays::insertAfter – nefunguje podmínka if
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- imbeginner
- Člen | 14
Dobrý den,
vytvořil jsem si select box, do kterého potřebuju vložit čísla 1 –
99 z výjimkou těch, které jsou již zapsány v databázi.
Pokud se číslo získané z databáze shoduje s číslem z forcyklu,
vloží se do select boxu (toto funguje)
$cislo = array();
$cislahracu = $this->hrac->findAll()->fetchPairs('cislo'); //čísla zapsaná v databázi
for ($i = 1; $i < 100; $i++) {
foreach ($cislahracu as $cisla) {
if ($cisla->cislo == $i) { //pro všechny čísla zapsaná v databázi porovnej
Arrays::insertAfter($cislo, null, array($i => $i));
}
}
}
Ale já potřebuju druhý případ, že se čísla do select boxu vloží pouze, když se daná čísla neshodují (změněním podmínky z == na != to nefunguje, proč?)
$cislo = array();
$cislahracu = $this->hrac->findAll()->fetchPairs('cislo'); //čísla zapsaná v databázi
for ($i = 1; $i < 100; $i++) {
foreach ($cislahracu as $cisla) {
if ($cisla->cislo != $i) { //pro všechny čísla zapsaná v databázi porovnej
Arrays::insertAfter($cislo, null, array($i => $i));
}
}
}
Editoval imbeginner (9. 3. 2013 14:46)