Autor Zpráva
Milan_456
Profil *
Dobrý den,

rád bych se zeptal jakým způsobem lze porovnat část údaje uloženého v databázi s údajem vyplněným ve formuláři. Tzn. V databázi mám uloženou tabulku produkty a v ní řádek název - např. Růžové mýdlo, žluté mýdlo.
Uživatel ve formuláři vyplní Růžové mýdlo a já bych chtěl, abych mu mohl nabídnout další např. žluté mýdlo.

Čili jak porovnat část údaje "mýdlo" a vypsat poté i další údaje které obsahují hledaný výraz mýdlo.
S výpisy si poradím ale to porovnávání mi dělá problém.

Předem děkuji. Milan
Joker
Profil
Milan_456:
jakým způsobem lze porovnat část údaje uloženého v databázi s údajem vyplněným ve formuláři
Tahle otázka v první řadě vypadá na špatný návrh databáze, konkrétně více hodnot ve sloupci.

Pokud to tak není a jde čistě o vyhledání řetězce v textu, dá se použít sloupec LIKE '%text%'
Monkeys
Profil *
Milan_456:
Prave dnes om nieco podobne riesil takze sa podelim:

dotaz do databazi:
public function overSuciastku($suciastka){
$res = $this->database->MyQuery("SELECT nazov FROM suciastky WHERE nazov='".$this->database->EscapeString($suciastka)."'");
return $this->database->AffectedRows();
}

a niekde v php to testuj
if($this->suciastka == 0){
//zapis do db
}else{
//error
}

M.
Joker
Profil
Monkeys:
Tohle nebude fungovat a neřeší to problém, na který se ptá Milan_456.
Monkeys
Profil *
Joker:
No myslel som to tak ze chce hladat duplicity.

tak potom takto neako:

public function overProdukt($mydlo){
$res = $this->database->MyQuery("SELECT nazov FROM mydla WHERE nazov LIKE '%".$this->database->EscapeString($mydlo)."%'");
return $res->fetch_assoc();
}

M.


samozrejme by sa to malo volat z neakoeho cyklu

M.
Milan_456
Profil *
[#2] Joker
no mám prakticky tabulku "mydla" v nem sloupce id,produkt,popis atd." A vněm vlastně v řádcích jednotivé údaje
1 / růžové mýdlo s bylinkou / popis
2 / růžou mýdlo s kořením / popis mýdla

A tedy pokud bych chtěl vyhledávat "růžové mýdlo" tak v selektování bude tedy $sql= SELECT * FROM mydla LIKE '%růžové mýdlo%'; ?
Tori
Profil
Dalo by se to vyřešit i tím, že si produkty roztřídíte do skupin a pak budete jen nabízet (náhodné) další produkty ze stejné skupiny. (= další sloupeček do tabulky produktů s ID skupiny)
Milan_456
Profil *
[#7] Tori
nad tím jsem taky přemýšlel ale dospěl jsem k záběru že to tak dělat nechci...
Joker
Profil
Tori:
Druhá možnost je mít štítky. Co je lepší či horší závisí na situaci.

Milan_456:
dospěl jsem k záběru že to tak dělat nechci
K tomu jedna otázka:
mám prakticky tabulku "mydla"
A jsou tam analogicky i další takové tabulky?
Není to náhodou tak, že existují produkty rozdělené do tabulek podle jakýchsi „skupin“?
Milan_456
Profil *
[#9] Joker
V databázi mám další tabulky ale chci vyhledavat pouze v tabulce mydla... zkoušel jsem řešení
$sql= SELECT * FROM mydla WHERE ( 'produk' LIKE '%".$hledano."$')";
kde $hledano je ošetřený vstup z vyhledávacího pole a produkt sloupec v databázi....Bohužel bez výsledku...

Vaše odpověď

Mohlo by se hodit

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: