Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Tworzenie danej ilośći inputow za pomocą for i zapis do bazy
Forum PHP.pl > Forum > PHP
SN@JPER^
Mam sobie o to taki skrypcik:

http://www.spurspage.com/srednia/form.html

Tworzy on za pomocą for dana ilosc inputów.... Czy jest możliwość tej danej ilosci inputow zapisac do bazy i np. będa to spotkania meczowe gdzie później będzie trzeba wpisac rezultaty i podliczyc punkty... etc. Cool
bigZbig
Jest możliwość tylko musisz tak przerobić ten generator aby nazwy poszczególnych inputów wyglądały np. tak name="ocena[]" - wtedy po przesłaniu wyniku na serwer prarser php utworzy zgrabna tablice z poszczególnymi ocenami.
SN@JPER^
bigZbig rozszerzysz swoją myśl ?


Daje również kod...


  1. <?
  2.  
  3. $ilosc = $_POST['ilosc'];
  4.  
  5. echo("<form action="wynik.php" method="post">");
  6.  
  7. for ($i=1; $i<=$ilosc; $i++) {
  8.  
  9. echo("Przedmiot" .$i . " <input name="ocena[$i]" value="$i" type="text"><br>");
  10.  
  11. }
  12.  
  13. echo("<input type="submit" value="Wejd&#378;">");
  14.  
  15. ?>


Załóżmy, że to bedą spotkania... a nie przedmioty, gdzie później trzeba wpisac rezultaty i podliczyć punkty danym userom za typowanie.

I jakie teraz tabele stworzyc w mysql i jakie zapytania porobić ?
Cienki1980
Ciężko powiedzieć jaka ma być baza danych bo nie wiadomo co będzie robił cały system. Sam musisz określić co będziesz przechowywał w bazie, jak ją zaprojektujesz i jak będziesz z niej korzystał.

Najpierw projekt bazy danych, potem zapytania:D
SN@JPER^
Dobra to może inaczej pytanie skonstruuje...

Właśnie o to chodzi.. ze nie wiadomo ile będzie spotkań .. dlatego jest ten "generator inputów"

Zrobiłem ten mini skrypcik, aby zapobiec w projekcie tabel typu spotkanie1, spotkanie2, spotkanie3, (phpmyadmin)

Tylko, zzeby własnie zapytanie tworzyó te ilosc.. Da się wogóle tak ?
Cienki1980
Hmmm jeżlei to będą spotkania, będą się odbywały między drużyną A a drużyną B.

Tworzysz jedną tabele spotkania z następującymi polami:
id- auto_increment INT
id_druzyna_A - int
id_druzyna_B - int
wynik - dowolne jakie Ci bedzie pasować.. np text i wpisany wynik 3:2 ... lub jakiś znacznik określający czy był remis czy wygrała A czy wygrała B.

Do tego jeszcze jakieś pola które będziesz potrzebował ... np kto był gospodarzem ( wystarczy wskazanie czy to drużna A czy B .. czyli char(1)), ilu było widzów, data itp itd.

Oczywiście zakładam, że będzie istniała tabela druzna do której będzie odnosiła się poprzez relacje id_druzyna_A i id_druzyna_B .

Mając wiele spotkań, generowanych w locie, stworzysz tyle wpisów do tabeli spotkania ile będzie wygenerwoanych pól.
SN@JPER^
daną ilość spotkań, żeby było mozna dać w kategori m.in Premiership.

Raczej nie będzie tabeli drużyna.. poprostu w input bedzie sie wpisywało nazwe tej druzyny...

I teraz ... po tych źródłach i pytaniach.. :

jak zrobić tabele ?

jak wykonać zapytanie(jaką one mają wyglądac) ?

na screenie podaje jak to ma mniej więcej wyglądać:

Cienki1980
Skoro maja być tylko takie dane to tabela wystarczy z następującymi polami:

id - auto_increment int,
nazwa_druzyny_A varchar(100),
nazwa_druzyny_B varchar(100),
wynik_A - int,
wynik_B - int

Co do tworzenia bazy danych, tabel i zapytań do nich to zapraszam do manuala, podstawowego kursu w php, jeżeli chcesz to zrobić samemu. Jeżeli nie, to zleć to zadanie komuś kto da Ci gotowy produkt biggrin.gif
PS. Nie przyuważyłem o kategoriach. No ale to też zależy czy katgorie chcesz trzymać w bazie czy nie.
SN@JPER^
Umiem tworzyć zapytania.. tylko jeśli jest np. spotkanie[$i] to myslałem, ze jakies inne bedzie.
Cienki1980
Zapytanie tworzysz tak samo, z tym że tworzysz je np w pętli for lub foreach lub while.
  1. <?php
  2. $spotkanie; // to jest tablica z spotkaniami, pobrana z formularza
  3.  
  4. /*
  5. jak dla mnie mogła by ona taką mieć strukturę 
  6. $spotkanie[0]['druzynaA']='nazwa_druzyny';
  7. $spotkanie[0]['druzynaB']='nazwa_druzyny';
  8. $spotkanie[0]['wynikA']='wynikA';
  9. $spotkanie[0]['wynikB']='wynikB';
  10. i potem to samo dla 1,2,3 tyle ile jest inputow w formularzu
  11. */
  12. for($i=0;$i<$count($spotkanie);$i++)
  13. {
  14.  $query="INSERT INTO spotkanie(druzynaA,druzynaB,wynikA,wynikB) values ('".$spotkanie[$i]['druzynaA']."','".$spotkanie[$i]['druzynaB']."','".$spotkanie[$i]['wynikA']."','".$spotkanie[$i]['wynikB']."')";
  15.  
  16. mysql_query($query);
  17. }
  18. ?>

}
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.