Wątek przeniesiony 2014-12-29 12:46 z przez dzek69. Powód: Wątek dotyczący podstaw

Nie wiem jak dodać nowe rekordy do bazy mysql przy tym kodzie.

Odpowiedz Nowy wątek
2014-12-28 19:43
0

Witam. Mam taki problem. Otóż, napisałem skrypt który pobiera z bazy danych nazwy utworzonych kolumn. Skrypt jest napisany tak aby można było do każdej z wyświetlonych kolumn wprowadzić jakieś dane. Nie wiem jak zrobić aby wysłać te dane do bazy danych. Oto kod:

<?php
   echo '<form action="" method="post"> ';
   echo 'Formularz dodawania przepisów<br><br>';
   echo 'Nazwa przepisu:<br>';
   echo '<input type="text" name="nazwa_przepisu" /><br><br>';
   $nazwa_przepisu = $POST['nazwa_przepisu'];
   echo 'Wpisz dane w potrzebne pola:<br>';
                                               //Wyświetlanie już dodanych produktów z możliwością wprowadzenia danych
               FUNCTION wyswietlanie_nazw_kolumn() {
                $sql = mysql_query("SHOW FIELDS FROM produkty") or die("Blad sql".mysql_errno());  
               while($item = mysql_fetch_array($sql))
                   { 
               $produkt = $item['Field'];
                echo $produkt.' <input type="text" name="'.$produkt.'" />&nbsp;&nbsp;&nbsp; ||&nbsp;&nbsp;&nbsp; ';
 
                   }
 
                }
        $wyswietlanie_nazw_kolumn = wyswietlanie_nazw_kolumn();
        echo $wyswietlanie_nazw_kolumn;
   echo '<br><br><input type="submit" name="wyslij_przepis" value="Wyślij" />';
   echo '</form>';
 
   if (isset($_POST['zatwierdz']))
   {  
 
      $sql = mysql_query("Tutaj nie wiem co ma być");
   }
   else
   {
 
   }
?>

Proszę o wyrozumiałość jestem początkującym programistą. Jeżeli popełniam jakieś błędy to proszę mnie poprawić. Może ktoś zna jakiś inny sposób, łatwiejszy na napisanie tego to byłbym wdzięczny za jego przedstawienie.

edytowany 3x, ostatnio: dzek69, 2014-12-29 12:45
używaj tagów kolorujących składnię - dzek69 2014-12-29 12:46

Pozostało 580 znaków

2014-12-28 21:17
0

Pierwsze co powinieneś zrobić to porzucić mysql na rzecz mysqli (nie wspominam tu o jakże przydatnym PDO, bo pewnie OOP jeszcze nie ruszyłeś). Zacznij też filtrować dane od użytkownika , bo nie wiadomo, co tam może się kryć (narażasz się m.in. na SQL Injection).
Co do zasadniczego problemu - nie lepiej mieć "na sztywno" ten formularz, a nie bawić się z wyświetlaniem kolumn z bazy (no chyba, że jest to tak ważny element Twojej aplikacji, to ok) ?
Żeby dodać dane do tabeli używasz "INSERT INTO" http://dev.mysql.com/doc/refman/5.6/en/insert.html

edytowany 2x, ostatnio: Tumeg, 2014-12-28 21:19

Pozostało 580 znaków

2014-12-28 21:35
0

Ja jestem laikiem jeżeli chodzi o PHP i MySQL, więc MySQLi nie mam zamiaru się uczyć(przynajmniej na razie). Na SQL Injection nie będę narażony ponieważ strona będzie używana na lokalnym hoscie. A co do tego formularza to nie da się go na sztywno zrobić ponieważ ilość kolumn cały czas się zmienia ponieważ dodawane są nowe kolumny skryptem który mam przygotowany i działa. Więc proszę o pomoc z tym co mam aby mi się udało dodawać do bazy dane wpisane w polach. Pola się wyświetlają więc jest dobrze tylko nie wiem jak to zapisać aby dodawało do bazy te dane. Próbowałem różnymi sposobami ale żaden nie działa. Insert into umiem napisać ale nie mam pojęcia jak to zapisać z obiektami których nazwy są generowane przez skrypt.

edytowany 2x, ostatnio: MajkelPL, 2014-12-28 21:39

Pozostało 580 znaków

2014-12-28 22:50
0

Zapisz sobie w sesji wygenerowane kolumny (najlepiej w tablicy), później po wysłaniu formularza sobie iterujesz po tych danych za pomocą pętli i składasz zapytanie, które twierdzisz, że umiesz zapisać.

edytowany 1x, ostatnio: Tumeg, 2014-12-28 22:50

Pozostało 580 znaków

2014-12-28 22:54
0

Dzięki. Nie pomyślałem o tablicach. Napiszę ten kod i pokaże Ci, to zobaczysz czy dobrze.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0