Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak zapisać tablicę w bazie
Forum PHP.pl > Forum > PHP
moniek.fm
Witam.
Pytanie jak w temacie. A dokładniej, mam tablicę:
[1]link1
[2]link2
[3]link3
[4]link4

W bazie jest tabela "linki" składająca się z id i link. Chce wpisać całą tablicę do tabeli tak, żeby każde id było przypisane do linku:

Id LINK
1 link1
2 link2
3 link3
4 link4

Proszę o pomoc.
pr0kt0r
Jeśli id jest kluczem glownym to tak nie mozesz zrobic bo baza danych bedzie sama nadawac kolejna wartosc polu id. Jeśli nie jest to robisz zwykla iteracje po tablicy i dla kazdego elementu dajesz insert.

Jeśli koniecznie potrzebujesz miec w bazie numer klucza jaki posiadal link to musisz dodac pole do tej tabeli(ALTER TABLE) np. key_num i do niego zapisywac numer klucza. Klucz sprawdzasz funkcją key().
moniek.fm
Id jest kluczem głównym, ale w zasadzie doszedłem do wniosku, że numeracja po kolei tak jak przypisze mi to baza w zupełności mi wystarczy. Bardzo bym prosił o jakiś przykładowy kod.
pr0kt0r
Przykladowy kod jak dodac wiersz do tabeli?

To chyba nie ten dział.
moniek.fm
Nie wiersz do tabeli, tylko tablicę. Nie mogę tego nigdzie znaleźć a mój bardzo podstawowy kurs php i mysql jest tak okrojony, że nie ma w nim nawet pojęcia pętli.

Bardzo proszę o pomoc...
MavisS2
Jak już masz tablice:
  1. $links = array(
  2. 0 => 'link1',
  3. 1 => 'link2',
  4. 2 => 'link3'
  5. );


To najprościej jest wykonać zapytanie SQL dodające kolejny wiersz w bazie w pętli foreach. Czyli:
  1. foreach($links as $value) {
  2. $sql = "INSERT INTO nazwa_tabeli (link) VALUES ('$value');";
  3. }


Oczywiście najpierw połączenie do bazy danych musisz wykonać, ale zakładam, że to wiesz smile.gif
moniek.fm
Dzieki za odpowiedź. Jutro to sprawdze bo na dzisiaj mam juz dość. A Odnosnie połączenia z baza to oczywiście, ze wiem :-) Hehe

Jeszcze raz dzieki. Pozdrawiam


skrypt działa, ale zamiast dodawać całą tablice dodaje tylko jeden rekord. jak to naprawić?
Sephirus
Najprawdopodobniej masz jeden rekord o id równym 0?

Pole klucza głównego (id) musi mieć ustawione AUTOINCREMENT aby ID generowały się same... jeśli nie ma a nie podasz wartości ID przy insercie to będziesz miał(a) zawsze jeden rekord
moniek.fm
ok. To w takim razie jak za pomocą foreach przypisać automatycznie id?
toaspzoo
przed foreach $i = 0;

a na końcu każdego powtórzenia $i++;

A wogóle po co Ci to ?

przecież w bazie danych możesz dać int + auto_increment
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.