Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Proponowane kolejki startowe
Forum PHP.pl > Forum > Przedszkole
ghastblood
Witam,

chciał bym wiedzieć jak zrobić propozycje np: kolejek startowych czyli funkcja która sprawdza mi na podstawie bazy danych z konkurencjami zawodników które stanowiska w której kolejce są wolne np zawodnik bierze udział w 3 konkurencjach i funkcja zaproponuje mi że o 12.00 na stanowisku 1 może odbyć jedną konkurencje o 13.00 na 1 i o 15.00 na 1.

jak mógł bym się za to zabrać jak to powinno działać.
greycoffey
Nie rozumiem. baaasmiley.gif
ghastblood
Są w bazie danych zawodników i określone że biorą udział w konkurencjach np o 12:00, st. 1 || 12:00, st.2 i chcesz dodać 3 zawodnika który bierze udział w 1 konkurencji to funkcja zaproponuje 12:00, st. 3.

Proszę o pomoc
!*!
Kod
id_user | godzina | st | konkurencja


i wtedy pobierasz jak chcesz, np. względem godziny do konkurencji czy stanowiska.
ghastblood
teraz to ja nie rozumiem możesz rozwinąć to jakoś ?
!*!
Podałem przykład jak wygląda baza danych. Robisz proste zapytanie SQL wyciągając te dane tak jak każde inne.
ghastblood
tak tylko ja potrzebuje ocenić jakie stanowiska są wolne a nie wyciągnąć stanowiska już zajęte wiem jak wyciągnąć zajęte stanowiska. Potrzebuje dobrać się do pustych.

proszę o pomoc


Nikt nie jest w stanie mi pomóc ?
!*!
Przedstaw jakiś kod. Jak wygląda baza, jak ustalasz stanowiska, dodajesz rekordy itd.
ghastblood
wizualny podgląd stanowisk by kefirek
http://forum.php.pl/index.php?showtopic=19...st&p=968462
formularz dodawania zawodnika
  1. <?php
  2.  
  3. require_once "core.php";
  4.  
  5.  
  6. $wynik = mysql_query("SELECT * FROM zawodnik LEFT JOIN konkurencje_zawodnikow ON id_zawodnika = id LEFT JOIN konkurencje ON id_konkurencji = id_konk WHERE id = ".$_GET['id']."") or die(mysql_error());
  7.  
  8.  
  9. $_SESSION['id'] = $_GET['id'];
  10.  
  11. echo '<form action="dodaj.php" method="POST"><table align="center">';
  12. echo '<tr><td>';
  13. echo 'L.P';
  14. echo '</td><td>';
  15. echo 'Konkurencja';
  16. echo '</td><td>';
  17. echo 'Pawilon';
  18. echo '</td><td>';
  19. echo 'Stanowisko';
  20. echo '</td><td>';
  21. echo 'Godz.';
  22. echo '</td></tr>';
  23.  
  24. $i=1;
  25. while($r = mysql_fetch_assoc($wynik))
  26. {
  27. echo '<tr><td>';
  28. echo $i++;
  29. echo '</td><td>';
  30. echo $r['nazwa_konkurencji'];
  31. echo '</td><td>';
  32. echo '<input type="text" class="textbox" name="pawilon_'.$r['id'].'_'.$r['id_konk'].'" value="'.$r['pawilon'].'">';
  33. echo '</td><td>';
  34. echo '<input type="text" class="textbox" name="stanowisko_'.$r['id'].'_'.$r['id_konk'].'" value="'.$r['stanowisko'].'">';
  35. echo '</td><td>';
  36. echo '<input type="text" class="textbox" name="godzina_'.$r['id'].'_'.$r['id_konk'].'" value="'.$r['godzina'].'">';
  37. echo '</td></tr>';
  38.  
  39.  
  40. }
  41. echo '<tr>';
  42. echo '<td colspan="6"><center><input class="button" type="submit" value="Dodaj"></center><td>';
  43. echo '</tr>';
  44.  
  45. ?>

dodawanie rekodu
  1. <?php
  2.  
  3. require_once"core.php";
  4.  
  5. if($_SERVER['REQUEST_METHOD'] == 'POST')
  6. {
  7. $wynik = mysql_query("SELECT * FROM zawodnik LEFT JOIN konkurencje_zawodnikow ON id_zawodnika = id LEFT JOIN konkurencje ON id_konkurencji = id_konk WHERE id = ".$_SESSION['id']."") or die(mysql_error());
  8.  
  9.  
  10. while ($r = mysql_fetch_assoc($wynik)){
  11.  
  12. $id_zawodnika = $r['id'];
  13. $id_konkurencji =$r['id_konk'];
  14.  
  15. $sql = ("UPDATE konkurencje_zawodnikow SET
  16. pawilon = '".$_POST['pawilon_'.$id_zawodnika.'_'.$id_konkurencji]."',
  17. godzina = '".$_POST['godzina_'.$id_zawodnika.'_'.$id_konkurencji]."',
  18. stanowisko = '".$_POST['stanowisko_'.$id_zawodnika.'_'.$id_konkurencji]."'
  19. WHERE id_konk = ".$id_konkurencji." && id = ".$id_zawodnika."
  20. ");
  21. $result = mysql_query($sql) or die(mysql_error());
  22. header('location: lista.php');
  23.  
  24. }
  25. }
  26.  
  27. ?>

baza danych
zawodnik
-id
-imie
-nazwisko
-klub
konkurencje_zawodnikow
-id_zawodnika
-id_konkurencji
-pawilon
-stanowisko
-godzina
[u]Pawilony[\u]
-nazwa_pawilonu
-ilosc stanowisk
[u]ustawienia[\u]
-początek kolejek
-koniec kolejek


i teraz tak na podstawie konkurencje zawodników musi się dać jakoś określić ilość wolnych stanowisk na danym pawilonie o danej godzinie

dla przykładu Pawilon A ma 10 wolnych stanowisk jest 7 kolejek startowych co godz od 10-17 czyli (ilosc stanowisk * ilosc kolejek) = suma wolnych stanowisk czyli 10*7 = 70 stanowisk

zawodnika 1 bierze udział w konkurencji o 10 na stanowisku 1 czyli zostaje 69 stanowisk wolne gdy dodaje zawodnika 2 to chciał bym żeby skrypt zaproponował mi wolne stanowiska

mogło by to być na zasadzie listy select wybieram godz 10.00 to 2 w drugim select stanowisko jest już tylko od 2-10 a jeszcze lepiej gdyby wyświetlało mi w oknie wolne stanowiska

Proszę o pomoc bardzo mi jest to potrzebne
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.