Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][SQL]Jak dodać zmienne do bazy mysql
Forum PHP.pl > Forum > Przedszkole
kamikaze1945
Witam. Jestem w trakcie pisania inżynierki. Moje zadanie to napisać program wspomagający "Kucharza". Kucharz po otrzymaniu zamówienia przez klienta musi otrzymać ilość potrzebnych składników do przygotowania potraw. Aby to otrzymać muszę napisać program od podstaw. Największy problem to jak dodać kilka składników do tabeli "skladniki_przepisu". Składniki pobieram z tablicy "skladniki". Jak myślicie- czy muszę przerobić jeszcze tabele składniki_przepisu wydzielając je tylko na same składniki dla określonego przepisu ? Oto moja baza danych:
http://www.f4a.eu/uplGRA/12106153104438.png

Tak wyglada mój plik wpisujący dane:
  1. <?php
  2.  
  3. require('dbmysql.inc.php');
  4. $db->new DBMysql();
  5. $db-> Conect();
  6.  
  7. if($_POST[op]=="dodaj") {
  8. if((isset($_POST[id_wyb_gat] != "")) || (isset($_POST[id_przepisu] != "")) || (isset($_POST[id_skladnika] != ""))||(isset($_POST[ilosc] != "")) || (isset($_POST[id_wyb_jed] != "")) || (isset($_POST[opis] != "")) || (isset($_POST[kalorie] != "")) {
  9.  
  10. //zmienne
  11. $id_wyb_gat = $_POST['id_wyb_gat'];
  12. $id_przepisu = $_POST['id_przepisu'];
  13. $id_skladnika = $_POST['id_skladnika'];
  14. $ilosc = $_POST['ilosc'];
  15. $id_jednostki = $_POST['id_wyb_jed'];
  16. $opis = $_POST['opis'];
  17. $kalorie = $_POST['kalorie'];
  18.  
  19.  //dodaje informacje do tabeli składniki przepisu
  20.  $dodaj ="INSERT INTO skladniki_przepisu VALUES('', '".$id_wyb_gat."', '".id_skladnika."','".$id_przepisu."', '".$ilosc."', '".$id_jednostki."', '".$opis."', '".$kalorie."')";
  21.  mysql_query($dodaj);
  22.  
  23. }
  24. } 
  25. ?>


Dodawane składniki wyciągane są z kat_skladnik czyli na stronie wyświetla się za pomocą select'a np.:
warzywa----ogórki kiszone---Ilość:500----gram

Pewnie będe musiał napisać skrypt dodający kolejny składnik, ale to już inny wątek. Główny problem to jak dodawać kilka składników do tabeli składniki_przepisu zapisane w id_skladniki_przepisu:( Jak wiadomo każdy jeden przepis może mieć "n"-skladników. Proszę o pomoc
jacekl
Żeby dodać składnik do potrawy, musisz wiedzieć tylko: co, ile i do której potrawy.

Wszystko, co dotyczy ogólnie danego składnika, a nie jego obecności w danej potrawie (np. opis, kaloryczność), wywal do tablicy "skladniki". Chyba że to ma być opis przepisu a nie składnika, ale wtedy też nie powinien być w "skladniki_przepisu", lecz w "przepis".

W "skladniki_przepisu" powinny zatem zostać tylko nastepujące pola: id_skl_przepisu, przepis_id_przepisu, skladnik_id_skladniki, jed_wag_id_jednostk i ilosc.

Nie wiem też po co w "skladniki_przepisu" dałeś przepis_gatunek_id_gatunek?

Powodzenia,

JL
kamikaze1945
Tabela "skladniki_przepisu" ma zawierać "składniki" dotyczące tabeli przepis podpożadkowany jednemu "id_przepis". Nie wiem, czy dobrze stworzyłem "INSERT INTO...", który ma dodawać dane do tabeli "skladniki_przepisu". Głowny problem, to jak dodać do jednego id_przepisu tyle składników ile wymaga dany przepis, tak aby id_przepisu nie powielało się. Dodawanie składników będe musiał chyba napisać dynamicznie uzywając js na zasadzie tabel, dodając przycisk "DODAJ NOWY SKŁADNIK"
(czyli np.
  1. <?php
  2. <option value= $id_składnika[0]> $nazwa_skladnika[0]<> )
  3. ?>

,które będa przekazywane do mojego INSER INTO powyższego skryptu ?A jak oceniasz moją bazę danych ? Czy według Ciebie prawidłowo zbudowałem ?
jacekl
Cytat
Głowny problem, to jak dodać do jednego id_przepisu tyle składników ile wymaga dany przepis, tak aby id_przepisu nie powielało się


Dlaczego id_przepisu ma się nie powielać? W skladniki_przepisu powinno być tyle rekordów z danym przepis_id, ile składników wchodzi w skład tego przepisu.

Co do budowy bazy, to w poprzednim poście napisałem, co bym zmienił.

JL
webdice
Proszę uzupełnić post o brakujący znacznik bbcode, w przeciwnym wypadku temat zostanie zamknięty.
kamikaze1945
Masz rację. Dziekuję za pomoc. Po Twoim pierwszym poście przemyślałem ten skrypt i masz rację id_przepisu moze przecież powtarzać się i tak wyciągnie się z bazy danych określony przepis smile.gif
Cysiaczek
+10% do poziomu ostrzeżeń za zignorowanie polecenia Opiekuna
Zamykam - temat zostanie otwarty po przesłaniu do któregoś z opiekunów/moderatorów poprawionego tematu
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.