<?php //... $repeat_num = 0; // Liczba powtarzających się kodów $added_num = 0; // Liczba dodanych kodów for($i = 0; $i < $arrsize; $i++) { //Zmienna $arrsize to ilość elementów w tablicy $isindb = FALSE; //Zmienna informuje o tym, czy dany kod już istnieje w bazie if($code[$i] == $row[0]) { //$code to tablica z kodami utworzona z pliku $isindb = TRUE; //Kod istnieje w bazie $repeat_num++; //Zwiększam ilość powtórzeń break; } } if($isindb === FALSE) { //Jeżeli kodu nie ma w bazie $query = "INSERT INTO codes VALUES('$code[$i]');"; // Zapytanie do bazy danych mysql_query($query) or die("<h1><span style='color: red;'>Blad w zapytaniu</span></h1>"); // Dodaje kod $added_num++; //Zliczamy dodany kod } } //... ?>
Za pierwszym razem dodaje mi wszystkie kody z pliku i jest ok. Gdy próbuję dodać kody drugi raz, też wszystko działa i zlicza powtórzenia.
Problem się pojawia, gdy usunę jakiś kod w bazie i będę chciał dodać kody jeszcze raz. Teoretycznie powinno dodać mi tylko jeden kod.
Wtedy wyglądało by to tak, że dodano jeden kod, a reszta się powtarza. Mi jednak działa to tak, że gdy natrafi na kod, którego nie ma w bazie dodaje go, ale później dodaje już wszystkie kody. Nie mam pojęcia co jest nie tak.
Proszę o pomoc.