PHP Scripty

Programovacie jazyky, rady, poradňa...
geoge046
Star
Star
Používateľov profilový obrázok
Príspevky: 608
Registrovaný: 10 aug 2005, 14:15
Bydlisko: Prievidza
Kontaktovať používateľa:

Príspevok od používateľa geoge046 »

a ked sme uz pritom, dalo by sa toto prisposobit tak, ze by sme v tabulke mali aj stlpec "URL" a potom by vysledok zobrazilo s <a href>?
geoge046
Star
Star
Používateľov profilový obrázok
Príspevky: 608
Registrovaný: 10 aug 2005, 14:15
Bydlisko: Prievidza
Kontaktovať používateľa:

Príspevok od používateľa geoge046 »

tak nakoniec som to vyriesil takto :)

1) vo vyhladavanie.php si zmente tento riadok:

Kód: Vybrať všetko

$sql = "SELECT nadpis FROM clanky WHERE $podla LIKE '%".$retazec[0]."%'";
na

Kód: Vybrať všetko

$sql = "SELECT * FROM clanky WHERE $podla LIKE '%".$retazec[0]."%'";
aby sa nam naselectovali setky stlpce z tabulky

2) vo vyhladavanie.php zmente tento text:

Kód: Vybrať všetko

while($zaznam = mysql_fetch_object($vysledok)){
$nadpis = $zaznam->nadpis;
echo "$nadpis<br />n";
}
na

Kód: Vybrať všetko

while($zaznam = mysql_fetch_object($vysledok)){
$nadpis = $zaznam->nadpis;
$url=$zaznam->url;
echo "<a href='$url'>$nadpis</a><br />";

toť vsio :) Good Luck (ako UpLink hovori :P )
Nadeo
Guru wannabe
Guru wannabe
Používateľov profilový obrázok
Príspevky: 2202
Registrovaný: 04 nov 2006, 19:38
Bydlisko: BA/LV
Kontaktovať používateľa:

Príspevok od používateľa Nadeo »

php hra kamen , papier , noznice :D

Spustene : http://nadeo.czweb.org/kpn.php

Kód: Vybrať všetko

<form method="post">
<select name="co">
	<option value="kamen">Kamen  
	<option value="papier">Papier
	<option value="noznice">Noznice
</select>
<input type="submit" name="ok" value="hraj"><br>
<?php
$score = $_COOKIE["score"];
echo "Tvoje skore je <b>$score</b> <br><br>";

function cookplus() {
$scoreplus = $_COOKIE["score"];
setcookie("score", ++$scoreplus, time() + 60*60*24*7*54);
}
function cookminus() {
$scoreminus = $_COOKIE["score"];
setcookie("score", --$scoreminus, time() + 60*60*24*7*54);
}

$prehra = "prehral si , skus znova :D,Cpu dal papier,a ty $co";
$vyhra = "Vyhral si :),Cpu dal noznice,a ty $co";
$remiza = "remiza s cpu :),Cpu dal Kamen,a ty $co";

$nahoda = rand(1,3); 
if ($ok!=""){
  if ($co=="kamen" && $nahoda=="1") { echo $remiza; };
  if ($co=="kamen" && $nahoda=="2") { echo $prehra; cookminus(); };
  if ($co=="kamen" && $nahoda=="3") { echo $vyhra; cookplus(); };
  if ($co=="papier" && $nahoda=="1") { echo $vyhra; cookplus(); };
  if ($co=="papier" && $nahoda=="2") { echo $remiza; };
  if ($co=="papier" && $nahoda=="3") { echo $prehra; cookminus(); };
  if ($co=="noznice" && $nahoda=="1") { echo $prehra; cookminus(); };
  if ($co=="noznice" && $nahoda=="2") { echo $vyhra; cookplus(); };
  if ($co=="noznice" && $nahoda=="3") { echo $remiza; };
}


?>
V php zacinam ,takze ma neubičujte :D

//za tento kod sa uz nepriznavam , to bolo davno a teraz je to uz inak :D
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

celý ten spodok tam máš zbytočne 3x, stačí rozhodnúť na základe náhodného čísla a nemusí ťa zaujímať čo som zvolil (či kamen, papier alebo noznice)
Nadeo
Guru wannabe
Guru wannabe
Používateľov profilový obrázok
Príspevky: 2202
Registrovaný: 04 nov 2006, 19:38
Bydlisko: BA/LV
Kontaktovať používateľa:

