Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Dodawanie kilku rekordów
fran1o
post
Post #1





Grupa: Zarejestrowani
Postów: 65
Pomógł: 2
Dołączył: 15.04.2008

Ostrzeżenie: (0%)
-----


Witam, przeszukałem forum ale nie znalazłem odpowiedzi. Chodzi mi o: użytkownik określa ilość, następnie wypełnia formularz i potem ma to się dopisać do bazy tyle razy ile podał w polu ilości (ma to być na jednej stronie bez przeładowań). Czy może mnie ktoś naprowadzić i czy to jest wykonalne np. dla 1000 zapytań? Z góry dzięki za wskazówki.
Pozdr
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
fran1o
post
Post #2





Grupa: Zarejestrowani
Postów: 65
Pomógł: 2
Dołączył: 15.04.2008

Ostrzeżenie: (0%)
-----


moze przesadzilem z tym 1000 ale musi byc dodawane kilka razy i pole ilosc_wystapien odpada bo dane sa pozniej jeszcze wykorzystywane do innych rzeczy. Glownie mi teraz chodzi o przekazanie zmiennej z pola text do zmiennej w petli ktora doda x razy
Go to the top of the page
+Quote Post
mortus
post
Post #3





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

Ostrzeżenie: (0%)
-----


Cytat(fran1o @ 24.03.2010, 10:14:46 ) *
pole ilosc_wystapien odpada bo dane sa pozniej jeszcze wykorzystywane do innych rzeczy
No i co z tego, że dane są wykorzystywane do innych rzeczy, przecież nikt Ci nie każe wykorzystywać wszystkich danych pobranych z formularza.
Stosując się do Twoich wymagań:
  1. <?php
  2. // nazwiązanie połączenia z serwerem baz danych
  3. // wybranie bazy danych
  4. // sprawdzamy, czy dane zostały wysłane za pomocą formularza
  5. if(!empty($_POST)) {
  6. // jeżeli tak, to sprawdzamy, czy odpowiednie pola zostały właściwie wypełnione
  7. if(isset($_POST['liczba'] && $_POST['liczba'] != '' && is_numeric($_POST['liczba']) && isset($_POST['dane_1']) && $_POST['dane_1'] != '') {
  8. // pola zostały wypełnione, a zatem
  9. $zapytanie = "INSERT INTO tabela (dane_1) VALUES ('{$_POST['dane_1']}')";
  10. $liczba_dodanych_rekordow = 0;
  11. for($i = 0; $i < (int)$_POST['liczba']; $i++) {
  12. $wynik = mysql_query($zapytanie) or die(mysql_error());
  13. if(($dodano = mysql_affected_rows()) > 0) {
  14. $liczba_dodanych_rekordow += $dodano;
  15. } else {
  16. $_message = 'Wystąpił nieoczekiwany błąd!';
  17. break;
  18. }
  19. }
  20. $_message = 'Dodano ' . $liczba_dodanych_rekordow . ' rekordów do tabeli bazy danych.';
  21. }
  22. echo $_message . '<br/>';
  23. }
  24. ?>
  25. <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
  26. <input type="text" name="liczba" value="1" /><br/>
  27. <input type="text" name="dane_1" /><br/>
  28. <input type="submit" name="submit" value="Wyślij" /><br/>
  29. </form>
Oczywiście pętlę można inaczej zorganizować (np. zamiast wykonywać funkcję mysql_query x razy, można w pętli zapytanie ułożyć).
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 5.10.2025 - 18:06