Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] tablice - insert do bazy mysql w pętli - bez duplikatów
Forum PHP.pl > Forum > Przedszkole
cytrysek
Mam tablice:

Array ( [0] => Array ( [0] => /link.php?id=13) [1] => /link.php?id=14) [2] => /link.php?id=11) ) [1] => Array ( [0] => 13 [1] => 14 [2] => 11 ) )


tak odczytuje same cyferki:
  1. <?php
  2. for($i=0;$i<$ile;$i++) {
  3.  print $id_propozycji[1][$i];
  4.  echo &#092;"
  5. &#092;";
  6.  }
  7. ?>


gdzie :
$ile : ilość elementów tablicy (w tym wypadku 3)

i jest ok,
natomiast kiedy chce zrobic INSERT do bazy:

  1. <?php
  2. for($i=0;$i<$ile;$i++) {
  3. $sql =&#092;"INSERT INTO tabela SET id = 423, tab=\".$id_propozycji[1][$i];
  4. }
  5. ?>


to robi tylko 1 INSERT dla wartości (w tym wypadku) $id_propozycji[1][2] czyli $ile-1

gdzie leży błąd, jak poprawnie zrobić INSERT dla wszystkich wartości tablicy ?

Dzięki.
PW
cornholio666
a gdzie masz mysql_query" title="Zobacz w manualu PHP" target="_manual ?
cytrysek
.. ano miałem dalej:

  1. <?php
  2. $sql_resultupd = q ($sql);
  3. ?>


ale nie zadziałało bo pewnie wbyło poza pętla.
Zmieniłem zapytanie na

  1. <?php
  2. for($i=0;$i<$ile;$i++) {
  3. $sql =q("INSERT INTO tabela SET id = 423, tab=".$id_propozycji[1][$i]);
  4. }
  5. ?>


i działa ! guitar.gif

OK, a teraz jak ograniczyć INSERT, tak zeby nie powielać wpisów, tzn jesli warunek np:
  1. (id = 423 AND tab=".$id_propozycji[1][$i])

istnieje, to nie dopisuje duplikatu do bazy ?

DZieki.
PW

----------------

ok, poradziłem sobie na szybko tak:

jakis SELECT, który sprawdza mi warunki, potem
  1. <?php
  2. if (mysql_num_rows($result_czyistnieje) == 0){
  3.  
  4. ... insert do bazy
  5. }
  6.  
  7. else {
  8.  
  9. echo "komunikat bledu za juz taki rekord jest";
  10. }
  11. ?>


czy znacie jeszcze jakies rozwiazanie?
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.