Bună!
Am un tabel într-o bază de date unde în cazuri de necesitate am nevoie să inserez o coloană nouă, dar acest lucru trebuie să îl produc din interiorul unei pagini de insert (în interfața pentru client) pentru a introduce noi ingrediente preparatului respectiv; cu ce comandă sau care ar fi cea mai bună soluție în această situație!?
Ce îmi recomandați?
Vă mulțumesc!
Creare dinamic coloană într-un tabel din MySQL
-
- Mesaje: 88
Creare dinamic coloană într-un tabel din MySQL
misat
Mesaje: 22
Daca inteleg corect, ai dori sa faci un anumit lucru pe server "dind o comanda" pe client fara a reincarca pagina....
Pentru acest lucru cea mai buna solutie este sa utilizezi ajax, utilizind javascript poti face cereri la serverul tau fara a reincarca pagina. Daca ai in pagina incarcat jQuery, atunci acesta ofera potibilitati de a utiliza ajax foarte simplu.
Pentru acest lucru cea mai buna solutie este sa utilizezi ajax, utilizind javascript poti face cereri la serverul tau fara a reincarca pagina. Daca ai in pagina incarcat jQuery, atunci acesta ofera potibilitati de a utiliza ajax foarte simplu.
MarPlo
Mesaje: 4343
Salut
Din ce am inteles, daca vrei sa creezi o noua coloana din php in tabel mysql, poti folosi acest cod:
Din ce am inteles, daca vrei sa creezi o noua coloana din php in tabel mysql, poti folosi acest cod:
Cod: Selectaţi tot
$sql ="ALTER TABLE table_name
ADD COLUMN column_name VARCHAR(1000) NOT NULL";
bvlucretiu
Mesaje: 88
Bună!
Am de fapt o pagină unde se crează rețete (culinare, dulciuri,etc.) și am nevoie, la introducerea ingredientelor, în raport de câte ingrediente am nevoie să introduc în pagină, un câmp de input (sau toate câmpurile de input necesare unui rând (ouă - buc - 3 sau făină - grame - 300, etc)) pentru adăugarea unui nou ingredient, astfel încât să nu afișez din start 10 rânduri de câmpuri cu input, să am opțiunea de a adăuga un nou rând de câmpuri input în raport de necesitate prin apelarea unui link, iar bineînțeles în cazul necesității mai multor coloane cu ingrediente(în cazul unei rețete cu mai multe ingrediente) în tabelul MySQL, să existe posibilitatea de a crea automat o coloană nouă pentru ingredientul respectiv!
Nu știu dacă am reușit să mă fac prea bine înțeles, dar cred că am fost cât se poate de explicit!
Vă mulțumesc pentru înțelegere și pentru interesul acordat!
Toate bune!
Am de fapt o pagină unde se crează rețete (culinare, dulciuri,etc.) și am nevoie, la introducerea ingredientelor, în raport de câte ingrediente am nevoie să introduc în pagină, un câmp de input (sau toate câmpurile de input necesare unui rând (ouă - buc - 3 sau făină - grame - 300, etc)) pentru adăugarea unui nou ingredient, astfel încât să nu afișez din start 10 rânduri de câmpuri cu input, să am opțiunea de a adăuga un nou rând de câmpuri input în raport de necesitate prin apelarea unui link, iar bineînțeles în cazul necesității mai multor coloane cu ingrediente(în cazul unei rețete cu mai multe ingrediente) în tabelul MySQL, să existe posibilitatea de a crea automat o coloană nouă pentru ingredientul respectiv!
Nu știu dacă am reușit să mă fac prea bine înțeles, dar cred că am fost cât se poate de explicit!
Vă mulțumesc pentru înțelegere și pentru interesul acordat!
Toate bune!
andras
Mesaje: 430
Mie nu-mi pare o idee prea buna sa modifici structura unui tabel din baza de date in functie de optiunile utilizatorului, dar ma rog, e doar parerea mea. Eu as rezolva altfel, poate o lista de ingrediente din care sa aleaga,poate o tabela de ingrediente, depinde de situatie.
bvlucretiu
Mesaje: 88
Bună!
Ok, pot eu să fac mai multe coloane în tabelul bazei de date și bineînțeles ingredientele toate sunt într-o listă, practic tot o coloană în același tabel care chiar și există, însă asta ar însemna să fac coloane suficiente pentru toate ingredientele plus cantitățile ingredientelor plus unitățile de măsură fiecărui ingredient și este ok și așa însă la încărcarea unei rețete noi aș dori să pot deschide câmpuri de input pentru fiecare nou ingredient, altfel spus să pornesc de la un rând de câmpuri input reprezentând cantitate, UM, ingredient și să am posibilitatea ca la necesitatea inserării unui nou ingredient în rețeta respectivă să pot deschide un nou rând de câmpuri input cu cantitate, UM, ingredient,!
Mulțumec, toate bune!
Ok, pot eu să fac mai multe coloane în tabelul bazei de date și bineînțeles ingredientele toate sunt într-o listă, practic tot o coloană în același tabel care chiar și există, însă asta ar însemna să fac coloane suficiente pentru toate ingredientele plus cantitățile ingredientelor plus unitățile de măsură fiecărui ingredient și este ok și așa însă la încărcarea unei rețete noi aș dori să pot deschide câmpuri de input pentru fiecare nou ingredient, altfel spus să pornesc de la un rând de câmpuri input reprezentând cantitate, UM, ingredient și să am posibilitatea ca la necesitatea inserării unui nou ingredient în rețeta respectivă să pot deschide un nou rând de câmpuri input cu cantitate, UM, ingredient,!
Mulțumec, toate bune!
andras
Mesaje: 430
N-as pune ingredientele in coloanele tabelului de retete, as folosi 3 tabele, tabela retete (cu id, denumire), tabela ingrediente (cu id, denumire, um) si a treia tabela ar fi reteta-ingredient de tip many-to-many care sa contina id-ul retetei si id-ul ingredientului (fiecare cimp este Foreign key catre tabela parinte corespunzatoare) si cantitate. As putea face astfel oricite combinatii doresc, la fiecare nou ingredient se adauga o noua inregistrare in tabela reteta-ingredient.
E doar o sugestie, nu stiu ce ai in baza de date, dar o relatie manytomany cred ca s-ar potrivi.
E doar o sugestie, nu stiu ce ai in baza de date, dar o relatie manytomany cred ca s-ar potrivi.
bvlucretiu
Mesaje: 88
Am înțeles idea, mulțumesc mult pentru ea însă acest aspect nu rezolvă problema pentru care eu am deschis acest subiect pe forum!
andras
Mesaje: 430
Am avut o aplicatie asemanatoare in care la actionarea unui buton se adaugau in pagina anumite elemente (select, input) imediat sub buton (la fiecare actionare a butonului se adauga un nou rind cu aceste elemente), am rezolvat cu o functie JavaScript, iar dupa introducerea tuturor elementelor necesare si dupa completarea lor aceste se salvau o singura data in baza de date cu o functie ajax. Functia JS arata asa:
genereaza elemente input, select (combo, cu date luate din tabele) si se foloseste de functia insertAdjacentHTML(), iar valorile elementelor sint de tip array. Te poti inspira din asta, nu stiu in ce masura te va ajuta dar am facut-o mai demult, deci am cam uitat, ti-am pus-o doar ca sugestie, cam cu atit te pot ajuta.
Cod: Selectaţi tot
<script>
function addTextField(elm, user, proiect, locatie, ore, ores){
//alert('');
var fld_nr='';
var varoff='Nu';
var varon='Da';
var valoff='0';
var valon='1';
var add_el ='';
/////////////////////////
add_el +='<div id="divux"> ';
add_el +='<br /> User'+ fld_nr +'<select required="required" name="df_user[]" style="max-width: 100px;">';
add_el +='<option ></option>';
for(var i=0; i< user.length; i++){
add_el +='<option value="'+ user[i][0] +'">'+ user[i][2] +'</option>';
}
add_el +='</select>';
add_el +=' Proiect'+ fld_nr +' <select required="required" name="df_proiect[]" style="max-width: 120px;">';
add_el +='<option ></option>';
for(var i=0; i< proiect.length; i++){
add_el +='<option value="'+ proiect[i][0] +'">'+ proiect[i][1] +'</option>';
}
add_el +='</select>';
add_el +=' Locatie'+ fld_nr +' <select required="required" name="df_locatie[]" style="max-width: 100px;">';
add_el +='<option ></option>';
for(var i=0; i< locatie.length; i++){
add_el +='<option value="'+ locatie[i][0] +'">'+ locatie[i][1] +'</option>';
}
add_el +='</select>';
add_el +=' Ore normale'+ fld_nr +' <select style="font-size: 14px; font-weight:bold;" required="required" name="df_ore[]">';
for(var i=0; i< ore.length; i++){
if (i==10) {add_el +='<option selected ="selected" value="'+ ore[i][0] +'">'+ ore[i][1] +'</option>';}
else {add_el +='<option value="'+ ore[i][0] +'">'+ ore[i][1] +'</option>';}
}
add_el +='</select>';
add_el +=' Ore suplim.'+ fld_nr +' <select style="font-size: 14px; font-weight:bold;" required="required" name="df_ores[]">';
for(var i=0; i< ores.length; i++){
if (i==0) {add_el +='<option selected ="selected" value="'+ ores[i][0] +'">'+ ores[i][1] +'</option>';}
else {add_el +='<option value="'+ ores[i][0] +'">'+ ores[i][1] +'</option>';}
}
add_el +='</select>';
add_el += ' Concediu'+ fld_nr +' <select style="font-size: 14px; font-weight:bold;" name="df_conc[]">';
add_el +='<option selected ="selected" value="'+ valoff +'">'+ varoff +'</option>';
add_el +='<option value="'+ valon +'">'+ varon +'</option>';
add_el +='</select>';
add_el += ' Conc.med.'+ fld_nr +' <select style="font-size: 14px; font-weight:bold;" name="df_concm[]">';
add_el +='<option selected ="selected" value="'+ valoff +'">'+ varoff +'</option>';
add_el +='<option value="'+ valon +'">'+ varon +'</option>';
add_el +='</select>';
add_el +=' Expl.'+ fld_nr +'<input type="text" name="df_expl[]" autocomplete="off" style="max-width: 120px;" /> ';
add_el +=' <img src="/atis/img/cancel_18.png" name="sterge[]" onclick="delElmP(this);"/> ';
add_el +='</div>';
elm.insertAdjacentHTML('afterend', add_el); //add the element
}
</script>
Subiecte similare
-
Formular dinamic cu jQuery
JavaScript - jQuery - Ajax
Primul mesaj
SalutUltimul mesaj
As dori sa fac un formular in care vreu sa pun pretul de transport in functie de greutate.
Si am greutatea minima , greutatea maxima ; cost...
La refresh nu raman fiindca nu sunt salvate undeva pentru a fi preluate.
Ca sa ramana si la refresh e necesar sa le salvezi intr-o baza de date,... -
Repetare un pas într-o buclă for in JS
JavaScript - jQuery - Ajax
Primul mesaj
Am o buclă for() precum aceasta care arată ce vreau să fac.Ultimul mesaj
for(var i=0; i<15; i++) {
// Add data in html
// When data has a specified...
Poti sa adaugi o condiție if() în buclă și cu ea verifici valorile acelor date.
Dacă are valoarea specificată, setează noile date dorite și scade 1... -
Afisare optiune selectata intr-un Div
JavaScript - jQuery - Ajax
Primul mesaj
Cum pot face ca atunci cand e selectata o optiune dintr-o lista <select> sa fie afisata intr-un Div valoarea acelei optiuni.Ultimul mesaj
Am acest cod...
Cu JavaScript adaugi un eveniment 'change' la elementul <select> care se va declansa cand o optiune e selectata.
In interiorul acelui... -
Cautare serie de cuvinte intr-un sir in php
PHP - MySQL - XML
Primul mesaj
Am o listă de cuvinte spam care se află într-un array. Când un utilizator trimite un text șir, vreau să știu dacă textul conține vreunul din aceste...Ultimul mesaj
Ai putea sa adăugi cuvintele spam într-un șir, cu | ca separator de cuvinte și apoi folosesti Regex pentru a verifica.
$my_words =... -
Raspberry Pi 400 - un întreg PC într-o tastatură
Divertisment si Jocuri
Computerele desktop pot fi destul de voluminoase, ceea ce nu este necesar pentru persoanele care au nevoie doar să acceseze internetul sau să lucreze...
-
adaugare element nou intr-un array de obiecte
PHP - MySQL - XML
Primul mesaj
Salutare,Ultimul mesaj
Am un array de obiecte sub forma aceasta:
$sql =
si un aray de forma aceasta:
$tipuri =
Cum pot adauga in primul array inca...
primesc o eroare pe linia json_decode($sql, true); , eroare este: json_decode() expects parameter 1 to be string, array given
Am rezolvat problema...