no to nieźle kombinowania będzie.
1. - mam powtórzyć zapytanie dla każdego z tagów
1.a - pierw sprawdzam czy istnieje, jeśli tak to wyciągam id,
1.b - jeśli nie to dodaje i wyciągam id
2. - po zakończeniu wszystkich zapytań, mam spis id tagów i id artykułu
3. - dodaje id_tag & id_art tyle razy ile miałem tagów do tabeli arts_tags
A jak mam wykonać punkt 1.b? Tj. jak od razu dostać ID właśnie dodanego rekordu?
takie coś naskrobałem sobie:
<?php
$tags = "blog ciekawostki design film fotografia google gra grafika gry humor";
$while = count($one_tag); $i = 0;
while($i < $while) {
echo $one_tag[$i]; //tu zapytania, nie mam czasu teraz pisać ;) $i++;
}
?>
w dobrym kierunku idę?
-------------
EDIT:
Na dziś:
<?php
$tags = "blog fajne ciekawostki design film fotografia google gra xxx grafika gry hu
mor";
$while = count($one_tag);
$i = 0;
while($i < $while) {
$sql = "SELECT * FROM tpl_tags WHERE tag_name = '$one_tag[$i]'"; //pytamy o konkretny tag
$result = $db->set_query($sql);
if ($result == 0) { // tagu nie ma w bazie
echo $one_tag[$i].' - brak takiego tagu!<br />'; //więc dodajemy } else { // tag już jest w bazie
echo '<b>'.$one_tag[$i].' - tag znajduje się w bazie! Posiada ID '.$result[0]['tag_id'].'</b><br />'; //więc pobieramy jego ID }
$i++;
}
?>
Na razie tylko mi wypluwa. Może jutro dokończę.
-----------------------------------
EDIT:
No więc wersja finalna.
<?php
$tags = "blog fajne ciekawostki design film fotografia google gra xxx grafika gry hu
mor"; //spis tagów
$one_tag = explode(" ", $tags); //rozbijamy na pojedyńcze $while = count($one_tag); //liczymy ilość tagów, potrzebne będzie do wykonania pętli
$i = 0;
while($i < $while) {
$result = $db->set_query("SELECT * FROM tpl_tags WHERE tag_name = '$one_tag[$i]'"); //pytamy o konkretny tag
if ($result == 0) { // tagu nie ma w bazie
$db->save_query("INSERT INTO tpl_tags (tag_id,tag_name) VALUES('','$one_tag[$i]')"); //dodajemy tag którego nie ma
$show_tag_id = $db->set_query("SELECT * FROM tpl_tags WHERE tag_name = '$one_tag[$i]'"); //wyciągamy ID tagu, który właśnie dodaliśmy
$tag_id = $show_tag_id[0]['tag_id']; //zapisujemy ID do zmiennej
$db->save_query("INSERT INTO tpl_news_tags (tag_tag_id,tag_news_id) VALUES('$tag_id','1')"); //dodajemy ID tagu oraz ID newsu do łączącej je tabeli news_tags
} else { // tag już jest w bazie
$show_tag_id = $db->set_query("SELECT * FROM tpl_tags WHERE tag_name = '$one_tag[$i]'"); //wyciągamy ID tagu, który znajduje się już w bazie
$tag_id = $show_tag_id[0]['tag_id']; //zapisujemy ID do zmiennej
$db->save_query("INSERT INTO tpl_news_tags (tag_tag_id,tag_news_id) VALUES('$tag_id','1')"); //dodajemy ID tagu oraz ID newsu do łączącej je tabeli news_tags
}
$i++;
}
?>
Jeżeli są jakieś błędy i coś można by wykonać inaczej/szybciej to czekam na wasze sugestie.
Pozdrawiam