Do nového roku jako lepší programátoři? Znovu otevíráme večerní školu programování. Nette framework, návrhové vzory, testování nebo vůbec poprvé kurzy ASP.NET dostupné odkudkoli v republice.
Avatar
oggymotslp
Člen
Avatar
oggymotslp:

Zdravím,

jsem tu zas. A s jiným problémem.

Mám databázi plnou otázek a odpovědí. A pak mám vstup od uživatele. Dostanu třeba "Ahoj jak se máš", ale v databázi mám jen "jak se máš". A potřeboval bych, aby to porovnalo všechny otázky v databázi, a u té otázky s největší podobností by to vypsalo odpověď z databázi.

Absolutně nevím jak na to, projíždím vše co se dá, ale nemohu nic nalézt. Předem děkuji za odpovědi.

Odpovědět 5.10.2016 17:14
Proč to dělat jednoduše, když to jde i složitě :D
Avatar
Odpovídá na oggymotslp
Josef Kuchař (Pepa489):

Šel bych na to tak, že bych si načetl do proměnné všechny řádky tabulky, foreachem to projížděl prvek po prvku a pomocí funkce similar_text, si zjistit nejvyšší shodu ;)

Nahoru Odpovědět 5.10.2016 18:26
2x piš, jednou debuguj
Avatar
Odpovídá na oggymotslp
Martin Štěpánek (Enormyk):

Děláš něco na způsob Bota k chatování? :-D

Nahoru Odpovědět 5.10.2016 18:50
Nesnáším, když někdo u if nepoužívá {}, byť se jedná o jeden řádek.
Avatar
oggymotslp
Člen
Avatar
Odpovídá na Martin Štěpánek (Enormyk)
oggymotslp:

Ne, něco na způsob zeptej se a dostaneš odpověď. Bohužel nemohu napsat více podrobností ;-)

Nahoru Odpovědět 5.10.2016 19:06
Proč to dělat jednoduše, když to jde i složitě :D
Avatar
Odpovídá na oggymotslp
Josef Kuchař (Pepa489):

Možná něco takového(netes­továno)

//Fráze kterou hledáš
$stringToFind = "blablabla";
//Pomocné buffery
$maximum = 0;
$maximumString = "";
//Projití všemi záznami
foreach ($lines as $line) {
    //Porovnání, vrácí hodnotu v proměnné $percentage
    similar_text($line, $stringToFind, $percentage);

    //Pokud je % větší než maximum, tak je maximum procento a maximumString je tento řádek
    if($percentage > $maximum)
    {
      $maximum = $percentage;
      $maximumString = $line;
    }
}
// Vypiš nejpodobnější string
echo $maximumString;
Akceptované řešení
+20 Zkušeností
Řešení problému
Nahoru Odpovědět  +3 5.10.2016 21:33
2x piš, jednou debuguj
Avatar
oggymotslp
Člen
Avatar
Nahoru Odpovědět 6.10.2016 12:17
Proč to dělat jednoduše, když to jde i složitě :D
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 6 zpráv z 6.