Príspevok od používateľa Nadeo »

no to nejako nechapem. ked vygenerujem nahodne cislo , tak mozu byt 3 vysledky. (remiza, vyhra ,prehra). akoze ma nemusi zaujimat co som zvolil? na toto som krátky :)
mastermind
VIP
VIP
Používateľov profilový obrázok
Príspevky: 4810
Registrovaný: 09 feb 2005, 13:17

Príspevok od používateľa mastermind »

Nadeo napísal:php hra kamen , papier , noznice :D
Spustene : http://nadeo.czweb.org/kpn.php
V php zacinam ,takze ma neubičujte :D
1. nefunguje
2. kod je strasny
3. ked sa chces ucit php zober si radsej nejaky online tutorial. tam aspon nezacnes hned zle
Nadeo
Guru wannabe
Guru wannabe
Používateľov profilový obrázok
Príspevky: 2202
Registrovaný: 04 nov 2006, 19:38
Bydlisko: BA/LV
Kontaktovať používateľa:

Príspevok od používateľa Nadeo »

mastermind napísal:1. nefunguje
2. kod je strasny
3. ked sa chces ucit php zober si radsej nejaky online tutorial. tam aspon nezacnes hned zle
ehm, co ti tam nefunguje? s tym kodom suhlasim

//stym zacinanim som trocha klamal :oops:
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

Nadeo napísal:no to nejako nechapem. ked vygenerujem nahodne cislo , tak mozu byt 3 vysledky. (remiza, vyhra ,prehra). akoze ma nemusi zaujimat co som zvolil? na toto som krátky :)
tie tri stavy (vyhra, prehra, remiza) môžu a aj nastanu bez ohladu na to, čo si užívateľ vybral (či kamen, papier alebo noznice). Takže stačí iba zvoliť náhodný výsledok hry a koniec. Teda nemiesto tohto:

Kód: Vybrať všetko

if ($ok!=""){
  if ($co=="kamen" && $nahoda=="1") { echo $remiza; };
  if ($co=="kamen" && $nahoda=="2") { echo $prehra; cookminus(); };
  if ($co=="kamen" && $nahoda=="3") { echo $vyhra; cookplus(); };
  if ($co=="papier" && $nahoda=="1") { echo $vyhra; cookplus(); };
  if ($co=="papier" && $nahoda=="2") { echo $remiza; };
  if ($co=="papier" && $nahoda=="3") { echo $prehra; cookminus(); };
  if ($co=="noznice" && $nahoda=="1") { echo $prehra; cookminus(); };
  if ($co=="noznice" && $nahoda=="2") { echo $vyhra; cookplus(); };
  if ($co=="noznice" && $nahoda=="3") { echo $remiza; };
} 
dáš len toto

Kód: Vybrať všetko

if ($ok!=""){
  if ($nahoda=="1") { echo $remiza; };
  if ($nahoda=="2") { echo $prehra; cookminus(); };
  if ($nahoda=="3") { echo $vyhra; cookplus(); };
  } 
potom si treba aj upraviť tie výpisy
Nadeo
Guru wannabe
Guru wannabe
Používateľov profilový obrázok
Príspevky: 2202
Registrovaný: 04 nov 2006, 19:38
Bydlisko: BA/LV
Kontaktovať používateľa:

Príspevok od používateľa Nadeo »

