Preluare si salvare date din tabel HTML in baza de date
Discutii si intrebari legate de scripturi si functii JavaScript, jQuery si Ajax, cod JavaScript in general.
-
andras
- Mesaje: 430
Preluare si salvare date din tabel HTML in baza de date
Salut,
Cum salvez datele dintr-un tabel html (sa zicem ca are 10 linii si 5 coloane) in baza de date folosind PHP (si js sau jQuery)?
Tabelul l-am incadrat intr-un <form> si trebuie sa parcurg fiecare linie, sa salvez toate datele din linie in variabile sau array apoi cumva sa le duc intr-un fisier.php de unde sa le preiau in variabile PHP. Daca ar fi o singura linie ar fi simplu cu <form>, dar sint mai multe linii. Se recomanda sa am <form> pentru fiecare linie din <tbody>? Am auzit ca nu.
Ma intereseaza partea din html-> javascript-> fisier.php. De acolo cunosc partea php de salvare din PHP in MYSQL.
Si inca o intrebare tot aici: daca pun ceva de genul
este recunoscuta valoarea xxx in: $_POST['celula1'] sau $_GET['celula1']?
Multumesc.
MarPlo
Mesaje: 4343
Salut
Doar elemente de formular pot avea atribut "name" pentru a fi trimise la un script pe server.
Uite o functie JavaScript care returneaza un array 2-dimensional cu datele din <td> din fiecare rand.
Cu
JSON.stringify(array) se transforma array-ul intr-un sir cu format JSON.
Apoi, sirul il adaugi in GET sau POST in Ajax si-l trimiti la PHP.
In PHP se aplica
json_decode(); ca sa transformi sirul inapoi in array utilizabil in PHP.
Cod: Selectaţi tot
<script>
function getTableData(id) {
// function to get table cells data (from: https://coursesweb.net/ )
// receives table ID. Returns 2 dimensional array with TD data in each row
var t_rows = document.getElementById(id).querySelectorAll('tbody tr'); // rows from tbody
var t_data = []; // will store data from each TD of each row
var ix = 0; // index of rows in t_data
// gets and dds td data in t_data
for(var i=0; i<t_rows.length; i++) {
var row_tds = t_rows[i].querySelectorAll('td');
if(row_tds.length > 0) {
t_data[ix] = [];
for(var i2=0; i2<row_tds.length; i2++) t_data[ix].push((row_tds[i2].innerText || row_tds[i2].textContent));
ix++;
}
}
return t_data;
}
/* USAGE */
var get_table_tds = getTableData('t_id'); // get the array with table data
var json_sr_tds = JSON.stringify(get_table_tds); // JSON string with table data
// console.log(json_sr_tds); // for debug
// result: [["156","2668","100.95","1.82"],["256","618","10.35","1.82"],["789","28","105.8","15.89"]]
</script>
Tabel de test:
Cod: Selectaţi tot
<table id="t_id">
<tbody>
<tr>
<th>col_1</th>
<th>col_2</th>
<th>col_3</th>
<th>col_4</th>
</tr>
<tr>
<td>156</td>
<td>2668</td>
<td>100.95</td>
<td>1.82</td>
</tr>
<tr>
<td>256</td>
<td>618</td>
<td>10.35</td>
<td>1.82</td>
</tr>
<tr>
<td>789</td>
<td>28</td>
<td>105.8</td>
<td>15.89</td>
</tr>
</tbody></table>
andras
Mesaje: 430
MarPlo, o sa studiez pe indelete.
Dar ceva de genul :
Cod: Selectaţi tot
<form method="post" action="fisier.php">
<table><thead><th>coloana</th></thead><tbody><tr>
<td name="celula1"> xxx </td>
</tr></tbody>
</table>
</form>
pot folosi pentru preluarea xxx in $_POST['celula1']?
MarPlo
Mesaje: 4343
Nu
Probabil aflai mai repede daca incercai.
Doar elementele speciale de formular pot avea atribut "name" pentru a fi trimise la un script pe server (input, select, textarea).
Dar ca idee, ai putea sa adaugi in celula un <input> ascuns.
Cod: Selectaţi tot
<form method="post" action="fisier.php">
<table><thead><th>coloana</th></thead><tbody><tr>
<td>valoare <input type="hidden" name="celula1" value="valoare" /></td>
</tr></tbody>
</table>
</form>
andras
Mesaje: 430
Am incercat cu "hidden" dar n-am reusit pentru ca nu stiu sa pun din jQuery in hidden. Nu-i nimic, mai sap, poate reusesc.
Edit:
- Am rezolvat-o pana la urma, Preiau datele celulei in functia Ajax. In stop: se pune
Si apoi variabila "g" se preia in ajax().
Salut!
Subiecte similare
-
Tip de conectare la baza de date
Discutii si Intrebari Diverse
Primul mesaj
care este noul tip de fisier pentru conectara la baza de date?
Ultimul mesaj
In prezent, tipurile de conectare la baza de date folosind php sunt PDO si MySQLi. PDO (PHP Data Objects) se poate folosi pentru conectare si la alte...
-
Adaugare orar zilele saptamanii in baza de date
PHP - MySQL - XML
Primul mesaj
Salut
Am o baza de date cu toate locatiile
location_id | name |address |telephone | open
Si un formular prin care incarc datele in bd....
Ultimul mesaj
Treaba cu adaugare json in mysql e simpla, se rezuma la adaugarea unui sir care contine ghilimele duble.
Problema la tine e ca acele ghilimele sunt...
-
Select dupa mai multe coloane in baza de date
PHP - MySQL - XML
Primul mesaj
Salut
am si eu o baza de date zona_geografica in care am rubricile
id |nume_tara |nume_oras |id_tara |id_oras | nume_zona | id_zona | data
1 |...
Ultimul mesaj
Multumesc mult pentru ajutor .
-
Cip de calculator care procesează și stochează date ca un neuron
Divertisment si Jocuri
Inginerii de la EPFL au creat un nou cip de calculator care poate procesa și stoca date în același circuit. Este realizat folosind un material...
-
Tabel cu calorii pește şi variate
Discutii si Intrebari Diverse
Primul mesaj
<table border='1' style='background:#fefefe; text-align:center; margin:2px auto; font-size:18px' cellspacing='2' cellpadding='2'><caption...
Ultimul mesaj
<table border='1' style='background:#fefefe;text-align:center; margin:2px auto; font-size:18px' cellspacing='2' cellpadding='2'><caption...
-
script si cod html calculator calorii
Cereri si Oferte
Buna ziua
Va rog sa ma ajutati cu un script calculator calorii, vreau sal pun pe saitul meu. va rog daca e posibil in limba romana