Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]edycja danych pochodzących z bazy
Forum PHP.pl > Forum > Przedszkole
shreker
witam, może ktoś spotkał się z podobnym problemem:

otóż mam dane pochodzące z bazy, zapytanie w rodzaju: select * from plany where klasa='3A';

jak stworzyć formularz do edycji danych dla danej klasy (w tym wypadku np. 3A), ale tak żeby wyświetlał się w inputach cały tydzień, a nie pojedyńczy wiersz z bazy. to znaczy coś w rodzaju

godzina pon wto śro czw pią
1 pol mat hist po wos
2 mat ang pol pol hist
3 pol ang hist mat mat
4 wos po biol mat his

wszystko oczywiście jako (przykład - dane pobrane z bazy) zawartość inputów
może ktoś się natknął na rozwiązanie albo podobny formularz?
desperat666
Zainstaluj phpmyadmin
shreker
questionmark.gif? po co mam go instalować, skoro chce stworzyć formularz, a nie edytować poprzez phpmyadmina
ToAr
jaką strukturę ma ta tabela w bazie danych?
shreker
struktura tabeli plany, (podział na kolumny):
id, godzina, pon, wto, sr, czw, pio
ToAr
Najważniejsza część formularza

  1. $result = mysql_query('SELECT * FROM plany WHERE klasa = "3A"');
  2. $numrows=mysql_num_rows($result);
  3. if ($numrows>0) {
  4. echo '<table>';
  5. while ($row = mysql_fetch_array($result)) {
  6. $godzina= $row['godzina'];
  7. $pon= $row['pon'];
  8. $wto= $row['wto'];
  9. $sr= $row['sr'];
  10. $czw= $row['czw'];
  11. $pio= $row['pio'];
  12.  
  13. echo '<tr>'
  14. .'<td><input type="text" name="godzina" value="'.$godzina.'"></td>'
  15. .'<td><input type="text" name="pon" value="'.$pon.'"></td>'
  16. .'<td><input type="text" name="wto" value="'.$wto.'"></td>'
  17. .'<td><input type="text" name="sr" value="'.$sr.'"></td>'
  18. .'<td><input type="text" name="czw" value="'.$czw.'"></td>'
  19. .'<td><input type="text" name="pio" value="'.$pio.'"></td>'
  20. '</tr>';
  21. }
  22. echo '</table>';
  23. }
shreker
zgadza się ToAr, jeśli chodzi o wyświetlenie danych już istniejących to już doszedłem wcześniej do tego (kod nieco inny ale efekt ten sam), mam natomiast problem z aktualizacją danych, to znaczy jeśli chodzi o update do bazy. podejrzewam że trzeba by było stworzyć tablice, ale nie mam pojęcia jak to zrobić. o ile dla pojedynczego wiersza sprawa jest prosta to dla wielu już się komplikuje.
ToAr
do nazw inputów pododawaj nawiasy kwadratowe []

np.

  1. <input type="text" name="godzina[]" value="'.$godzina.'">


dodaj ukryte pole odpowiedzialne za id

  1. <input type="text" name="plan_id[]" value="'.$id.'">


w formularzu umieść ukryte pole, które będzie przechowywać liczbę wierszy

  1. <input type="text" name="count" value="'.$numrows.'">


aktualizacja będzie się odbywać w pętli

  1. for($i = 0; $i < $_POST['count']; $i++) {
  2. mysl_query("UPDATE plany SET godzina = '".$_POST['godzina'][$i]."', pon= '".$_POST['pon'][$i]."', wto= '".$_POST['wto'][$i]."', sr= '".$_POST['sr'][$i]."', czw= '".$_POST['czw'][$i]."', pio= '".$_POST['pio'][$i]."' WHERE id = '".$_POST['plan_id'][$i]."'");
  3. }
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.