Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Formulaż na edytowanie
Forum PHP.pl > Forum > Przedszkole
olszam
prawie gotowe już jest tylko nie wiem czemu mi się nie wyświetlają zawodnicy którzy mają przypisani do trenera wartość NULL, myślałem żeby jeszcze dać jakiś warunek ale błąd wyskakiwał, a i nie wiem właśnie czy dobrze mam zrobione z aktualizacją danych bo mi nie wychodzi coś ta aktualizacja.
podam co jeszcze pełne nazwy skrótów w zapytaniu
za - zawodnik
z - zawody
t - trener
  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. echo '<form action="edycja333.php" method="post">
  8. danezawody: <select name="iddanezawody">';
  9. $rezultat2 = mysql_query("SELECT * FROM danezawody ORDER BY datazawodow ASC");
  10. while($Wiersz2 = mysql_fetch_array($rezultat2)){
  11. if($Wiersz2['faza'] == 0){
  12. echo '<option value="'.$Wiersz2['iddanezawody'].'">'.$Wiersz2['rodzajzawodow'].' w '.$Wiersz2['miejscezawodow'].': Eleminacje</option>';
  13. }
  14. if($Wiersz2['faza'] == 1){
  15. echo '<option value="'.$Wiersz2['iddanezawody'].'">'.$Wiersz2['rodzajzawodow'].' w '.$Wiersz2['miejscezawodow'].': Finał</option>';
  16. }
  17. }
  18. echo '</select><br />
  19. <input type="submit" name="sprawdz" value="sprawdz" />';
  20.  
  21. if(isset($_POST['sprawdz'])){
  22. $id=$_POST['iddanezawody'];
  23. $sql=mysql_query("SELECT za.idzawodnik zaidz, za.imiezawodnik zaimie, za.nazwiskozawodnik zanazwisko,
  24. z.skok1 zskok1, z.skok2 zskok2, z.skok3 zskok3, z.idzawodnik, z.idtrener zidtrener, z.iddanezawody ziddz,
  25. t.nazwiskotrener tnazwisko, t.imietrener, t.idtrener tidtrener
  26. FROM trener AS t INNER JOIN zawody AS z ON z.idtrener=t.idtrener
  27. INNER JOIN zawodnik AS za ON z.idzawodnik=za.idzawodnik WHERE z.iddanezawody=".$id);
  28. while($Wiersz = mysql_fetch_array($sql)){
  29. echo '<br/>skok1: ';
  30. echo '<input type="text" name="skok1" value="'.$Wiersz['zskok1'].'"/> ';
  31. echo 'skok2: ';
  32. echo '<input type="text" name="skok2" value="'.$Wiersz['zskok2'].'"/> ';
  33. echo 'skok3: ';
  34. echo '<input type="text" name="skok3" value="'.$Wiersz['zskok3'].'"/> ';
  35. echo 'zawodnik: ';
  36. echo '<select name="idzawodnik">';
  37. $sql6="SELECT * FROM zawodnik";
  38. $rezultat2 = mysql_query($sql6);
  39. while($Wiersz5 = mysql_fetch_array($rezultat2)){
  40. if($Wiersz5['idzawodnik'] == $Wiersz['zaidz']){
  41. echo '<option value="'.$Wiersz5['idzawodnik'].'" selected="selected">'.$Wiersz5['imiezawodnik'].' '.$Wiersz5['nazwiskozawodnik'].' </option>';
  42. }
  43. else{
  44. echo '<option value="'.$Wiersz5['idzawodnik'].'">'.$Wiersz5['imiezawodnik'].' '.$Wiersz5['nazwiskozawodnik'].' </option>';
  45. }
  46. }
  47. echo '</select>';
  48. echo 'trener :';
  49. echo '<select name="idtrener">';
  50. $sql5="SELECT * FROM trener";
  51. $rezultat1 = mysql_query($sql5);
  52. while($Wiersz4 = mysql_fetch_array($rezultat1)){
  53. if($Wiersz4['idtrener'] == $Wiersz['tidtrener']){
  54. echo '<option value="'.$Wiersz4['idtrener'].'" selected="selected">'.$Wiersz4['imietrener'].' '.$Wiersz4['nazwiskotrener'].' </option>';
  55. }
  56. else{
  57. echo '<option value="'.$Wiersz4['idtrener'].'">'.$Wiersz4['imietrener'].' '.$Wiersz4['nazwiskotrener'].' </option>';
  58. }
  59. }
  60. echo '</select><br/>';
  61. }
  62. echo '<input type="submit" value="aktuaknij" name="aktualnij"/>';
  63. echo '</form>';
  64.  
  65. }
  66.  
  67. // odbieramy dane z formularza
  68. if(isset($_POST['aktualnij'])){
  69. $skok1 = $_POST['skok1'];
  70. $skok2 = $_POST['skok2'];
  71. $skok3 = $_POST['skok3'];
  72. $id2=$_POST['idtrener'];
  73. $id1=$_POST['idzawodnik'];
  74. if($skok1 && $skok2 && $skok3 && $id1 && $id2)
  75. {
  76. $sql1="UPDATE zawody SET skok1='$skok1', skok2='$skok2', skok3='$skok3', idzawodnik='$id2', idtrener='$id1'";
  77. // dodajemy rekord do bazy
  78. $ins = mysql_query($sql1,$polacz);
  79.  
  80. if($ins)
  81. {
  82. echo '<br/>Rekord został wyedytowany poprawnie';
  83. }
  84. else
  85. {
  86. echo '<br/>Błąd nie udało się wyedytować nowego rekordu';
  87. }
  88. }
  89. }
  90. ?>

jeśli ktoś się orientuje to mógłby ktoś mnie poprawić w tym kodzie
krystianroza
Wg. mnie problem jest w zapytaniu:
  1. $sql=mysql_query("SELECT za.idzawodnik zaidz, za.imiezawodnik zaimie, za.nazwiskozawodnik zanazwisko,
  2. z.skok1 zskok1, z.skok2 zskok2, z.skok3 zskok3, z.idzawodnik, z.idtrener zidtrener, z.iddanezawody ziddz,
  3. t.nazwiskotrener tnazwisko, t.imietrener, t.idtrener tidtrener
  4. FROM trener AS t INNER JOIN zawody AS z ON z.idtrener=t.idtrener
  5. INNER JOIN zawodnik AS za ON z.idzawodnik=za.idzawodnik WHERE z.iddanezawody=".$id);

Mianowicie w podzapytaniu, a raczej jego części
  1. AS z ON z.idtrener=t.idtrener


Jak nie będzie przypisana wartość w z.idtrener to nie wyświetli Ci zawodników bez trenerów...
Polecam dodać jednego trenera do bazy jako "Brak Trenera" i przypisać zawodnikom z id trenera wartość id dodanego wiersza...

Jest to chyba najprostrzy sposób na rozwiązanie problemu zapytania smile.gif
olszam
o o tym to nawet nie pomyślałem thx za pomoc dla ciebie a jeszcze jedno jak powinno wyglądać ta część na edycje tych rekordów?
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.