Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Formularz zapisu do bazy
Forum PHP.pl > Forum > Przedszkole
twinlight
Witam,

Z racji tego, że raczkuję dopiero w temacie programowania proszę o opinię na temat tego co wykonałem oraz o wskazówki jak to ewentualnie wykonać lepiej.

Mam tabelę 'osoba', która zawiera kolumny: imie, nazwisko, kod. Do tabeli głównej o nazwie 'glowna' wpisów dokonuje się za pomocą formularza, w którym oprócz pól tekstowych jest lista wybieralna pozwalająca wybrać dane osoby.

Na stronie www dane mają się wyświetlać w dwóch linijkach tj. imię i nazwisko w jednej, a kod w drugiej.

Część kodu odpowiedzialna za wyświetlanie listy osób i zapis do bazy wygląda tak:

  1. $pobierzdane="SELECT imie, nazwisko, kod FROM osoba";
  2. $wynik = mysql_query ($pobierzdane);
  3.  
  4. echo "<select name=osoba>";
  5. while($nt=mysql_fetch_array($wynik))
  6. {
  7. echo "<option value='$nt[imie] $nt[nazwisko] <br /> kod: $nt[kod]'>$nt[imie] $nt[nazwisko] kod: $nt[kod]</option>";
  8. }
  9. echo "</select>";



Dane w tabeli głównej bazy danych zapisują się jako np. Jak Kowalski <br /> AB123456.
Wyświetlanie na stronie realizowane jest tak:

  1. $wybor = "SELECT * FROM glowna WHERE id=$id";
  2. $wynik = mysqli_query($db, $wybor);
  3. $row = mysqli_fetch_assoc($wynik);
  4.  
  5. <div>'.$row['osoba'].'</div>



Zrobiłem to chyba najprościej jak można i działa. Pytanie tylko czy jest to poprawnie wykonane i jeśli nie to jak to zrobić w inny sposób? Prośba o wskazówki.

Pozdrawiam,
Zbyszek
CuteOne
1. Indeksy tablic zapisujemy w apostrofach $tablica['indeks']
2. Brak cudzysłowia w name=osoba i pozostałych atrybutach
3. Lepiej zapisywać string do zmiennej i potem go echować
4. Raz używasz mysql a innym razem mysqli - zdecyduj się
5. Po co w value opcji wypisujesz tyle danych?? gdy wystarczy podać ID rekordu
6. Kod html lepiej wstawiać za pomocą apostrofu dzięki czemu nie musisz używać \
  1. $write = '';
  2. $write .= '<select name="osoba">';
  3.  
  4. while($nt=mysql_fetch_array($wynik))
  5. {
  6. $write .= '<option value="'.$nt['id'].'">'.$nt['imie'].$nt['nazwisko'].' kod: '.$nt['kod'].'</option>';
  7. }
  8. $write .= '</select>';
  9.  
  10. echo $write;
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.