script - zapis do suboru

mohol by mi tu niekto napisat script na zapis dat do suboru?
subor - test.txt

aby to nadvazovalo na toto:

<form action="script.php" method="post">
<input type=text name=vtip><br>
<input type=submit value=odoslat><br>
</form>

Potom by som z toho scriptu chcel vybrat nahodny vtip.
lidi notak, vykaslete se na soubory, od toho tu mate databazi! Delat si databazi pomoci souboru je bud a) pomale nebo b) slozite.

a) Musis s vytvorit soubor, do ktereho budes ukladat zaznamy v nejakem formatu, treba oddelene nejakym urcenym znakem. Ale musis mit jistotu, ze ten znak se nebude v zadnem z ukladanych zaznamu vyskytovat. Pokud jde o nahodny vyber, tam je to este tezsi, protoze musis: bud nacist cely soubor a explodovat ho do pole, kde si nejaky nahodny zaznam vyberes, nebo

b) vedle datoveho souboru (nedeleneho jako u bodu a) vytvorit jeste jeden indexovy soubor, kam se budou ukladat informace o zaznamech v datovem souboru, dejme tomu, ze jednotlive indexove zaznamy maji pevnou delku a oznacuji pozice zaznamu v datovem souboru (pokud to ma byt bez klice, staci jen toto).Tam pak neni problem sahnout do indexoveho souboru na libovolne predem spocitane misto a zjistit pocatecni pozici datoveho zaznamu a jeho velikost (podle rozdilu od pozice nasledujiciho indexu) a takto definovana data pak z datoveho souboru primo vybrat a dle libosti je zpracovat.

Opravdu neni vyhodnejsi obsluhovat to same tremi prikazy z databaze?!
ok ok mozem sa vy*toto na subory napis mi script ako nahodne vyberat z DB
1) aktivace databaze

na webzdarma musis mit aktivni databazi. Pokud nemas, udelas to v administraci: http://webzdarma.cz/admin -> nastaveni -> nastaveni MySQL : zaskrtnes "aktivni" a potvrdis, pak si nekam poznamenas "Databaze" a "Pristupove jmeno" a zmenis si heslo.


2) vytvoreni tabulky, do ktere se budou data ukladat - JEN POPRVE

vytvoris soubor (treba) tabulka.php, ve kterem bude (dopln tam vlastni hodnoty u parametru v uvozovkach):

<?php
$jmeno = "tvoje pristupove jmeno - stejne jako databaze";
$heslo = "tvoje heslo do databaze";

mysql_connect("mysql.webzdarma.cz",$jmeno,$heslo) or die("chyba mysql_connect");
mysql_select_db($jmeno) or die("chyba mysql_select_db");
$res = mysql_query("CREATE TABLE vtipy ( id MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT , vtip TEXT NOT NULL , PRIMARY KEY (id) )");
$error = mysql_error();
if ($error!=='') die($error);
echo 'Vse probehlo v poradku.';
?>
--konec.
Tenhle soubor nahrajes na server (je jedno, kam) a jednou ho spustis.Pokud nenahlasi nejakou chybu, vse je v poradku. Kdyz bude chyba, napis ji sem. Pokud bude vse v poradku, muzes soubor zase ze serveru smazat-uz nebude potreba.

3) ten soubor script.php (na kterej odkazuje formular) by mel vypadat nejak takto (zase dopln prihlasovaci udaje k databazi):
<?php
$jmeno = "tvoje pristupove jmeno - stejne jako databaze";
$heslo = "tvoje heslo do databaze";

mysql_connect("mysql.webzdarma.cz",$jmeno,$heslo) or die("chyba mysql_connect");
mysql_select_db($jmeno) or die("chyba mysql_select_db");
$res = mysql_query("INSERT INTO vtipy ('', '$_GET[vtip]')");
$error = mysql_error();
if ($error!=='') die($error);
echo 'Vtip byl ulozen.';
?>
--konec.
Skript na vypis nahodneho zaznamu z databaze (vlozis ho tam, kam chces vypsat ten vtip) by se dal napsat takto (klasicky dopln pripojvaci jmeno a heslo):

<?php
$jmeno = "tvoje pristupove jmeno - stejne jako databaze";
$heslo = "tvoje heslo do databaze";

