Met de volgende code probleem ik meerer HTML files te indexeren naar de volgende db layout
tbl_files
file_id
file_path
file_kenmerk
tbl_keywords
keyword_id
keyword
tbl_files_keywords
file_id
keyword_id
match_count
In losse woorden heb ik een array met losse woorden die uit de text worden gesplitst met een spatie.
Tot dusver gaat alles ok
Nu loop ik met een foreach alle woorden langs en kijk of ze in de db staan etc etc.
Als ik de matches wil gaan uitvoeren lijkt er niets aan de hand te zijn maar ik krijg onwerkelijk hoge match_counts 381 bijv en dat constant naar mate we verder in de Files komen dese te lager de match count
Ik snap niet waardoor dat komt , iemand
* BierPul verontschuldigd zich voor zijn tabelverneukend gedrag
tbl_files
file_id
file_path
file_kenmerk
tbl_keywords
keyword_id
keyword
tbl_files_keywords
file_id
keyword_id
match_count
In losse woorden heb ik een array met losse woorden die uit de text worden gesplitst met een spatie.
Tot dusver gaat alles ok
Nu loop ik met een foreach alle woorden langs en kijk of ze in de db staan etc etc.
Als ik de matches wil gaan uitvoeren lijkt er niets aan de hand te zijn maar ik krijg onwerkelijk hoge match_counts 381 bijv en dat constant naar mate we verder in de Files komen dese te lager de match count
Ik snap niet waardoor dat komt , iemand
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
| $losse_woorden = explode(" ",$inhoud); foreach($losse_woorden as $woord) { if(strlen($woord) >= 4) { $woord = chop(addslashes($woord)); #checken of het woord al in de db voorkomt $check_keyword = mysql_query("SELECT keyword_id FROM tbl_keywords WHERE keyword = '$woord'") or die (mysql_error()); $count_keyword = mysql_num_rows($check_keyword); if($count_keyword < 1) { /*Het woord staat er nog niet niet in dus posten*/ mysql_query("INSERT into tbl_keywords (keyword) values ('$woord')") or die (mysql_error()); $keyword_id = mysql_insert_id(); } else { $array_keyword = mysql_fetch_row($check_keyword); $keyword_id = $array_keyword[0]; } #keyword_id is gezet nu kijken of deze al vaker voorkomt $file_keyword_match_qry = mysql_query("SELECT file_id FROM tbl_files_keywords WHERE keyword_id = '$keyword_id'") or die (mysql_error()); $count_file_keyw = mysql_num_rows($file_keyword_match_qry); if($count_file_keyw > 0) { $update_me = mysql_fetch_row($file_keyword_match_qry); mysql_query("UPDATE tbl_files_keywords SET match_count = match_count+1 WHERE file_id = '{$update_me[0]}'"); } else { mysql_query("INSERT into tbl_files_keywords (file_id, keyword_id, match_count) values ('$file_id', '$keyword_id',1)"); } } } |
* BierPul verontschuldigd zich voor zijn tabelverneukend gedrag
Ja man