Autor Zpráva
awido
Profil *
Dobrý deň prajem.
Aby som v skratke zhrnul dva problémy s ktorými zvádzam boj už asi dva, tri dni. Píšem internú tabuľku na web, ktorá ma za úlohu vypísať objekty SQL databázy a už by som ju dávno mal, keby sa mi do cesty nepritrafili dve absurdnosti, ktoré ma len zdržiavajú, preto potrebujem od niekoho ochotného radu.

Prvým problémom je chyba pri zobrazení premennej z tabletu sqlu. Aby som to uviedol na pravú mieru, mám script, ktorý funckiou query vyberie z tabletu v sql hodnoty : Meno Priezvisko Cislo Cas a zobrazí ich na stránke. Každý výpis individuálneho užívateľa je zobrazený v samostatnom tablete cez premenné (ako guestbook). Všetky hodnoty, okrem čísla, sú zobrazené klasicky : <table><tr><td></td><td>$name</td><td>$sur_name</td>…. až na hodnotu $number, teda Cislo, ktoré sa "rozbalí"- vyroluje po najetí myšky na ikonku čísla. Všetko sa pekne zobrazuje, každý tablet s užívateľom sa pekne individuálne zobrazí, no problém je pri Cisle. Po najetí myši na ikonku cisla, sa zobrazí tablet s číslom - $number, lenže číslo je u všetkých užívateľoch rovnaké. Zobrazí sa vždy číslo užívateľa, ktorého som do databázy vložíl ako posledného a toto číslo tochto posledného užívateľa sa zobrazuje u všetkých. Neviem prečo sa mi táto premenná nezobrazuje normálne ako ostatné, ale má problém pri zobrazení v sliding menu <ul><li></li></ul>.
Ak vložím premennu Cislo $number inde ako do rolovacieho sliding tabletu, zobrazí sa mi pri každom užívateľovi jeho číslo, presne tak ako má…
Premenné vypisujem takto : <?php echo $premenna; ?> Vypísanie príkazom print takisto nefunguje…skúšal som asi všetko, no problém stále trvá.
Skúšal som zmeniť typ rolovania, teda onmouseover a podobne, no problém trval aj tak, pri iných typov sliding menu.

Aby som to trocha priblizil, vypada to nejako takto:

kod,- nacitanie db

while (list($name $sur_name, $number, $time) = mysql_fetch_row($info)) {
?>

<table>
<tr><td></td>
<td><span class='set'><?php echo $name ?></span></td>
<td class='srnm'><?php echo $sur_name ?></td>
<table><tr><td>
<a onmouseover='xpe("da");xpshow("db",0,this);xpsmover(this);' onmouseout='xpsmout(this);' onmousedown='xpe("dc");'>
<img src='icon.gif' class='icon' name='icn_it' ></a><div><ul id='position' class='position-1'><li><a><?php echo $number ?></a></li></ul></div>
<script type="text/javascript" src="icn_set.js"></script></td></tr></table>
</script></td></tr></table>

</td></tr></table>

<?php  }; ?>


Druhý problém:
Mám súbor database.php, ktorý obsahuje formulár pre upload ešte nejakých info do db sql v ktorom sa nachádza aj hore spomenutý script.
Na localhoste po vytočení samostatných scriptov všetko funguje ako má (až na problém tej premenej), avšak potrebujem obsah tochto súboru database.php zobraziť na stránke redakčného systému joomla.
Klasické IFRAME mi však nefunguje. V hlavičke database.php mám definovaný súbor .js --> <script type='text/javascript' src='validate.js' language='javascript' ></script> <--,
ktorý vykoná overenie údajov, reflesh po odoslaní údajov a podobne. Keď zobrazím obsah .php na stránke cez IFRAME, nenačita sa mi .js, tým sa nič neoverí a ani nerefleshne, údaje sa však odošlú. Zobrazia sa mi až keď natvrdo refleshnem web s F5. Tu som takisto skúšal snáď všetko no nič. Dával som aj volanie .js napevno do hlavičky celej stránky, ale aj tak nepomohli.
Pri použití vytvorenia IFRAME stránky v systéme joomla, je výsledok ten istý.
Pokiaľ vás zaujíma, prečo skrátka neskopčím zdroják rovno na web je to preto, lebo po zadaní index.php sa includuje zabezpečenie a veci v tomto smere a samotný súbor database.php je volaný až ako tretí v poradí. Je nutné, aby to tak bolo.
A ďaľší dôvod je ten, že som nakódoval vzhľady a pozadie, ktoré by sa stratili po vložení na web, nakoľko samotný web má napevno definované pozadia a podobne.
Jediná možnosť zobrazenia je cez IFRAME, lenže ten disabluje java script.

