Jeg har lavet et script der henter genre fra et track på soundcloud og skal finde IDet på de genre i min database.
har lavet det her, og det virker fint.
- require 'simple_html_dom.php';
- $html = file_get_html($url);
- $meta = array();
- foreach($html->find("span.genre") as $genre){ //findes kun 1, så foreach er måske lidt overkill.
- $meta["genre"] = array_filter(array_map("trim", explode(",", $genre->plaintext)));
- }
-
- $genre = $lib->db->query("SELECT id, genre FROM ".dbPrefix."genres WHERE genre IN ('".strtolower(implode("','", $meta["genre"]))."')");
- $prefill = "";
- if(count($genre)>0){
- foreach($genre as $g){
- $prefill .= "{value:".$g['id'].", name:\"".$g['genre']."\"},";
- }
- $prefill = "[". substr($prefill, 0, -1) ."]";
- }else{
- $prefill = "''";
- }
nu fandt jeg så ud af af nogen af deres genre hedder etc "techtrance" hvor min hedder "tech trance", så skal have fundet ud af hvordan jeg kan få den til at ingore mellemrum, kunne selv følgelige tilføje ordet 2gange med og uden mellemrum, men tænke der var en smarter måde at løse det på i SQL.
og da jeg gerne vil lære noget mere end det jeg ved, valgte jeg ikke lave den løsning med at tilføje det 2 gange.
håber det giver mening.
Indlæg senest redigeret d. 02.02.2012 21:32 af Bruger #3427