Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql] tworzenie tabeli w bazie
Forum PHP.pl > Forum > Bazy danych > MySQL
Sampo511
Witam
mam następujący problem
.w poniższym kodzie chcę aby została utworzona tabela $_POST['tyt_ank'] z kolumnami $_POST['opis'][$a] z tym, że kolumn jest za każdym razem inna ilosć i mają one inne nazwy w tym przypadku po przejściu pętli wyrzuca mi ,ze tabela została utworzona i następnie że tabela taka już istnieje, wiem że wynik jest taki jak powinien być odnośnie tego zapytania,

Kod
       for($a=1; $a<=$de; $a++){
           $TA = "CREATE TABLE ".$_POST['tyt_ank']."(".$_POST['opis'][$a]." int(11) NOT NULL UNIQUE)";
      
           $results = mysql_query($TA) or die (mysql_error());
           print "Poprawnie utworzono tabelę";
      }


ja robię to poprzez:
Kod
   for($a=1; $a<=$de; $a++){
           $add="ALTER TABLE ".$_POST['tyt_ank']."
           ADD COLUMN (".$_POST['opis'][$a]." int(11) NOT NULL UNIQUE)";
           $results = mysql_query($add)
           or die (mysql_error());
           print "Poprawnie dodano kolumny z danymi";
           }

i jest OK ale czy można to zrobić w jednym zapytaniu?? i jak można od razu przypisać wstępne wartości w poszczególne kolumny jak robię tak:
Kod
for($a=1; $a<=$de; $a++){
           $TA1 ="INSERT INTO ".$_POST['tyt_ank']." (".$_POST['opis'][$a].")
                                                  VALUES (0)";
      
            $results = mysql_query($TA1)
           or die (mysql_error());
           print "Poprawnie dodano wartości z danymi";


po tym INSER-cie tworzy miwartości dla poszczególnych kolumn ale też wyrzuca mi :

Kod
Poprawnie dodano wartości z danymi
   Duplicate entry '0' for key 1


Prosze o jakieś rady
Pozdrawiam
Sampo511
osiris
W poleceniu CREATE TABLE w nawiasie podaje sie pola z jakich ma sie skladac tabela oddzielone przecinkami. Np.
  1. CREATE TABLE tabela (pole1 parametry, pole2 parametry, pole3 parametry);

wiecej info http://dev.mysql.com/doc/refman/5.0/en/create-table.html
Sampo511
To ja wiem że tak trzeba robić dlatego zrobiłem pętlę bo ja nie mam zdefioniowanych ile pól będzie raz może to być 5 pól a raz 10
nie mam też również nazw tych pól bo te są podawane w trakcie wypełniani formularza.
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.