Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]formularz i 3 rekordy za jednym zamachem, to tylko część z tego co napisałem w tytule tematu
olszam
post 2.12.2011, 18:37:41
Post #1





Grupa: Zarejestrowani
Postów: 342
Pomógł: 23
Dołączył: 20.01.2011
Skąd: Chełm

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


mam tabele zdjęcia w której znajdują się:
IDzdjecia(PK)
idzawodnik(FK)
iddanezawody(FK)
idtrener(FK)
plikzdj
opis

W chciałbym mieć w formularzu tak by dodać 3 zawodników, dane zawody, plikzdj i opis. Wiem jak pojedyńczo dodawać takie rekordy, a tu sie składa że musiałbym 3 takie same rekordy o tych samych danych z wyjątkiem zawodnika i jeszcze jakiś warunek jak tu dać że jeśli z kolumny plikzdj już są 3 takie same nazwy to żeby nie dodawało tego rekordu i mógł przyjąć plik jeśli będzie ono miała inną nazwę.
Chce dodać 3 zawodników bo chodzi o medalistów,dane zawody(gdzie się odbywały), plikzdj(no jak sama nazwa wskazuje),opis. A i z wyświetlaniem byłby podobny musiałbym warunek dać.

kod na dodawanie do tabeli zjdęcia jaki mam umieszczam jeśli byłby ktoś w stanie mi pomóc

  1. <?php
  2. require 'polacz.php';
  3. mysql_query("SET NAMES utf8");
  4. mysql_query("SET CHARACTER SET utf8");
  5. mysql_query("SET collation_connection = utf8_polish_ci");
  6. ?>
  7. <form enctype="multipart/form-data" action="przyklad1.php" method="POST">
  8. <input type="hidden" name="MAX_FILE_SIZE" value="3000000" />
  9. obrazek: <input name="nazwapliku" type="file" />
  10. <br/>
  11. zawodnik: <select name="idzawodnik">
  12. <?php
  13. $sql2 = "SELECT * FROM zawodnik";
  14. $rezultat1 = mysql_query($sql2);
  15. while ($Wiersz1 = mysql_fetch_array($rezultat1))
  16. {
  17. echo '<option value="'.$Wiersz1['idzawodnik'].'">'.$Wiersz1['imiezawodnik'].' '.$Wiersz1['nazwiskozawodnik'].'</option>';
  18. }
  19. ?>
  20. </select><br />
  21. trener: <select name="idtrener">
  22.  
  23. <?php
  24. $sql3 = "Select * From trener";
  25. $rezultat2 = mysql_query($sql3);
  26. while ($Wiersz2 = mysql_fetch_array($rezultat2))
  27. {
  28. echo '<option value="'.$Wiersz2['idtrener'].'">'.$Wiersz2['imietrener'].' '.$Wiersz2['nazwiskotrener'].'</option>';
  29. }
  30. ?>
  31. </select><br />
  32. dane zawody:
  33. <select name="iddanezawody">
  34. <?php
  35. $sql4 = "SELECT * FROM danezawody";
  36. $rezultat3 = mysql_query($sql4);
  37. while ($Wiersz3 = mysql_fetch_array($rezultat3))
  38. {
  39. echo '<option value="'.$Wiersz3['iddanezawody'].'">'.$Wiersz3['iddanezawody'].'</option>';
  40. }
  41. ?>
  42. </select><br />
  43. <textarea name="opis">opis</textarea><br />
  44. <input type="submit" name="dodaj" value="dodaj zdjecie" />
  45. </form>
  46. <?php
  47. if (!empty($_POST)){
  48. $uploaddir = 'test/';
  49. $uploadfile = $uploaddir . basename($_FILES['nazwapliku']['name']);
  50. echo '<pre>';
  51.  
  52. if (move_uploaded_file($_FILES['nazwapliku']['tmp_name'], $uploadfile))
  53. {
  54.  
  55.  
  56. if(isset($_POST['dodaj'])){
  57. $nazwapliku = $_FILES['nazwapliku']['name'];
  58. $opis = $_POST['opis'];
  59. $zawodnik = $_POST['idzawodnik'];
  60. $trener = $_POST['idtrener'];
  61. $danezawody = $_POST['iddanezawody'];
  62. if($nazwapliku && $opis && $zawodnik && $trener && $danezawody)
  63. {
  64. $sql1="INSERT INTO zdjecia SET nazwapliku='$nazwapliku', opis='$opis', idzawodnik='$zawodnik', idtrener='$trener', iddanezawody='$danezawody'";
  65.  
  66. $ins = mysql_query($sql1);
  67. if($ins)
  68. {
  69. echo "Rekord został dodany poprawnie";
  70. }
  71. else {
  72. echo "Błąd nie udało się dodać nowego rekordu: ";
  73. }
  74.  
  75. }
  76. }
  77.  
  78. echo "File is valid, and was successfully uploaded.\n";
  79. }
  80. else
  81. {
  82. echo "Possible file upload attack!\n";
  83. }
  84.  
  85. echo 'Here is some more debugging info:';
  86. print_r($_FILES);
  87.  
  88. print "</pre>";
  89. }
  90. mysql_close($polacz);
  91. ?>

