Autor | Zpráva | ||
---|---|---|---|
noname Profil * |
#1 · Zasláno: 5. 5. 2011, 17:26:48
Ahoj,
poradí prosím někdo, jak můžu v tomto while ještě načíst data do pole které bych pak mohl podmínkou kontrolovat? $sql = mysql_query("SELECT * FROM `oblast` WHERE `kraj` = '1'"); while ($row = mysql_fetch_assoc($sql)) { echo $row['kraj']; } Děkuji pěkně za pomoc |
||
noname Profil * |
#2 · Zasláno: 5. 5. 2011, 17:36:35
Ještě doplním, že potřebuji kontrolovat všechny id, pokud se data z id už načetla tak aby se nenačetla znova, třeba se to dělá jinak pomocí nějaké fci v php.. Děkuji
|
||
ShiraNai7 Profil |
#3 · Zasláno: 5. 5. 2011, 17:37:22 · Upravil/a: ShiraNai7
$sql = mysql_query("SELECT * FROM `oblast` WHERE `kraj` = '1'"); $data = array(); while ($row = mysql_fetch_assoc($sql)) { $data[] = $row; } nebo spíš tedy: $sql = mysql_query("SELECT * FROM `oblast` WHERE `kraj` = '1'"); $data = array(); while ($row = mysql_fetch_assoc($sql)) { $data[$row['id']] = $row; } Pak stačí testovat: isset($data[id]); |
||
Ben Profil * |
#4 · Zasláno: 5. 5. 2011, 17:42:50
Nechápu přesně co chceš. Spíš myslíš toto?
foreach |
||
noname Profil * |
#5 · Zasláno: 5. 5. 2011, 18:02:31
Mám celý kód jako funkci a v ní vnořenou funkci která volá sama sebe
function ukaz($co){ $sql = mysql_query("SELECT * FROM `oblast` WHERE `kraj` = '".$co."'"); while ($row = mysql_fetch_assoc($sql)) { if ($row['kraj'] == $row['kde']){ echo $row['kraj'] . "aktivni"; echo ukaz($row['kraj']); } else { echo $row['kraj']; } } } problém je ale v tom, že se data vypisují víckrát, respektivní tolikrát, kolik je úrovní. A já potřebuji všechno načíst do pole a kontrolovat jestli v tom poli to ide už není, pokud je, tak aby se řádek nevypisoval. ShiraNai7: s tím scriptem co jsi sem pastnul je to úplně stejný jako bez něho.. :( |
||
ShiraNai7 Profil |
#6 · Zasláno: 5. 5. 2011, 18:19:48
noname:
Vyzkoušej, netestováno: function ukaz($co) { // priprava cache static $cache = array(); // nacteni dat if(!isset($cache[$co])) { $cache[$co] = array(); $sql = mysql_query('SELECT * FROM `oblast` WHERE `kraj` = \''.mysql_real_escape_string($co).'\''); while($row = mysql_fetch_assoc($sql)) $cache[$co][] = $row; } // vypisuj for($i = 0; isset($cache[$co][$i]); ++$i) { if($cache[$co][$i]['kraj'] === $cache[$co][$i]['kde']) { echo $cache[$co][$i]['kraj'].'aktivni'; ukaz($cache[$co][$i]['kraj']); } else echo $cache[$co][$i]['kraj']; } } |
||
Časová prodleva: 13 let
|
0