Adaugare butoane la listare din mysql
Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
-
giulian9
- Mesaje: 44
Adaugare butoane la listare din mysql
Salutare , acest site m-a ajutat mult pana acum.
Sunt blocat intr-o listare mysql care e putin mai complicata pentru cunostintele mele.
Listez baza de date in html folosind:
Problema de care m-am lovit e faptul ca fiecare inregistare trebuie sa aiba 5 butoane ( Confirmare , Respingere , Stergere, Detalii ) . Mai exact baza de date contine datele clientilor ce vor sa se inregistreze , iar dupa listare trebuie sa fiecarui buton sa ii fie atribuita o functie . spre ex. Confirmare -> Se genereaza nr de inregistrare , Clientul primeste email cu nr generat intr-un fisier pdf s.a.m.d..
Ideea ca listarea e cu "bucla" while si orice schimb in prima coloana se modifica si la ceilalti. Are cineva idee cum as putea sa fac listarea / eventual schimba ceva la butoane ca sa pot modifica fiecare inregistrare (individual).
Stima
MarPlo
Mesaje: 4343
Salut
Daca ai pune codul php pe care ai incercat sa-l faci, si ce cod html ai vrea sa rezulte, pate are cineva o idee sau solutie ajutatoare.
giulian9
Mesaje: 44
Cod: Selectaţi tot
result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo '<table align="center" border=3 width="50%" height="100">';
echo '<tr><th>Firma</th><th>Data</th><th>Nr.Inreg</th><th>Articol</th></tr>';
echo '<tr><td>'. $row['Firma']. '</td><td> '. $row['Data']. '</td> <td> '. $row['Nr.Inreg']. '</td><td colspan="5"> '. $row['Articol']. '</td>
<td style="background-color:#f3f3f3" colspan="4" valign="middle" align="center"><input type ="button" value = "Confirmare" name="Confirmare"></button><input type ="button" value = "Refuz" name="Refuz"></button><input type ="button" value = "Stergere" name="Stergere"></button><input type ="button" value = "Mentiune" name="Mentiune"></button><input type ="button" value = "Detalii" name="Detalii"></button></tr> ';
}
}
else {
echo 'Fara Informatii ! !';
}
echo '</table>';
Eu incerc sa fac ceva de genul in javascript:
Cod: Selectaţi tot
function OnConfirmare() {
document.Form1.action = "<?php include('database.php');
// generare nr inreg
// mail catre client
?>"
// document.Form1.target = "_blank"; // Open in a new window
document.Form1.submit(); // Submit the page
return true;
}
.., ca sa pot atribui o functie butonului , insa fiind intr-o bucla ...nu am idee / cunostinte
MarPlo
Mesaje: 4343
Poti sa faci asa:
1. Adaugi butoanele intr-un <div> cu "class" si "id"-ul randului din mysql pentru folosire in javascript:
Cod: Selectaţi tot
<td style="background-color:#f3f3f3" colspan="4" valign="middle" align="center"><div class="frm_btns" id="frm_'. $row['id'] .'">
<input type ="button" value = "Confirmare" name="Confirmare"></button><input type ="button" value = "Refuz" name="Refuz"></button><input type ="button" value = "Stergere" name="Stergere"></button><input type ="button" value = "Mentiune" name="Mentiune"></button><input type ="button" value = "Detalii" name="Detalii"></button>
</div></td>
2. In codul html, dupa tabelul cu listarea, adaugi un <form> cu campuri "hidden" pt. id si actiunea butonului apasat, si scriptul JS din acest cod, care inregistreaza "click" la butoanele din acel <div> sa trimita datele la "scriptul.php".
Cod: Selectaţi tot
<table align="center" border="3" width="50%" height="100">
...
</table>
<form action="scriptul.php" method="post" target="_blank" id="frm_send">
<input type="hidden" name="mode" value="">
<input type="hidden" name="id" value="">
</form>
<script>
//get the clicked button, add mode and id data in form #frm_send, send the form
function sendFrm(btn){
frm_send.mode.value= btn.value;
frm_send.id.value= btn.parentNode.id.replace('frm_', '');
frm_send.submit();
}
var frm_send = document.getElementById('frm_send'); //form to add and send data
//register click to buttons in .frm_btns, to call the sendFrm()
var all_btns = document.querySelectorAll('.frm_btns input');
for(var i=0;i<all_btns.length;i++) all_btns[i].addEventListener('click', function(ev){ sendFrm(ev.target);});
</script>
3. In acel fisier php preiei si folosesti cum stii datele trimise:
Cod: Selectaţi tot
if(isset($_POST['mode']) && isset($_POST['id'])){
$mode = strip_tags($_POST['mode']);
$id = (int) $_POST['id'];
//etc..
}
giulian9
Mesaje: 44
Multumesc Marplo . Ruleaza ok ,pot identifica ce buton a fost ales, insa ma lovesc de aceeasi dilema care o aveam la inceput , cum identific pe ce linie sunt(daca sunt la clientul 1 sau 2 ,3 etc) , id = 0 indiferent ce buton aleg .
MarPlo
Mesaje: 4343
ID-ul ar trebui sa fie in aceasta bucata de cod (poti sa verifici in sursa html a paginii cum e rezultat):
Cod: Selectaţi tot
<div class="frm_btns" id="frm_'. $row['id'] .'">
- unde $row['id'] e id-ul randului respectiv din baza de date. Ca sa functioneze, trebuie si el selectat in instructiunea sql care face Select-ul, impreuna cu celelalte coloane, dupa cum ai denumirea coloanei pentru id-ul randului din tabelul mysql.
giulian9
Mesaje: 44
giulian9 scrie:Multumesc Marplo . Ruleaza ok ,pot identifica ce buton a fost ales, insa ma lovesc de aceeasi dilema care o aveam la inceput , cum identific pe ce linie sunt(daca sunt la clientul 1 sau 2 ,3 etc) , id = 0 indiferent ce buton aleg .
Edit: Am adaugat Id la interogarea sql ( se pare ca uitasem ) si functioneaza. Ramane sa merg mai departe cu filtre / sortare pentru fiecare buton in parte .
Subiecte similare
-
Adaugare apostrof la value in input cu JavaScript
JavaScript - jQuery - Ajax
Primul mesaj
Am un cod JavaScript care adaugă un câmp input pentru utilizator:
var user = O'Conner, John ;
b.innerHTML += <input type='hidden' value=' +...
Ultimul mesaj
Poți să înlocuiesti caracterul cu entitatea lui HTML.
Astfel, pentru apostrof (') poate fi ’ sau ‘
var user = O'Conner,...
-
adaugare element nou intr-un array de obiecte
PHP - MySQL - XML
Primul mesaj
Salutare,
Am un array de obiecte sub forma aceasta:
$sql =
si un aray de forma aceasta:
$tipuri =
Cum pot adauga in primul array inca...
Ultimul mesaj
primesc o eroare pe linia json_decode($sql, true); , eroare este: json_decode() expects parameter 1 to be string, array given
Am rezolvat problema...
-
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...
-
Gasire element in array si adaugare ca prim index
JavaScript - jQuery - Ajax
Primul mesaj
Se presupune urmatorul array cu persoane:
const arr =
Vreau sa caut un anume 'name' in acel array, iar daca exista sa fie pus la inceput, cu...
Ultimul mesaj
Poti sa sortezi array-ul cu metoda sort() .
Codul urmator muta in fata (la inceput) toate obiectele cu proprietatea 'name'.
const arr = ;
let...
-
Update de la mysql la mysqli
PHP - MySQL - XML
Primul mesaj
Buna seara,
caut sa inteleg dar nu pot. Am in site acest script care a functionat si functioneaza inca dar nu cu versiuni noi de PHP, cum ar fi 7....
Ultimul mesaj
In mysqli nu se foloseste mysql_query($sql).
Modulul mysqli e bazat pe obiecte si foloseste: $mysqli->query($sql);
Unde $mysqli e obiectul...
-
mysql Update dupa nume
PHP - MySQL - XML
Primul mesaj
Salutari,
Incerc de ceva timp sa fac sa imi salveze informatiile jucatorului in baza de date, o data inserate vreau atunci cand gaseste din nou...
Ultimul mesaj
Cand se creaza tabelul in baza de date, coloana nickname trebuie sa fie de tip UNIQUE KEY .
Iar id-ul ar trebui sa fie o valoare care sa nu o mai...