Máte niekto, prosím, nejaké návody, prípadne riešenia?

Moderátor Davex: Vkládej prosím kódy mezi značky [pre] a [/pre] (stačí kliknout na ).
Chamurappi
Profil
Reaguji na awida:
Nikdo ti týden neodpověděl. Proč?
• Ptáš se na dva zcela odlišné problémy najednou.
• Popisy obou problémů jsou zdlouhavé, nepříliš přehledné, a přesto málo popisné, takže i ten, kdo je celé přečte, nemá, od čeho se odrazit.

Přečetl jsem si dvakrát oba dotazy a pořád netuším, o co v nich jde.
awido
Profil *
Zdravím.

Áno, máš pravdu. Ako sa nato dívam, naozaj som to napísal dosť chaoticky. Nevedel som, respektíve nechcel som zakladať viacero témat, aby som tým neporušil náhodou ustanovené pravidlá alebo niečo v tomto smere , a tak som to hodil do jedného.

Druhý problém s IFRAME sa mi podarilo vyriešiť. Zmenil som celú štruktúru java scriptu.

Čo sa týka prvého problému, ten stále trvá. Pokúsim sa ho popísať čo najzrozumiteľnejšie.

V SQL mám databázu v ktorej mám uložených 20 užívateľov. Každý z užívateľov má údaje "Meno, Priezvisko, Číslo, Čas". Funkciou SELECT tieto údaje vyberiem zo SQL, priradím k nim premenné pomocou príkazu:
while (list($name $sur_name, $number, $time) = mysql_fetch_row($info)) {
a teraz pomocou premenných $ ich chcem zobraziť.

Zobrazujem ich takto:
<table>
<tr><td></td>
<td><span class='set'><?php echo $name ?></span></td>
<td class='srnm'><?php echo $sur_name ?></td>
<table><tr><td>
<?php echo $number ?>
</td></tr></table>
</td></tr></table>


Na stránke sa mi pekne zobrazí zoznam s 20 užívateľmi a ich informáciami.

Teraz však potrebujem urobiť jednu vec. Chcem dať vedľa priezviska ikonku, ktorá sa po najetí myši vyroluje smerom nadol a zobrazí sa číslo užívateľa. Presne tak, ako sliding menu. Len neviem ako nato. Skúšal som toho veľa pomocou java scriptov, ale keď som do sliding menu dal zobraziť premennú
echo $number
, tak sa mi po najetí myši na ikonku u všetkých užívateľov zobrazuje rovnaké čislo posledného pridaného užívateľa.
panther
Profil
awido:
jak vypadá ta ikonka a jak to celé má vypadat, když to bude otevřené? Ideálně sem dej obrázek. Možná na to bude stačit obyčejný :hover v CSS, podle situace.
awido
Profil *
Vypada to takto: http://yfrog.com/jb81134849j
panther
Profil
awido:
ten text s pozadím si dej třeba do spanu, který bude skrytý a při hoveru na ikonu se zobrazí. Druhá možnost by byl JS, ale to mi přijde zbytečné v tomhle případě.
awido
Profil *
povodne to mam urobene v js, lenze ked do toho vlozim premenu v php, tak sa mi u vsetkych zobrazi rovnake cislo. A ja za nic na svete neviem prist na to preco. Skusal som asi 4 scripty, dokonca aj tie free co su na google, ale nic sa tym nevyriesilo. Cez ten hover a span to skusit mozem, len sa obavam, ze probem bude trvat.
panther
Profil
awido:
pokud to číslo vypisuješ v cyklu, není důvod, aby se zobrazovalo stejné. Musíš ho tam vypsat a pak s ním za pomoci CSS nebo JS manipulovat. Ale fyzicky musíš ta čísla vypisovat hned v tom cyklu.
awido
Profil *
mohol by si to, prosim ta, podrobnejsie popisat? Nerozumiem.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: