Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]dodawanie rekordu do 2 tabel
Forum PHP.pl > Forum > Przedszkole
olszam
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. ?>
Shili
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

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