Jquery+php+mysql – JavaScript, AJAX, jQuery – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Jquery+php+mysql – JavaScript, AJAX, jQuery – Fórum – Programujte.comJquery+php+mysql – JavaScript, AJAX, jQuery – Fórum – Programujte.com

 

sagto
~ Anonymní uživatel
7 příspěvků
4. 8. 2015   #1
-
0
-

Zdravím,

potřeboval bych poradit s tahovým duelem. Tak aby se údaje ukládali na mysql a hlavně aby se střídali mezi sebou po 60 sekundách, aby jeden z nich nečekal, kdyby druhý hru zavřel aniž by to vzdal.

Děkuji za odpověď.

Nahlásit jako SPAM
IP: 85.207.110.–
peter
~ Anonymní uživatel
4016 příspěvků
5. 8. 2015   #2
-
0
-

No, to jsi formuloval obecne. Na to se neda reagovat. Vetsinu z toho lze vygooglovat behem par sekund. Jaky mas konkretni problem? Jednoduchy funkcni priklad, ktery ti nejede, jak bys ocekaval? (Pseudopriklady, ktere nelze zkopirovat a spustit u sebe jsou taky obvykle nepouzitelne k hledani problemu)

Nahlásit jako SPAM
IP: 2001:718:2601:1f7:b95a:15...–
peter
~ Anonymní uživatel
4016 příspěvků
5. 8. 2015   #3
-
0
-

Treba, uvedu priklad. Mas ajax. Ten ti neco cte z db.
...  zobraz(req.textResponse);
A ted samozrejme nemame db, takze nevime, co se realne nacte do promenne req.textResponse. Takze netusime, jestli je chyba uz ve vstupnich datech nebo ve funkci zobraz.

Ale, kdyby tam ten clovek soupnul mezi to alert a vypsal ten text...
...  x = req.textResponse;
...  alert(x);
...  x = "a|b|c|d";
...  zobraz(x);
Ted je stale nejasne, co je v x na zacatku. Ale do funkce jde x="a|b|c|d"; a tudiz mam pro funkci data k otestovani, jestli dela to, co ma delat. Jestli je v x pred a po alertu totez, to uz si vyresi tazatel. Pripadne to nastini jako dalsi problem a doda dalsi informace k samotnemu requestu. Jeho proste zajima, aby ta funkce zobraz, kdyz ji posle data v tom tvaru po alertu delala to, co ma.

Nahlásit jako SPAM
IP: 2001:718:2601:1f7:b95a:15...–
sagto
~ Anonymní uživatel
7 příspěvků
5. 8. 2015   #4
-
0
-

No ono jde jen o jednu věc, kterou jsem nenašel. Načíst data a odpočet je daný a jednoduchý. Já bych potřeboval, aby 2 uživatelé mohli spolu hrát na střídačku jako u karetní hry, každý na svém počítači. Hraje jeden a pak druhý a to v reálném čase. Jak udělat to střídání, aby nemohli hrát najednou a přitom, když jeden z nich vypne prohlížeč, aby to ten druhý mohl dohrát. Kdyby byl cron co minutu, tak by to bylo jednodušší, ale bohužel jde nejméně jen 5 minut. A přepínat hráče co 5 minut nemohu. A pokud to zavedu na ajaxu, tak se bojím nesynchronizace scriptu na obou stranách. Což oba scripty hodí změnu a díky tomu bude hrát jenom jeden.

Nahlásit jako SPAM
IP: 85.207.110.–
peter
~ Anonymní uživatel
4016 příspěvků
5. 8. 2015   #5
-
0
-

Aby mohli hrat dva, musi se data zapisovat na server (do souboru, do sql, do sdilene pameti). Do souboru, daji se vygooglovat priklady na guestbook, pocitadlo. Samozrejme, sql je lepsi, lepe se s nim pracuje.
http://peter-mlich.wz.cz/…/ppbook6.php

Podivej, mas stranku z formularem, vyplnis policka, kliknes odeslat a php vyrobi uplne novou stranku a pritom zpracuje odeslane udaje. To je bezny prenos.
Ajax dela totez, ale uklada data do js promenne. Jedna z moznosti je treba pouzit iframe, kteremu nastavis pres css neviditelnost a na onload zavolas nejakou funkci <iframe src="..." onload="">. To uz dneska prohlizece muzou blokovat, i window.top.mojefunkce(this.body.innerHTML);
No, dalsi zadrhel muze byt v tom, jak chapes ajax. Stranka se musi prenest a to nejakou dobu trva. Proto to funguje jako casovac a ne plynuly kod. Mas kod, pak mas treba
... x = nactistranku()
a pokracujes v kodu, tak s X nelze pracovat, protoze stranka se stale prenasi. (teda, pokud nenastavis prenos na typ=synchronni, coz se nedela). Takze se to resi tak, ze funkce pro prenos po skonceni zavola jinou funkci, ktera program dokonci. Principialne nejak takto
... nactistranku('ulozdata');
... function nactistranku(f) {window[f](prenesena_data);} // + jsou tam funkce pro prenos
... function ulozdata(data) {alert(data);} // zobraz prenesena data alertem
Spousta lidi to prave pise takto pod sebe a divi se, ze to nic nezobrazi, kdyz se to jeste nepreneslo:
... x = nactistranku();
... alert(x);
 

Nahlásit jako SPAM
IP: 2001:718:2601:1f7:b95a:15...–
sagto
~ Anonymní uživatel
7 příspěvků
6. 8. 2015   #6
-
0
-

