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
- Afisare numar cel mai mare dintr o coloana
PHP - MySQL - XML Primul mesaj
Bună MarploUltimul mesaj
Vreau să extrag din coloan pret cel mai mare numar ca de exemplu 4444.
Mie imi afisează 54 în loc de 4444, dacă în loc de 4444 modific...
Am schimbat `pret` varchar(20) DEFAULT NULL in `pret` int(11) NOT NULL ca la tine si merge.
Multumesc - Creare meniu in site cu php
Scripturi de pe site Primul mesaj
SalutUltimul mesaj
Am incercat sa pun icons pe primul nivel al meniului din tutorialu tau: Creare site de la zero si nu reusesc sa il adaug pe butonele care...
Multumes pt ajutor
Este ok acum.
Din exeplul dat de tine am mai vazut ceva intersant si anume acel meniu asa zis breadcrumb cu ce ma selectat deja....