ktomu co pise audiotrack neviem ani tuknut :( .
ale ako ma niekto upozornil , nefunguje to - co som si vsimol neskor :-D (resp. funguje ale vypisuje zle veci.

vyzera to spatne ale facha ..

Kód: Vybrať všetko

......
if ($ok!=""){
  if ($co=="kamen" && $nahoda=="1") { echo "remiza s cpu :),Cpu dal Kamen,a ty $co"; };
  if ($co=="kamen" && $nahoda=="2") { echo "prehral si , skus znova :D,Cpu dal papier,a ty $co"; cookminus(); };
  if ($co=="kamen" && $nahoda=="3") { echo "Vyhral si :),Cpu dal noznice,a ty $co"; cookplus(); };
  if ($co=="papier" && $nahoda=="1") { echo "Vyhral si :),Cpu dal kamen,a ty $co"; cookplus(); };
  if ($co=="papier" && $nahoda=="2") { echo "remiza s cpu :),Cpu dal papier,a ty $co"; };
  if ($co=="papier" && $nahoda=="3") { echo "prehral si , skus znova :D,Cpu dal noznice,a ty $co"; cookminus(); };
  if ($co=="noznice" && $nahoda=="1") { echo "prehral si , skus znova :D,Cpu dal kamen,a ty $co"; cookminus(); };
  if ($co=="noznice" && $nahoda=="2") { echo "Vyhral si :),Cpu dal noznice,a ty $co"; cookplus(); };
  if ($co=="noznice" && $nahoda=="3") { echo "remiza s cpu :),Cpu dal noznice,a ty $co"; };
}
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

V podstate ti odporučil to, aby si ignoroval hráčovu možnosť a hneď vygeneroval výsledok. A potom môžeš vypísať, čo si musel vybrať počítač, aby to skončilo tým výsledkom.
Shakal
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 206
Registrovaný: 31 jan 2006, 18:54

Príspevok od používateľa Shakal »

To je take oprcavanie uzivatela... .
V skutocnosti sa bude program tvarit akoze s tebou hra - ale figu borovu.
On si len generuje ci vyhras, prehras alebo to bude remiza.
To co vybral hrac - natom v skutocnosti nezalezi. Random generator nahodne vybera ci vyhra, prehra alebo remizuje.

:D

Statisticky vzato je to to iste ako ten tvoj priklad.
Ale mna ako autora toho programu by to potom nebavilo "hrat".
Vacsiu radost by som mal asi naozaj z toho nahodneho vyberania z tych 3 moznosti...

:roll:
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

A aký je v tom rozdiel, keď sa obe veci vyberajú náhodne? Je to úplne to isté, akurát sa z B vypočíta A (a nie ako v tom tvojom prípade, keď sa z A počíta B).
Shakal
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 206
Registrovaný: 31 jan 2006, 18:54

Príspevok od používateľa Shakal »

chrono napísal:A aký je v tom rozdiel, keď sa obe veci vyberajú náhodne? Je to úplne to isté, akurát sa z B vypočíta A (a nie ako v tom tvojom prípade, keď sa z A počíta B).
skor mi ide o ten pocit... ze program si naozaj nieco vybral a s tym na mna vyrukuje (papier, kamen, ...). Nie ze si vybera ci som vyhral abo prehral... .
:)
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

Shakal napísal:skor mi ide o ten pocit... ze program si naozaj nieco vybral a s tym na mna vyrukuje (papier, kamen, ...). Nie ze si vybera ci som vyhral abo prehral... .
:)
z pohladu užívateľa však taký pocit aj budeš mať (kým neuvidíš zdroják). A z pohladu programátora je také riešenie zbytočné naťahovanie kodu
Shakal
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 206
Registrovaný: 31 jan 2006, 18:54

Príspevok od používateľa Shakal »

audiotrack napísal:z pohladu užívateľa však taký pocit aj budeš mať (kým neuvidíš zdroják). A z pohladu programátora je také riešenie zbytočné naťahovanie kodu
Tak to uz potom ale nevolajme Kamen, Papier, Noznice.
Dajme tam len tlacitko na reload stranky a pocitajme kolkokrat nam padla "1"-dnotka.

:)
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Prečo? Je úplne jedno, či vygenerujem čo vybral počítač a vypočítam výsledok, alebo vygenerujem výsledok a vypočítam, čo musel vybrať počítač. Hru to nijako neovplyvní.

PS: A ak to podľa teba nie je jedno, tak napíš, prečo si to myslíš. ;)
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

si smiešny. Veď výsledok hry závisý od jednej náhodnej veličiny (čo si "vybere" počítač) tak teda aj výsledok sám je úplne náhodný. Hru to nijak neovplyvní, a ak si myslíš že program musí pracovať tak ako si to užívateľ predstavuje, tak je to smiešne. Doležité je aby dosahoval očakávané výsledky a nie aby bol sprostý ako človek a nech sa k tým výsledkom dopracúva ťažkopádne v krokoch ktoré netreba.
Shakal
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 206
Registrovaný: 31 jan 2006, 18:54

