• Psst! Ano, Ty! Ještě nejsi zaregistrovaný na našem herním fóru? Přicházíš tak o možnost zapojit se do diskuzí a navíc si tu můžeš zkrátit čekání například při výstavbě nové budovy či jednotek. Zaregistruj se ještě dnes pomocí následujícího odkazu:

    » Vytvořit účet na fóru

barbarske vesnice v externich datech

DeletedUser

Guest
tak jsme opet o kus dal.
problem je s nazvem vesnice.
pokud nastavuju $player na $points, tak to pak nenaslo zadnou vesnici
ale pokud menim pouze nazev $name='pes', tak to pak takovych vesnic najde hodne
 

DeletedUser2029

Guest
Takže paráda.

Tak teď zkontrolovat (nevím jak se zachová, zda zahodí či nakopírují jen část) jestli máš v tabulce definováno dost místa pro sloupec "name" - začni s místem 255. A zda DB zvládá unicode (utf-8). To kdyby to zlobilo při importu jména s divnými znaky (ve chvíli ukládání).

A pak si pohrát s různými decode/encode - jestli to nedělá problém při výpisu PHP stringu. Že už ten text co se posílá při querry "insert into ..." je pomrvený.

------

Jinak, já to nesypu jeden řádek za druhým, ale hromadně.

Nějak takto (pozor, jen ukázka, odmazávám tam další výpočty, neručím že je bez chyb:

PHP:
 if( file_exists("c:/DK/village.txt.gz") ){
  mysql_query("DELETE FROM dk_village");
  $lines = gzfile('c:/DK/village.txt.gz');

  if(!is_array($lines)){ echo "village.txt.gz nelze otevřít\n"; }
  else{
   $max=count($lines);
   for($i=0;$i<$max;$i++){ $aa=explode(',',$lines[$i]); $aa[1] = html_entity_decode(urldecode($aa[1])); $lines[$i]=implode("\t",$aa); }
  }
  file_put_contents("c:/DK/village.tab.txt",$lines); $lines=0;

  $result=mysql_query("LOAD DATA INFILE 'c:/DK/village.tab.txt' INTO TABLE dk_village FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n' (id,jmeno,x,y,hrac,points,bonus)",$link);
  if(!$result){ echo "load tab village error:" . mysql_error() . "\n"; }

  unlink("c:/DK/village.tab.txt");
 }else echo "no village file\n";

Plus, jak říkám, odmazal jsem výpočty pro další sloupce, neručím za správnost.
 

DeletedUser

Guest
jop, to vypada lip, mysql by s tim nemusel mit takovy problemy, zase na druhou stranu ten zapis do toho docasnyho souboru, jedu to na localhostu (pomalej), takze to vyzkousim co bude rychlejsi. jinak doporucuji pouzivat truncate table misto delete from, melo by to byt rychlejsi. s tim nazvem si ted uz pohraju. dekuji za trpelivost a pomoc.
 
Naposledy upraveno moderátorem:

DeletedUser2029

Guest
Jen bacha. Pokud není ten EDIT: .tab.txt soubor a MYSQL na jednom stroji, nelze to tak jednoduše použít.

A navíc, musíš mít na disku /hostingu, .../ místo pro uložení onoho .tab souboru - který může mít i 12-15MB ...

A některé hostingy "load data" vůbec nepovolují
 
Naposledy upraveno moderátorem:

DeletedUser

Guest
Jen bacha. Pokud není ten EDIT: .tab.txt soubor a MYSQL na jednom stroji, nelze to tak jednoduše použít.

A navíc, musíš mít na disku /hostingu, .../ místo pro uložení onoho .tab souboru - který může mít i 12-15MB ...

A některé hostingy "load data" vůbec nepovolují

ja to mam na lokalnim. jelikoz mam pomaly internet, je pro me jednoduzsi jednou stahnout 5 MB (vesnice a hrace, kmeny obcas), nez opakovane stahiovat vsechny ty drobny utrzky informaci na mape. jinak dik za informace.
 

DeletedUser

Guest
tak jen pro uplnost, skusil jsem to pres ten load data infile. a opravdu je to mnohem rychlejsi. jen se mi tu obevilo par problemu s nekteryma ceskyma znakama, ktery jsem uz mel predtim vyreseny. ale to uz nejak spravim.
 

DeletedUser2029

Guest
... jen se mi tu obevilo par problemu s nekteryma ceskyma znakama ...
Tusim, ze mi to tam take delalo problemy. Nakonec musela byt striktne i MySQL i PHP novejsich verzi a vsude kde to slo nacpane UTF-8. A tusim jesem to tam musel cpat neescapovane, ci uz nevim.

Ale nakonec se to povedlo.
 

DeletedUser7531

Guest
Turgone jsi tu? Mam prosim te takovy mensi problem. Udelal jsem do skoly aplikaci v MySQL 4.x, ale jsem nucen ji prepsat do MySQL 5.x . Povedlo se mi to az na jednu vec. Aplikace mi neprovadi prikazy INSERT. Zadnou chybu nenahlasi. nic. Ani kdyz zkopiruju prikaz vygenerovany v phpmyadmin (ktery funguje), tak mi tento prikaz z me aplikace nejde. Nemuzu nic vkladat. Prava jako uzivatel na to mam .... uz se s tim tady delam a nevim furt co s tim ..

// uz nic ...
 
Naposledy upraveno moderátorem:

DeletedUser2029

Guest
Už jsem. Ale stejně bych býval neporadil MySQL není můj šálek kávy. Jasně, znám ji, používám, jak na domácím tak na webovém serveru, ale necítím se být odborníkem v této oblasti (není tolik zkušeností, abych znal/vysypal odpověď na počkání - musím to vždy testovat zkoumat, každý konkrétní případ).
 

DeletedUser7531

Guest
Sakra to byly zase podvody. Ja tomu pry udajne rozumim asi nejvic, co se toho co proberem ve skole tyce, ale stejne jsem dnes musel odevzdat aplikaci, ktera mi proste nefungovala na 100% :( No co, aspon znamku potrebuju ....

Ja doma mam MySQL 4.x v kterem jsem to udelal puvodne, pak jsem zjistil ze na skolnim serveru uz je 5.x, tak jsem si stahl MySQL server 5.x, ale to byl zase jinej nez ten co je ve skole, takze to zas nefungovalo. No ja se z toho prastim, kdyz se to ucim vyhradne z netu a tem je skoro vsude MySQL 4 ... moje blbost, snazil jsem se to delat sloziteji nez se to mohlo udelat... hh sorry za OT, ale uz to mam asi v povaze, ze si nekde musim postezovat :-D Ztochu z tohho blbu, sedel jsem nad tim cele odpoledne ...
 
Nahoru