Skocz do zawartości

Problem z dodawaniem do bazy


Buncol

Rekomendowane odpowiedzi

Buncol - troche mało napisales o swojej aplikacji widać że przydał by sie model danych czy też jakis SQL którym zakladales tabele.

W bazach danych można zakładać indeksy unikalne które sprawdzają czy dane wpisywane do tabel już tam istnieją czy nie.

Wtedy na danym polu alebo na kilku polach sprawdzana jest unikalnośc wpisów , i nie da sie wprowadzić dwoch wierszy z takimi samymi wartościami.

Aha ! W moim pierwszym poście chodziło mi o to aby w kodzie stosować funkcje , zeby zamykac bloki kodu w funkcjonalne całości bo wtedy łatwiej nad tym zapanować

Odnośnik do komentarza
Udostępnij na innych stronach

Maximus Marius baza ma taką postać:

--strona

-adesid

-adres

--fraza

-frazaid

-adresid

-fraza

--pozycja

-adresid (klucz unikalny)

-frazaid (klucz unikalny)

-miejsce

-data (klucz unikalny)

Dałem te unikalne, żeby nie wpisywało mi dwa razy tego samego. Ale problem się pojawia bo podczas sprawdzania nie przechodzi dalej tylko wywala błąd.

Fotografia ślubna: www.marcindrechna.com

Odnośnik do komentarza
Udostępnij na innych stronach

Patrzyłem na ten kod i mam pytanie:

Co w przypadku gdy ponownie sprawdzana bedzie ta sama fraza dla tej samej domeny a pozycja w wyszukiwarce się zmieni?

Wtedy chyba nie można zastosować INSERT tylko REPLACE

Albo wcześniej trzeba bedzie usunąć taki rekord i wprowadzić nowy.

.

Odnośnik do komentarza
Udostępnij na innych stronach

Co w przypadku gdy ponownie sprawdzana bedzie ta sama fraza dla tej samej domeny a pozycja w wyszukiwarce się zmieni?

Jeśli będzie inna data to ją doda, jeśli ta sama to nie. Problem jest to gdy sprawdzimy pozycję tego samego dnia, nie dopisuje ich. Byłoby to dobre gdybyśmy raz dziennie wywoływali ten skrypt, ale w przypadku dużej ilości fraz trzeba będzie wykonać go kilka razy dziennie (żeby sprawdzić wszystkie). Nie wiem jak napisać taki warunek, że jeśli jest już dodane to nie pokazujesz błędu tylko przechodzisz dalej.

Fotografia ślubna: www.marcindrechna.com

Odnośnik do komentarza
Udostępnij na innych stronach

Nie wiem jak napisać taki warunek, że jeśli jest już dodane to nie pokazujesz błędu tylko przechodzisz dalej.

ja to robię tak: sql() to funkcja obsługująca zapytania do bazy

$sprawdz = sql(" select from nazwa tabeli where jakis warunek ");
if(mysql_num_rows($sprawdz) != 0  ){
 tutaj wpiszesz dodawanie
}else{
echo "Juz jest taki rekord";
}

Odnośnik do komentarza
Udostępnij na innych stronach

lords, ale gdzie coś takiego dodać zaraz na początku ? Czy to będzie dobre do PDO, bo tego używam do łączenia z bazą.

edit:

Rozwiązałem to w inny sposób, ale jeszcze muszę dopisać coś takiego, tylko za bardzo nie wiem jak

1. wez dane

2. sprawdzenie: koniec danych? tak - krok 6

3. sprawdzenie: istnieja dane w bazie? tak - krok 5

4. dodaj dane do bazy

5. idz do 1

6. koniec

Bo przy większej liczbie rekordów skrypt się zawiesza, a po ponownym otworzeniu bierze sprawdza od początku :/ więc to co dalej nie będzie sprawdzone.

Fotografia ślubna: www.marcindrechna.com

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności