![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 0 Dołączył: 29.05.2014 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Dopiero co się uczę php i potrzebował bym aby ktoś mnie naprowadził. Otóż formularz dodaje pojedyńczy rekord do bazy danych są to kody potrzebował bym aby dodawał ich kilka naraz. tabela składa się z 4 pul id, code, status, expired id - wypełnia się sam status oraz expired maja takie same wartości Chciałbym zrobić aby z formularza można było dodać kilka kodów naraz Np kilka kodów wypisanych jeden pod drugim odzielonych spacją, raczej form action się do tego nie nadaje. Troche zawile ale mam nadzieje że mnie ktoś zrozumiał i coś doradzi Formularz html Kod <form action="dodaj.php" method="post"> code: <input type="text" name="code"> status: <input type="checkbox" name="status" value="active"> expired:<input type="checkbox" name="expired" value="0"> <input type="submit"> </form> Skrypt php Kod <?php
$connection = @mysql_connect('XXX', 'XXX', 'XXX') or die('Brak połączenia z serwerem MySQL.<br />Błąd: '.mysql_error()); echo "Udało się połączyć z serwerem!<br />"; $db = @mysql_select_db('XXX', $connection) or die('Nie mogę połączyć się z bazą danych<br />Błąd: '.mysql_error()); echo "Udało się połączyć z bazą dancych!"; $sql="INSERT INTO codes (code, status, expired) VALUES ('$_POST[code]','$_POST[status]','$_POST[expired]')"; if (!mysql_query($sql,$connection)) { die('Błąd: ' . mysql_error()); } echo "dodano"; ?> |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
masz 2 wyjścia
1. albo wpisujesz po spacji kody w polu które masz, potem w skrypcie robisz explode po spacji i foreach robisz zapytanie zbiorcze np:
Albo dodajesz n pól z code Kod <input type="text" name="code[]" /> i odwołujesz się porzez $_POST['code'] i jw. foreach budujesz zapytanie dodatkowo filtrując dane Ten post edytował Pyton_000 29.05.2014, 21:08:41 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 0 Dołączył: 29.05.2014 Ostrzeżenie: (0%) ![]() ![]() |
Wielkie dzięki (IMG:style_emoticons/default/smile.gif)
explode wszystkie kody po spacji ładnie oddziela, jeszcze muszę tylko ogarnąć jak połączyć pętle foreach z zapytaniem do bazy danych i będzie ok Pozdrawiam explode Kod // wyświetlanie kodów przed oddzieleniem echo('<br>'); echo "dodano następujące kody:"; echo('<br>'); echo $_POST['code']; // odzielenie kodów po spacji $danecode = $_POST['code']; $dane = explode(" ", $danecode); // wyświetlanie poszczególnych kodów echo('<br>'); echo('<br>'); echo $dane[0]; echo $dane[1]; echo $dane[2]; echo $dane[3]; echo $dane[4]; // wyświetlanie ilości kodów po odzieleniu echo('<br>'); echo('<br>'); echo "Ilość kodów:"; echo count($dane); A oto pętla z zapytaniem wszystko ładnie śmiga może komuś się to przyda Kod foreach($dane AS $key) {
$sql="INSERT INTO codes (code, status, expired) VALUES ('$key','$_POST[status]','$_POST[expired]')"; if (!mysql_query($sql,$connection)) { die('Błąd: ' . mysql_error()); Ten post edytował wiktor1984 30.05.2014, 12:25:18 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Nie do końca, bo to jest zapychanie bazy zapytaniami.
Dzięki temu wykonasz 1 zapytanie a nie xxx |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 0 Dołączył: 29.05.2014 Ostrzeżenie: (0%) ![]() ![]() |
Nie chce zaśmiecać forum nowymi tematami dlatego w tym temacie
Otóż połączyłem formularz dodający kody jak i skrypt który je dodaje w jeden plik php i przy każdym wejściu na stronę dodaje mi puste rekordy do bazy danych, oraz przy dodawaniu kodów zawsze dodatkowy pierwszy rekord pusty. Przed połączeniem obu plików wszystko było ok. Pytanie pewnie dla niektórych banalne czy formularz jak i skrypt muszą być w osobnych plikach? |
|
|
![]()
Post
#6
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Nie, nie muszą, ale przed dodaniem wpisu do bazy, wypadaloby sprawdzic, czy w ogole poszly jakies dane z forma, a nie wrzucac wszystko bez zadnego sprawdzania.
przenosze ps: zacznij uzywac poprawnego bbcode. Do kodu PHP uzywa sie BBCODE PHP a nie CODE |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 01:30 |