mysql_connect("mysql.webzdarma.cz",$jmeno,$heslo) or die("chyba mysql_connect");
mysql_select_db($jmeno) or die("chyba mysql_select_db");
$res = mysql_query("SELECT COUNT(id) FROM vtipy");
$pocet = mysql_result($res,0,0);
$vtip = "";
do {
$nahodne = rand(1,$pocet);
$res = mysql_query("SELECT vtip FROM vtipy WHERE id='$nahodne' LIMIT 1");
$vtip = @mysql_result($res,0,0);
} while ($vtip =="");
echo $vtip;
?>
Ty bláho, tady měl někdo spoustu času ! :)
Diik. Urcite si sa nad tym navodom pre noobov natrapil, fakt dik :)
> Ty bláho, tady měl někdo spoustu času ! :)

rofl
lidi notak, vykaslete se na soubory, od toho tu mate databazi! Delat si databazi pomoci souboru je bud a) pomale nebo b) slozite.

neni databaze nahodou nejak velikostne omezena?
just-paja: náhodou je.
http://www.webzdarma.cz/podminky.html
no.. kdyz se mi ucpe databaze.. tak co.. .. musim psat do souboru nebo si platit hosting.. :[
..
mno myslím že běžnými daty hned tak 5 MB v databázi nezaplníš. Když jo, tak můžeš třeba podle povahy dat ty starší odmazávat, nebo zazálohovat a začít znova.. nebo si platit hosting nebo zapisovat do souboru - to snad záleží na tobě, co je tohle za otázku... Jestli se ptáš, jestli lze těch 5 MB navýšit, tak odpovídám, že ne.
ae jo.. dyt tu kecam blbosti..
z nejakyho divnyho duvodu sem misto 102kB vcera videl 10.2MB :D
2just-paja: počítej se mnou. 5MB prostoru na mysql -> to je 5242880 znaků. Normovaná strana A4 má 30 řádků na stránku a 60 znaků na řádek. To je na každou stránku 1800 znaků. Do celé pětimegové databáze by se tedy teoreticky vešlo 2913 stran čistého textu, to už je docela slušná knížka. Víš co, až ti dojde místo v databázi na wz (pokud nebudeš používat BLOB), dej vědět.
:D nojo.. mas docistou pravdu..
..ale ozvu se ;]
To je generace. Zelenaci se hned hrnou do databaze. Na co pomysli, tak to strci do databaze. Neni se potom cemu divit, ze server nestiha.
Ne vsechno je treba strkat do databaze. Jsou jiste situace, kdy zapis do databaze je naprosto zbytecny, nebo dokonce nevyhodny.
Proste jen rikam, abyste vedeli kdy pouzit DB a kdy soubory. Az pochopite smysl programovani, tak pochopite.

V tomto pripade lze pouzit oboji. Hodne zalezi na vyuziti. Jestli jde o obcasne pouziti, tak staci soubor. Pokud se bude vyuzivat hojne a vtipu bude dost, tak zde bych zvolil volbu DB.
Tomík:
Ty ses nejakej znalec. Zamysli se nad tim, k cemu byly a jsou databazove servery vytvareny. Pokud budu jejich funkci suplovat vlastnimi nedokonalymi prostredky, tj. praci s filesystemem, dovolim si tvrdit, ze je to mnohem vetsi zatez pro server, nez pouziti optimalizovane a vymakane databaze. Dalsi vec je, ze zatez databaze, resp. systemu jako takovyho - ze by byla neprimo umerna k mnozstvi ulozenych dat a frekvenci vyuzivani? to se mi nejak nechce verit...
Vim co je a k cemu je databaze. Navic z toho delam bakalarskou praci, takze mam prehled. Vis o tom, ze databaze pracuje se soubory? Kam myslis, ze se ukladaji data? Databazove zdroje maji pouze vylepsene mechanismy jak pracovat s daty. Takze jsou rychlejsi nez nejake vlastni skripty.
Pravda databaze vitezi ve vsech smerech. At uz pracujes s deseti zaznamy nebo s miliony zaznamu. Ale nekdy je dobre se zamyslet, co vlastne vytvaris. Jsou situace, kdy je DB naprosto zbytecna.

Nechci se s tebou hadat. Jen tady reaguji na to, ze jsou nekteri zacatecnici, nebo i polomachri, kteri vsechno davaji do databaze, i kdyz je to uplne zbytecne.

PS: Omlouvam se. Nechal jsem se trochu vytocit. A moje reakce tak nejak neodpovida tomuto threadu. Neprecetl jsem si poradne prispevky :)
to je v pohode. mas pravdu, nektere veci nema cenu resit hned za pomoci mysql. ale myslim, ze zrovna pro tenhle pripad je to nejpraktictejsi reseni...