Salutare....
Am citit ceva despre bazele de date, ma descurc oarecum cu crearea si extragerea datelor din ele si acum vreau sa invat si cum se pot modifica datele dintr-un tabel dar vreau sa fac asta intr-un anumit fel si nu stiu cum.
Mai pe scurt, vreau sa inserez informatiile dorite intr-un camp de text "textarea", adica, sa selectez id-ul sau numele postarii respective si atunci cand apas un buton sa imi apara in formular articolul pe care vreau sa-l modific.
Am mai intalnit pe unele forumuri aceasta posibilitate, nu vreau scripturi, vreu doar cateva opinii care sa ma lamureasca macar daca pot face asta cu php si ce anume sa citesc.
Multumesc!
Adaugare date din baza de date in formular pt modificare
-
- Mesaje:21
Adaugare date din baza de date in formular pt modificare
steell
Mesaje:190
Selectezi in formular id-ul postarii respective asa cum ai zis si dupa ce trimiti formularul selectezi din baza de date postarea cu id-ul respectiv si o afisezi in interiorul tagului textarea cum ai spus si tu, dupa care cand trimiti formularul respectiv faci update pentru a inlocui informatia din postarea respectiva. Ca sa faci update folosesti interogarea de genul acesta :
In ceea ce vrei sa faci conteaza cat de mult te duce capu sa faci scriptul respectiv (o modalitate, un algoritm). O solutie ar fi cu javascript cand alegi postarea dintr-un tag <select> sa o extraga din baza de date si sa o puna in textarea (cu ajax sau cu load). Alta solutie ar fi doar cu php si doua formulare, unul cu tagul select ce contine postarile si dupa ce tirmiti formularul asta afisezi in alt formular in tagul textarea informatia postarii respective. Varianta a doua merge si cu un singur formular nu neaparat cu doua, doar ca trebuiesc puse niste conditii. Succes.
Cod: Selectaţi tot
UPDATE tabel SET coloana1='noua valoare a coloanei 1', coloana2='noua valoare a coloanei 2' WHERE conditii;
MarPlo
Mesaje:4343
Salut
Uite un exemplu de cod din care sa te inspiri:
Uite un exemplu de cod din care sa te inspiri:
Cod: Selectaţi tot
<?php
// Se face conectarea la baza de date
// Select pt a adauga id-urile intr-un <select>
$sql = "SELECT id FROM nume_tabel";
// Se efectueaza comanda sql, se preia datele si se creaza formular cu <select> cu id-uri
$sel = '<form action="this_file.php" method="post"><select name="id"><option>Id-uri</option>';
while($row = $result->fetch()) {
$sel .= '<option value="'. $row['id']. '">'. $row['id']. '</option>';
}
$sel .= '</select><br/><input type="submit" value="Get Data" /></form>';
echo $sel; // afiseaza formularul cu id-uri
// daca e primit id
if(isset($_POST['id'])) {
// selecteaza datele de la acel id, si le adauga intr-un formular
$id = intval($_POST['id']);
$sql = "SELECT * FROM nume_tabel WHERE id=$id LIMIT 1";
// Se efectueaza comanda sql, se preia datele
$form = '<form action="this_file.php" method="post"><input type="hidden" name="idup" value="'. $id .'" />';
$row = $result->fetch();
// creasza formularul, id-ul retinut in camp ascuns, va fi folosit la update
$form .= 'Title <input type="text" name="title" value="'. $row['title'] .'" /><br/>
Description<br/>
<textarea name="description">'. $row['description'] .'</textarea><br/>
<input type="submit" value="Update" /></form>';
echo $form;
}
else if(isset($_POST['idup'])) {
// daca e primit id-ul pt update, preia datele si se face UPDATE la randul cu acel id
$sql = "UPDATE nume_tabel SET title='$title', description='$description' WHERE id = $idup";
// se efectueaza update ...
}
crissti777
Mesaje:21
Ok, multumesc...o sa ma uit pe coduri sa vad ce pot face, defapt stau pe ele pana reusesc si mai rsvin atunci cu un mesaj, o sa ma limitez doar la php pt ca abia il stapanesc pe asta de alte limbaje nu sw poate pune problema.
crissti777
Mesaje:21
Revin din nou, am urmat oarecum ce e scris mai sus dar nu am reusesc sa inteleg in totalitate si am modificat si dupa intelesul meu dar si dupa ceea ce vreau eu sa fie, am reusit pana la extragerea datelor din tabel si afisarea lor dar cand sa le introduc din nou modificate in tabel nu mai merge, probabil e ceva gresit, am sa trec mai jos codul pana unde functioneaza si dupa ceea ce nu merge....
Iar asta e partea care vreau sa o folosesc pt update, ceva asemanator folosesc intr-un alt script mai simplu unde imi functioneaza:
Ce ar mai fi de facut? mi-am batut capul o zi si degeaba
Cod: Selectaţi tot
//aici am pus datele pt conectare la bd in formulare iar ele intr-o variabila
$nht = "<form action='index.php' method='POST'>
<select name='numehost'>
<option value='localhost'>localhost</option>
</select>
<select name='numeutilizator'>
<option value='crissti'>crissti</option>
</select>
<input type='password' name='parola' placeholder='parola' size='10' value=''/>
<select name='bazadedate'>
<option value='bd_bancuri'>bd bancuri</option>
</select>
<select name='numetabel'>
<option value=''>tabele</option>
<option value='bancuri'>bancuri</option>
<option value='tabelul_doi'>tabelul 2</option>
</select><br>";
echo $nht;
// conectare la baza de date
if(isset($_POST['submit']))
{
$numehost = $_POST["numehost"];
$numeutilizator = $_POST["numeutilizator"];
$parola = $_POST["parola"];
$bazadedate = $_POST["bazadedate"];
$connect = mysql_connect($numehost,$numeutilizator,$parola) or die("<center>Eroare: Conexiune nereusita!!</center>" . mysql_error());
$select = mysql_select_db($bazadedate) or die("<center><font id='paragraf'><b><i>Eroare: Selectare nereusita!!</i></b></font><br></center>" . mysql_error());
}
// selectare tabel, id si titlu postului ce urmeaza modificat
@$numetabel = $_POST['numetabel'];
$sql = mysql_query ("SELECT `id`,`titlu` FROM `$numetabel`");
if(isset($_POST['submit']) && $numetabel == 'bancuri')
{
$selid = "<hr color='#ffffff'><select name='id'><option>Id-uri</option>";
$seltitlu ="<select name='titlu'><option>titluri</option>";
while($row = mysql_fetch_array($sql))
{
$id1 = $row['id'];
$titlu1 = $row['titlu'];
$selid .= '<option value="'. $row['id']. '">'. $row['id']. '</option>';
$seltitlu .= '<option value="'. $row['titlu']. '">'. $row['titlu']. '</option>';
}
$selid .= '</select>';
$seltitlu .= '</select>';
$id1 = $row['id'];
echo $selid . $seltitlu;
@$id2 = $_POST['id'];
$sql = mysql_query("SELECT `titlu`,`banc` FROM `$numetabel` WHERE `id`='$id2'");
while($row = mysql_fetch_array($sql))
{
$titlu = $row['titlu'];
$banc = $row['banc'];
$seltitlu1 = ' </center> <hr color="#ffffff"><input type="text" name="tit" value="'.$row['titlu'].'"></input>';
$selbanc = '<center><textarea name="ban" value="'.$row['banc'].'" rows="15" cols="65">'.$row['banc'].'</textarea>';
}
echo @$seltitlu1 . @$selbanc;
//pana aici merge, mai apareau niste mici erori dar le-am stopat cu @
Cod: Selectaţi tot
//aici iau datele pe care le am extrase din bd in campul textarea
@$banc1 = $_POST['ban'];
//aici am id-ul liniei unde trebuie facut update-ul
@$id2 = $_POST['id'];
//aici se face udate
@$sql = "UPDATE `$numetabel` SET `banc`='$banc1' WHERE `id`='$id2'";
pe langa asta am incercat si alte variante dar n-a mers, am vrut sa pun dupa sql asta:
if ($conn->query($sql))
{
echo "Datele selectate au fost modificate cu succes!!</center>";
}
else
{
echo "Error: " . $conn->error . ;
}
MarPlo
Mesaje:4343
Ascunderea erorilor cu "@" nu rezolva problema, mai bine sa rezolvi cauza lor, si inveti sa lucrezi fara erori.
Incearca comanda SQL fara ghilimele la valori numerice (id), asa ("echo $sql este ca sa vezi ce instructiune contine acel sir, sa poti vedea daca e corecta):
Incearca comanda SQL fara ghilimele la valori numerice (id), asa ("echo $sql este ca sa vezi ce instructiune contine acel sir, sa poti vedea daca e corecta):
Cod: Selectaţi tot
$sql = "UPDATE `$numetabel` SET `banc`='$banc1' WHERE `id`=$id2";
echo $sql;
crissti777
Mesaje:21
OK incerc acum, acele variabile care au @ dadeau eroare pt ca imi spunea in pagina ca nu sunt gasite, cu toate astea existau si functionau in cadru scriptului, de asta le-am ascuns eroarea
Subiecte similare
- Adaugare orar zilele saptamanii in baza de date
PHP - MySQL - XML Primul mesaj
SalutUltimul mesaj
Am o baza de date cu toate locatiile
location_id | name |address |telephone | open
Si un formular prin care incarc datele in bd....
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... - Modificare cod Animated musical notes
HTML - XHTML - CSS Primul mesaj
Fiindca astazi suntem in 31 decembrie 2020, va doresc un sincer La multi ani si toate cele bune in 2021. :)Ultimul mesaj
Sincer sa fiu, am imprumutat un cod de...
Multumesc pentru raspuns si pentru solutia de cod. - Eroare la un formular cu PHP
PHP - MySQL - XML Primul mesaj
Salut. Am si eu o problema. In primul rand nu stiu daca am postat unde trebuie si am cautat pe forum ceva asemanator cu problema mea insa nu am...Ultimul mesaj
Am rezolvat. Multumesc oricum pentru timpul acordat. Am folosit phpmailer pt ca cei de unde am webhostul asa lucreaza. Multumesc inca o data ! - Formular de contact cu upload imagini
Scripturi de pe site Primul mesaj
Salutare si la multi ani!Ultimul mesaj
Revin cu o intrebare pentru scriptul formular de contact, de la pagina: marplo.net/php-mysql/formular_contact
Este...
M-am uitat pe codul din formularul de contact.
Am decis sa nu ma complic cu asa multe adaugari si verificari in acel script.