Príspevok od používateľa Shakal »

chrono napísal:PS: A ak to podľa teba nie je jedno, tak napíš, prečo si to myslíš. ;)
Zachadzame do filozofickych rovin a oddialujeme sa od povodneho topicu.
Ale ked uz robim nejaky program - tak jedine tak aby splnil potrebne minimum a bol pre uzivatela maximalne pouzitelny.

V pripade hry - Kamen, Papier, Noznice - spravim program, ktory bude naozaj rollovat medzi tymto troma vecami, po rolle vypise co si vybral, vypise co som si vybral ja a vypise vysledok.

Programatorova potreba si veci uzasne zjednodusovat tu nema prioritu ak by tym mal utrpet samotny vysledok. A pri tom vasom "checku" by to utrpelo uz minimalne v tom, ze program by nevypisoval na zaklade COHO vlastne vyhral.

Snad chapete co chcem povedat.

Programator robi program pre pouzivatelov. Nie preto aby si dokazal ako v jednom riadku dokaze poriesit neviem ake algoritmy. Mate pravdu v tom, ze medzi povodnym kodom a tym vasim - novym nie je skoro ziaden rozdiel. Ale program prichadza o schopnost vypisat - co si vlastne vybral.

ta nehajme tuto debatu tak a napiste radsej ako by ste program zjednodusili bez toho ze mu useknete z nejakej "funkcionality".
8)
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

Shakal napísal:Zachadzame do filozofickych rovin a oddialujeme sa od povodneho topicu.
Ale ked uz robim nejaky program - tak jedine tak aby splnil potrebne minimum a bol pre uzivatela maximalne pouzitelny.
použitelné to bude, dostaneš oznámené či si vyhral/prehral/remízoval, oznámi ti čo si vybral on, dokonca šance vyrhať/prehrať/remízovať sú rovnaké
Shakal napísal:V pripade hry - Kamen, Papier, Noznice - spravim program, ktory bude naozaj rollovat medzi tymto troma vecami, po rolle vypise co si vybral, vypise co som si vybral ja a vypise vysledok.
to všetko predsa vypisuje aj teraz
Shakal napísal:Programatorova potreba si veci uzasne zjednodusovat tu nema prioritu ak by tym mal utrpet samotny vysledok. A pri tom vasom "checku" by to utrpelo uz minimalne v tom, ze program by nevypisoval na zaklade COHO vlastne vyhral.
to bola ukážka lebo nechápal, bolo jasne napísané že si tam ešte dorobí aby vypísalo ťah na základe toho aký bol výsledok a čo som dal ja
Shakal napísal: Snad chapete co chcem povedat.

Programator robi program pre pouzivatelov. Nie preto aby si dokazal ako v jednom riadku dokaze poriesit neviem ake algoritmy. Mate pravdu v tom, ze medzi povodnym kodom a tym vasim - novym nie je skoro ziaden rozdiel. Ale program prichadza o schopnost vypisat - co si vlastne vybral.

ta nehajme tuto debatu tak a napiste radsej ako by ste program zjednodusili bez toho ze mu useknete z nejakej "funkcionality".
8)
ano, robí ho pre užívatela, ale práve preto že užívatel nevie programovať tak mu do toho nemá čo kecať ako to má byť spravené. Vo výsledku nezbadá žiaden rozdiel
Blackshadow
Light Expert
Light Expert
Príspevky: 56
Registrovaný: 02 okt 2006, 19:05
Bydlisko: Nove Zamky
Kontaktovať používateľa:

Príspevok od používateľa Blackshadow »

zaujimavejsie to bude, ked si zvolite, ze napr, ked date
kamen - mate 60% sancu na vyhru
papier - 30% sancu na vyhru
noznice - 50% sancu na vyhru...

a podla toho generovat vysledok.. ale naco?

Inac, ked sme uz pri tom, rovno dajme:

Kód: Vybrať všetko

$score = 0;
for($i=0;$i<=50;$i++) {
  $a = mt_rand(-1,1);
  $score = $score + $a;
}
echo 'Tvoje score je: '.$score;
Vysledok vlasatne ten isty, akurat netreba klikat na tlacitko :D
Napísať odpoveď