mam nadzieje że dobrze się wypowiedziałem

Ten post edytował olszam 2.12.2011, 18:38:28
Go to the top of the page
+Quote Post
potreb
post 2.12.2011, 21:52:05
Post #2





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

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


Robisz sobie formularz w pętli for gdzie powielasz pola. Pole musi mieć nazwę np taką:
<input name="zawodnik[imie][]" type="text" />

Jeżeli 3 razy pokaze ci to pole w pętli for to przesyłasz dane i rozbijasz tablicę zawodnik i wyciągasz dane dla imienia i reszty inputów.



--------------------

Go to the top of the page
+Quote Post
olszam
post 2.12.2011, 23:01:30
Post #3





Grupa: Zarejestrowani
Postów: 342
Pomógł: 23
Dołączył: 20.01.2011
Skąd: Chełm

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


dobra działa mi pętla for przy combo box i dodaje mi rekord ale tylko jeden i a mi potrzeba 3 coś powinienem jeszcze dodać?

  1. <?php
  2. require 'polacz.php';
  3. mysql_query("SET NAMES utf8");
  4. mysql_query("SET CHARACTER SET utf8");
  5. mysql_query("SET collation_connection = utf8_polish_ci");
  6. ?>
  7. <form enctype="multipart/form-data" action="Bez1.php" method="POST">
  8. <input type="hidden" name="MAX_FILE_SIZE" value="3000000" />
  9. obrazek: <input name="nazwapliku" type="file" />
  10. <br/>
  11. <?php
  12. for ($i=1; $i<=3; $i++)
  13. {
  14. echo 'Miejsce '.$i.': <select name="idzawodnik">';
  15. $sql2 = "SELECT * FROM zawodnik";
  16. $rezultat1 = mysql_query($sql2);
  17. while ($Wiersz1 = mysql_fetch_array($rezultat1))
  18. {
  19. echo '<option value="'.$Wiersz1['idzawodnik'].'">'.$Wiersz1['imiezawodnik'].' '.$Wiersz1['nazwiskozawodnik'].'</option>';
  20. }
  21. echo '</select><br />';
  22. }
  23. ?>
  24. <br />
  25. dane zawody:
  26. <select name="iddanezawody">
  27. <?php
  28. $sql4 = "SELECT * FROM danezawody";
  29. $rezultat3 = mysql_query($sql4);
  30. while ($Wiersz3 = mysql_fetch_array($rezultat3))
  31. {
  32. echo '<option value="'.$Wiersz3['iddanezawody'].'">'.$Wiersz3['iddanezawody'].'</option>';
  33. }
  34. ?>
  35. </select><br />
  36. <textarea name="opis">opis</textarea><br />
  37. <input type="submit" name="dodaj" value="dodaj zdjecie" />
  38. </form>
  39. <?php
  40.  
  41. if (!empty($_POST)){
  42. $uploaddir = 'test/';
  43. $uploadfile = $uploaddir . basename($_FILES['nazwapliku']['name']);
  44. echo '<pre>';
  45.  
  46. if (move_uploaded_file($_FILES['nazwapliku']['tmp_name'], $uploadfile))
  47. {
  48.  
  49.  
  50. if(isset($_POST['dodaj'])){
  51. $nazwapliku = $_FILES['nazwapliku']['name'];
  52. $opis = $_POST['opis'];
  53. $zawodnik = $_POST['idzawodnik'];
  54. $danezawody = $_POST['iddanezawody'];
  55. if($nazwapliku && $opis && $zawodnik && $danezawody)
  56. {
  57. $sql1="INSERT INTO zdjecia SET nazwapliku='$nazwapliku', opis='$opis', idzawodnik=$zawodnik, iddanezawody='$danezawody'";
  58.  
  59. $ins = mysql_query($sql1);
  60. if($ins)
  61. {
  62. echo "Rekord został dodany poprawnie";
  63. }
  64. else {
  65. echo "Błąd nie udało się dodać nowego rekordu: ";
  66. }
  67.  
  68. }
  69. }
  70.  
  71. echo "File is valid, and was successfully uploaded.\n";
  72. }
  73. else
  74. {
  75. echo "Possible file upload attack!\n";
  76. }
  77.  
  78. echo 'Here is some more debugging info:';
  79. print_r($_FILES);
  80.  
  81. print "</pre>";
  82. }
  83. mysql_close($polacz);
  84. ?>


Ten post edytował olszam 3.12.2011, 12:11:38
Go to the top of the page
+Quote Post
potreb
post 3.12.2011, 17:49:44
Post #4





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

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


No tak powinieneś dać nazwę dla inputa jaką ci w poscie wyzej wskazałem. Inaczej nie rozbijesz w prosty sposób tablicy $_FILES i $_POST, żeby zapisać do bazy.


--------------------

Go to the top of the page
+Quote Post
olszam
post 3.12.2011, 20:38:18
Post #5





Grupa: Zarejestrowani
Postów: 342
Pomógł: 23
Dołączył: 20.01.2011
Skąd: Chełm

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


ok thx działa jak trzeba
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 27.04.2024 - 21:46