Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]dodawanie rekordu do 2 tabel, mam nadzieje że dobrze opisałem temat
olszam
post 21.12.2011, 21:45:32
Post #1





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

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


Mam 2 tabele:
1.danezdjecia
iddanezdjecia
plik
opis
iddanezawody

2.idzdjecia
idzawodnik
idtrener
iddanezdjecia

I muszę zrobić coś takiego by wysłało zdjęcie do serwera(to akurat działa) i od razu by to zdjęcie było powiązane z trenerem.

  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="przyklad2.php" method="POST">
  8. <input type="hidden" name="MAX_FILE_SIZE" value="3000000" />
  9. obrazek: <input name="nazwapliku" type="file" />
  10. <br/>
  11.  
  12. trener: <select name="idtrener">
  13.  
  14. <?php
  15. $sql3 = "Select * From trener";
  16. $rezultat2 = mysql_query($sql3);
  17. while ($Wiersz2 = mysql_fetch_array($rezultat2))
  18. {
  19. echo '<option value="'.$Wiersz2['idtrener'].'">'.$Wiersz2['imietrener'].' '.$Wiersz2['nazwiskotrener'].'</option>';
  20. }
  21. ?>
  22. </select><br />
  23. <br />
  24. <textarea name="opis">opis</textarea><br />
  25. <input type="submit" name="dodaj" value="dodaj zdjecie" />
  26. </form>
  27. <?php
  28. if (!empty($_POST)){
  29. $uploaddir = 'test/';
  30. $uploadfile = $uploaddir . basename($_FILES['nazwapliku']['name']);
  31. echo '<pre>';
  32.  
  33. if (move_uploaded_file($_FILES['nazwapliku']['tmp_name'], $uploadfile))
  34. {
  35.  
  36.  
  37. if(isset($_POST['dodaj'])){
  38. $nazwapliku = $_FILES['nazwapliku']['name'];
  39. $opis = $_POST['opis'];
  40.  
  41. $trener = $_POST['idtrener'];
  42.  
  43. if($nazwapliku && $opis && $trener)
  44. {
  45. $sql1="INSERT INTO danezdjecia SET plik='$nazwapliku', opis='$opis'";
  46. //i gdzieś następne zapytanie powinno być na dodanie rekordu do tabeli zdjecia tylko dokładnie nie wiem gdzie
  47. $ins = mysql_query($sql1);
  48. if($ins)
  49. {
  50. echo "Rekord został dodany poprawnie";
  51. }
  52. else {
  53. echo "Błąd nie udało się dodać nowego rekordu: ";
  54. }
  55.  
  56. }
  57. }
  58.  
  59. echo "File is valid, and was successfully uploaded.\n";
  60. }
  61. else
  62. {
  63. echo "Possible file upload attack!\n";
  64. }
  65.  
  66. echo 'Here is some more debugging info:';
  67. print_r($_FILES);
  68.  
  69. print "</pre>";
  70. }
  71. mysql_close($polacz);
  72. ?>
Go to the top of the page
+Quote Post
Shili
post 21.12.2011, 22:54:29
Post #2





Grupa: Zarejestrowani
Postów: 1 085
Pomógł: 231
Dołączył: 12.05.2008

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


Cytat(olszam @ 21.12.2011, 21:45:32 ) *
I muszę zrobić coś takiego by wysłało zdjęcie do serwera(to akurat działa) i od razu by to zdjęcie było powiązane z trenerem.

To bardzo dobrze, życzę powodzenia i napisania dobrego skryptu.

A odpowiedź na pytanie, którego NIE zadałeś smile.gif to pewnie będzie

1) mysql_insert_id
2) Rekord zapewne należy dodać do drugiej tabeli, jeśli poprzedni insert poprawnie dodał się do pierwszej, inaczej zresztą mysql_insert_id() nie zadziała

Go to the top of the page
+Quote Post
olszam
post 22.12.2011, 11:47:18
Post #3





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

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


ok już działa z mysql_insert_id() thx za pomoc. Jak coś wstawiam kod który poprawnie mi działa może komuś się przyda
  1. if($nazwapliku && $opis)
  2. {
  3. $sql1="INSERT INTO danezdjecia SET nazwapliku='$nazwapliku', opis='$opis'";
  4. $ins = mysql_query($sql1);
  5. $id = mysql_insert_id();
  6. if($ins && $trener && $id)
  7. {
  8. echo "Rekord 1 został dodany poprawnie";
  9. $sql="INSERT INTO zdjecia SET idtrener='$trener', iddanezdjecia='$id'";
  10. $ins1 = mysql_query($sql);
  11. if($ins1)
  12. {
  13. echo "Rekord 2 został dodany poprawnie";
  14. }
  15. else
  16. {
  17. echo "Błąd nie udało się dodać 2 rekordu: ";
  18. }
  19.  
  20. }
  21. else {
  22. echo "Błąd nie udało się dodać nowego rekordu: ";
  23. }
  24.  
  25. }
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: 7.06.2024 - 15:22