Autor | Zpráva | ||
---|---|---|---|
jtfcobra Profil |
Ahoj dělám výpis pole ale nefunguje to mohli by jste mi poradit co delam spatne?
<?php // Odezvy $data=mysql_query("SELECT MAC,JMENO FROM merenisystem.zarizeni",$db); while ($zaznam = mysql_fetch_array($data)){ $zarizeniseznam[$zaznam["MAC"]] = $zaznam["JMENO"]; } $data=mysql_query("SELECT MAC,DATUM,CAS FROM merenisystem.quido ORDER BY ID DESC LIMIT 0,50",$db); while ($zaznam = mysql_fetch_array($data)){ if ($zarizeniseznam[$zaznam["MAC"]] == $zaznam["MAC"]) { $zarizeniseznamodezva[$zaznam["MAC"]] = $zaznam["DATUM"].' '.$zaznam["CAS"];} } echo $zarizeniseznam['00204AF39358'].' odezva ' . $zarizeniseznamodezva['00204AF39358']; ?> Prvni dotaz nacte zarizeny a druhy dotaz zjisti kdy naposled se ulozily zaznamy |
||
Alphard Profil |
#2 · Zasláno: 29. 12. 2016, 11:17:18
Klíč
'jmeno' na 11. řádku nemůže existovat (tam již je samotná hodnota jména, viz řádek 4) a také nepovažuji za úplně moudré přepisovat si ve foreach původní pole (9. řádek), byť to funguje.
|
||
jtfcobra Profil |
#3 · Zasláno: 29. 12. 2016, 11:26:10
Chtel bych vypsat vsechny pole
Ale nevim presne jak napadlo mne : foreach($zarizeniseznam as $zarizeniseznamodezva){ echo $zarizeniseznam.' odezva ' . $zarizeniseznamodezva'<br>'; } Vysledek by mnel byt takto Chalupa Quido 2 odezva 2016-12-29 11:23:32 Chalupa Quido 1 odezva 2016-12-29 11:23:32 Chalupa Quido 3 odezva 2016-12-29 11:23:32 Chalupa Quido 4 odezva 2016-12-29 11:23:32 atd |
||
Tomášeek Profil |
#4 · Zasláno: 29. 12. 2016, 11:37:18
jtfcobra:
... a výsledek přitom je Array odezva 2016-12-29 11:23:32 , že?
$zarizeniseznam je pole (a že to je pole víš, protože jej procházíš foreach em), tak s ním nemůžeš v cyklu pracovat jako s řetězcem, přeci, ne?
Zkus trochu přemýšlet nad tím, co v jednotlivých proměnných je. Možná, kdybys je měl pojmenované nějak normálněji, bylo by ti jasnější, co v které je. |
||
jtfcobra Profil |
#5 · Zasláno: 29. 12. 2016, 11:40:08
Spolecne pojmenovani je MAC (mac adresa)
|
||
Taps Profil |
jtfcobra:
a nešlo by to jednoduššeji? viz níže. <? $zarizeniseznam = array(); $data = mysql_query("SELECT q.MAC AS MAC, q.DATUM AS DATUM, q.CAS AS CAS FROM merenisystem.zarizeni z INNER JOIN merenisystem.quido q ON z.MAC = q.MAC ORDER BY q.ID DESC LIMIT 0,50", $db); while ($zaznam = mysql_fetch_array($data)){ $zarizeniseznam[$zaznam["MAC"]] = ['DATUM' => $zaznam['DATUM'], 'CAS' => $zaznam['CAS'] ]; } // kontrolní výpis pole echo '<pre>';print_r($zarizeniseznam);'</pre>'; ?> |
||
jtfcobra Profil |
#7 · Zasláno: 29. 12. 2016, 12:43:02
Taps:
Nefunguje radek $zarizeniseznam[$zaznam["MAC"]] = array['DATUM' => $zaznam['DATUM'], 'CAS' => $zaznam['CAS'] ]; Parse error: syntax error, unexpected '[', expecting ' |
||
Taps Profil |
#8 · Zasláno: 29. 12. 2016, 13:06:25
jtfcobra:
kod jsem upravil (vymazal slovo array) |
||
jtfcobra Profil |
Funguje dekuji ale je divny ten vypis slo by to aby to vypsalo normalne pod sebe:
Jeste je to pomale je mozne ze by podle MAC naslo jen posledni odpoved v DB Quido? Abych to nemusel limitovat 0,50? Array ( [00204AF33B77] => Array ( [0] => TChalupaVentily: 2016-12-29 13:17:30 ) [0080A39CB88D] => Array ( [0] => Melnik Bar: 2016-12-29 13:20:15 ) [0080A39D4784] => Array ( [0] => BrandysPuda: 2016-12-29 13:17:28 ) [0080A39D5F25] => Array ( [0] => BrandysVedleKB: 2016-12-29 13:17:22 ) [00204AF39358] => Array ( [0] => Jenstejn: 2016-12-29 13:19:56 ) [0080A3A3EAC2] => Array ( [0] => Chalupa: 2016-12-29 13:18:11 ) [0080A3A19799] => Array ( [0] => Fontana 2: 2016-12-29 13:18:01 ) [0080A39D4788] => Array ( [0] => BrandysRecepce: 2016-12-29 13:18:40 ) [0080A3A1A2AE] => Array ( [0] => Topeni brandys: 2016-12-29 13:18:28 ) [0080A39D4782] => Array ( [0] => BrandysKuchyne: 2016-12-29 13:18:00 ) [0080A3A24639] => Array ( [0] => Fontana 1: 2016-12-29 13:22:12 ) [00204AE24ED7] => Array ( [0] => Melnik Hlavni: 2016-12-29 13:20:41 ) ) Array <? $zarizeniseznam = array(); $data = mysql_query("SELECT q.MAC AS MAC ,q.JMENO AS JMENO, q.DATUM AS DATUM, q.CAS AS CAS FROM merenisystem.zarizeni z INNER JOIN merenisystem.quido q ON z.MAC = q.MAC ORDER BY q.ID DESC LIMIT 0,50", $db); while ($zaznam = mysql_fetch_array($data)){ $zarizeniseznam[$zaznam["MAC"]] = [ $zaznam['JMENO'].': '.$zaznam['DATUM'].' '.$zaznam['CAS'] ]; } // kontrolní výpis pole echo '<pre>';print_r($zarizeniseznam);'</pre>'; echo $zarizeniseznam; ?> |
||
Taps Profil |
jtfcobra:
zkus místo polozky NAZEV zadat JMENO ( tak jak jsi to zmínil ve svém prvním příspěvku). Výpis pod sebe je možný, stačí když si pole projedeš pomocí foreach <? foreach($zarizeniseznam as $stanice){ echo $stanice[0].'<br>'; } ?> |
||
Časová prodleva: 8 let
|
0