Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]dodawanie nieistniejących rekordów do bazy
Forum PHP.pl > Forum > Przedszkole
@rtur
Witam

Mam dane w tablicy $timestamp:
1373540328
1373559600
1373540498
1373540557

W jaki sposób dodać do bazy danych mysql tylko dane których nie ma w bazie?

Wiem jak sprawdzić czy nie ma jednej wartości dodać jedną wartośc jeśli jej nie ma
  1. $pytanie = "select * from tabela where timestamp='$timestamp'";
  2. $odpowiedz = mysql_query($pytanie);
  3. if(mysql_num_rows($odpowiedz) > 0){
  4. echo 'rekord już istnieje w bazie';
  5. }
  6. else{
  7. $dodaj = insert into tabela values ($timestamp);
  8. $rezultat = mysql_query($dodaj);
  9. if($rezultat){
  10. echo 'rekord został dodany';
  11. }
  12. else{
  13. echo 'rekordu nie dodano';
  14. }
  15. }

nie wiem jak sprawdzić i ewentualnie potem dodać wiele rekordów. Chyba że najpierw policzyć ile jest elementów w tablicy $timestamp i całe zapytanie wrzucić w pętle for? A może jest coś lepszego? Skrypt będzie miał za zadanie wykonywać się co 15 minut w cronie, sprawdzać czy dane zawarte w pliku xml się zmieniły i dodać do bazy tylko to co się zmieniło, w pliku xml będzie zawsze określona ilość rekordów - max 20.
nospor
Skoro timestamp jest wartoscia unikalna, to zaloz klucz UNIQUE na to i dodawaj pokolei jak leci. Jak sie cos powtorzy to sie nie doda dzieki kluczowi UNIQUE
@rtur
Dzięki o tym nie pomyślałem smile.gif

a jakiś prostszy sposób na dodanie wielu rekordów istnieje?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.