#5 peter
AJAX znam velmi dobře. Jsem programátor. Ale tento typ střídání, aby jeden nemohl nic a druhy mohl a střídali se po 60 sekundách maximálně nebo si to předávali dříve jsem pro browser nedělal a dlouhým přemýšlením jsem přišel na to, že přes jQuery by to mohlo jít, ale nenašel jsem nějaký takový projekt. Což znamená, že pak až to dám do kupy, tak to asi v menší verzi dám na internet :-D. Možná se pak rozšíří možnosti karetních sběratelských her on-line. Jinak díky za vysvětlení. Nic moc mi to nepomohlo, ale našel jsem asi výsledek při čtení. Od pondělka se na to vrhnu a když to půjde, tak dám odkaz na stránky. Určitě budu potřebovat alpha testery, kteří za odměnu dostanou kusy kódu, který mohou použít.

Nahlásit jako SPAM
IP: 85.207.110.–
peter
~ Anonymní uživatel
4016 příspěvků
6. 8. 2015   #7
-
0
-

Tak jinak, naznakove. Vynecham ajax. Piskvorky 3x3

1. herni deska
<a rel="nofollow" href="zmen.php?hra=1&hrac=1&policko=0"><img src=prazdny></a>
<a rel="nofollow" href="zmen.php?hra=1&hrac=1&policko=1"><img src=prazdny></a>
<a rel="nofollow" href="zmen.php?hra=1&hrac=1&policko=2"><img src=prazdny></a>
<a rel="nofollow" href="zmen.php?hra=1&hrac=1&policko=3"><img src=prazdny></a>
<a rel="nofollow" href="zmen.php?hra=1&hrac=1&policko=4"><img src=prazdny></a>
<a rel="nofollow" href="zmen.php?hra=1&hrac=1&policko=5"><img src=prazdny></a>
<a rel="nofollow" href="zmen.php?hra=1&hrac=1&policko=6"><img src=prazdny></a>
<a rel="nofollow" href="zmen.php?hra=1&hrac=1&policko=7"><img src=prazdny></a>
<a rel="nofollow" href="zmen.php?hra=1&hrac=1&policko=8"><img src=prazdny></a>
Pro hrace2 vygenerujes odkazy s hrac=2
<a rel="nofollow" href="zmen.php?hra=1&hrac=2&policko=xyz"><img src=prazdny></a>

Kdyz na jeden kliknes, tak si to ve zmen.php precte a ulozi
$hra = $_GET['hra'];
$hrac = $_GET['hrac'];
$tah = $_GET['policko'];

V db mas hru ulozenou jako
id_hra, id_hrac1, id_hrac2, id_hraje , deska, cas_posl_tah
1, 1, 2, 1, '000000000',"2015-06-17 01:27:20.612" --> SELECT * FROM hry WHERE id_hra=1 --> $row

if ($row['id_hraje']==$hrac && $row['deska'][$tah]==0) {$row['deska'][$tah]=$hrac; UPDATE ... }
else {echo 'nejsi natahu';}

if (NOW()-'datum'>5 min) {echo 'hra skoncila' DELETE ...;}

Jestli to ukladas do db, souboru nebo sdilene pameti je jedno. Jen db se lepe obsluhuje diky prikazum SELECT INSERT UPDATE DELETE. Se souborem si musis napsat ty prikazy jako funkce zvlast.

ten guestbook nebo pocitadlo je vlastne to, co potrebujes. Potrebujes data ulozit a pak nacist druhym uzivatelem. Coz komentare v guestbooku presne delaji. Jen na to nei aplikovany js pro automaticke obnoveni stranky ikdyz nic nedelas. To by pak byl uz chat.

Nahlásit jako SPAM
IP: 2001:718:2601:1f7:90cf:b2...–
sagto
~ Anonymní uživatel
7 příspěvků
6. 8. 2015   #8
-
0
-

#7 peter
Tak ono jde hlavně o to, aby hráči hráli každý na svém počítači a ne na jednom. Jak jsem již psal. V pondělí začnu dělat celý systém postupně. Jde o hodně věcí, které tam musím naprogramovat. A to i editaci karet pro administrátory. Ale máš pravdu. Jde o to, že to bude se chovat jako chat. Ale nebude se obnovovat co 5 sekund ale vždy, když se něco změní. V pozadí bude kontrola změn a podle toho se načte či nenačte webová část stránky. Takže protihráči si uvidí všechny změny najednou. Pokud, ale protihráč nebude hrát déle jak určitá časová hodnota, tak druhý hráč vyhrává automaticky. Tím se obejde problém toho, že místo odchodu ze hry jen vypnou prohlížeč.

Hra bude tvořena na stránkách http://www.maxevel.tv

Nahlásit jako SPAM
IP: 85.207.110.–
peter
~ Anonymní uživatel
4016 příspěvků
6. 8. 2015   #9
-
0
-

Jsem delal kdysi takovy herni system, univerzni. Vubec ti to nezavidim :)
http://peter-mlich.wz.cz/web/mysql/pr/
gc.rar
Jsou tam prave piskvorky, ale slo by na to napojit vic. Je to ale desne amaterke a mozna v novem php uz bude hlasit problemy. Netusim, jestli je tam ted i zobrazeni vsech her, ktere ma hrac prave otevrene. Jakoze jsem treba na byvalem xko.cz hral piskvorky se tremi lidmi naraz. Protoze jim desne trvalo nekdy odehrat.
Jakoze, kdyz zavres prohlizec, tak se muzes po prihlaseni znovu pripojit ke hre.
Proste je tam fura veci, ktere treba promyslet.
 

Nahlásit jako SPAM
IP: 2001:718:2601:1f7:90cf:b2...–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 13 hostů

Podobná vlákna

PHP/AJAX/jQuery — založil Matthew

JQuery ajax + php — založil Marek

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý