Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL][SQL]Tagowanie newsa
viamarimar
post
Post #1





Grupa: Zarejestrowani
Postów: 303
Pomógł: 1
Dołączył: 24.09.2011

Ostrzeżenie: (10%)
X----


Problem jest nastepujacego typu:
funkcja o nazwie mysql_insert_id(); ktora powinna zwracac id poprzednie inserta zweraca zero i pytanie do was dlaczego tak jest?

  1. $zapytanie=mysql_query("INSERT INTO ".$prefix."news (`news_id`, `news_users_id`, `news_tytul`, `news_tresc`, `news_kategorie_id`, `news_aktywny`, `news_dataDodania`, `news_dataWygasniecia`)
  2. VALUES('','".$user."','".$tytul."','".$tresc."', '".$kategoria."','".$aktywny."',NOW(), '".$datawygasniecia."')") or die(mysql_error());
  3. $result=mysql_query($zapytanie);
  4.  
  5. printf("Last inserted record has id %d\n", mysql_insert_id());
  6. $news = mysql_insert_id();
  7.  
  8.  
  9. $ile_wykonac = 0;
  10. $tag=explode(',', $tag);
  11. $tag=array_map('trim', $tag);
  12. $tag=array_unique($tag);
  13. foreach($tag as $i => $k){
  14. print($k.', ');
  15. $tag[] .=$k;
  16. $ile_wykonac=$ile_wykonac+1;
  17. }
  18.  
  19. for($i=0;$i<=$ile_wykonac;$i++){
  20. $zapytanie=mysql_query("INSERT INTO ".$prefix."tag (`tag_id`, `tag_news_id`, `tag_nazwa`)
  21. VALUES('','".$news."','".$tag[$i]."')") or die(mysql_error());
  22. $result=mysql_query($zapytanie);
  23. }
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
viamarimar
post
Post #2





Grupa: Zarejestrowani
Postów: 303
Pomógł: 1
Dołączył: 24.09.2011

Ostrzeżenie: (10%)
X----


Rozumiem z ta tablica. Jestem bardzo wdzeczny (jendemu i drugiemu)
Tylko jak teraz sklicic zapytanie na podstawie tego, bo nazwe juz mam, ale jak wykonac UPDATE

wytworzona w ten sposob tablica tag jest zarowno tablica starych jak i nowych tagow , trzeba by bylo miec tablice na stare i tablice na nowe tagi?

tylko jesli..
  1. Tagi: <textarea class="text" name="tag" >';

to dotyczy nowego tagu, i utowrzone dane na podstawie tego beda dotyczyc tez zmian, a skad informacje o tym co bylo/jest aktualnie?

i czy zapytanie musi byc w pentli? wydaje mi sie ze tak bo musimy w koncu skakac po tablicy?

  1. $ile_wykonac = 0;
  2. #print($_POST['tag']);
  3. $tag = $_POST['tag'];
  4. $tag=explode(',', $tag);
  5. $tag=array_map('trim', $tag);
  6. $tag=array_unique($tag);
  7. foreach($tag as $i => $k){
  8. echo $k."<br>";
  9. $ile_wykonac=$ile_wykonac+1;
  10. }
  11. echo "<p>".$tag[2]; #przechowuje nazwe taga o 2 pozycji
  12.  
  13. for($i=0;$i<=$ile_wykonac;$i++){
  14. $zap4 = "UPDATE ".$prefix."tag
  15. JOIN ".$prefix."news
  16. ON ".$prefix."news.news_id = ".$prefix."tag.tag_news_id
  17. SET tag_nazwa='".$tag[$i]."'
  18. WHERE ".$prefix."news.news_id='".$id."' AND tag_news_id ='".$id."' AND tag_nazwa ='".$tag[$i]."' ";
  19. $result=mysql_query($zap4) or die(mysql_error());
  20. }



  1. string 'UPDATE wpl_tag
  2.  
  3. JOIN wpl_news
  4.  
  5. ON wpl_news.news_id = wpl_tag.tag_news_id
  6.  
  7. SET tag_nazwa='as3333d'
  8.  
  9. WHERE wpl_news.news_id='62' AND tag_news_id ='62' AND tag_nazwa ='as3333d'


Ten post edytował viamarimar 17.03.2015, 16:41:26
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 30.12.2025 - 23:00