problema functia DELETE
-
- Mesaje:500
problema functia DELETE
am facut asa cum ai zis si imi merge codul, am pus 2 in loc de '$id_materie' si mi-a sters cel care trebuia. am pus codul care mi l-ai dat dar nu imi da nici o eroare. cu stima trif
M-am hotarat!
De ce sa fiu trist?
Oricum nu intereseaza pe nimeni...!
Mai bine sunt fericit si ii enervez pe toti cu fericirea mea!
http://www.cantaricrestine.ro
---> cu stima Trif
De ce sa fiu trist?
Oricum nu intereseaza pe nimeni...!
Mai bine sunt fericit si ii enervez pe toti cu fericirea mea!
http://www.cantaricrestine.ro
---> cu stima Trif
MarPlo
Mesaje:4343
In cazul asta, daca punand direct numar (2) a mers, dar cu '$id_materie' nu merge, problema e la acea variabila, poate nu preia valoarea prin codul care-l ai $id_materie=($_POST['id_materie']);.
Poti verifica cu echo $id_materie;.
Poti verifica cu echo $id_materie;.
trif
Mesaje:500
nu imi selecteaza cu echo $id_materie;, dar faza este ca sunt corect scrise si ce are de nu preia si cum sa fac sa inlocuiesc $id_materie=($_POST['id_materie']); si sa imi ia si sa isi indeplineasca misiunea. cu stima trif
M-am hotarat!
De ce sa fiu trist?
Oricum nu intereseaza pe nimeni...!
Mai bine sunt fericit si ii enervez pe toti cu fericirea mea!
http://www.cantaricrestine.ro
---> cu stima Trif
De ce sa fiu trist?
Oricum nu intereseaza pe nimeni...!
Mai bine sunt fericit si ii enervez pe toti cu fericirea mea!
http://www.cantaricrestine.ro
---> cu stima Trif
MarPlo
Mesaje:4343
Daca in scriptul PHP ai
$id_materie = $_POST['id_materie'];
In formularul care trimite datele la script trebuie sa ai un camp cu atributul name="id_materie"
- Mai mult este explicat in lectia Lucru cu formulare
Daca valoarea e transmisa prin URL, la preluare se foloseste $_GET (nu $_POST), e deja explicat in pagina de la link-ul dat mai sus.
Deci, $_POST['id_materie']
$id_materie = $_POST['id_materie'];
In formularul care trimite datele la script trebuie sa ai un camp cu atributul name="id_materie"
- Mai mult este explicat in lectia Lucru cu formulare
Daca valoarea e transmisa prin URL, la preluare se foloseste $_GET (nu $_POST), e deja explicat in pagina de la link-ul dat mai sus.
Deci, $_POST['id_materie']
Komfort
Mesaje:157
if(isset($_POST['submit']))
{
nu inteleg dc a mai pus si conditia asta...
nu putea direct? $id=$_post['id'];
etc
etc?:(?
multumesc
{
nu inteleg dc a mai pus si conditia asta...
nu putea direct? $id=$_post['id'];
etc
etc?:(?
multumesc
MarPlo
Mesaje:4343
Se pune conditia if(isset($_POST['submit'])) pentru a se asigura ca acel cod se executa doar cand exista $_POST['submit'], altfel apar erori daca pagina respectiva e apelata fara a trimit date, de exemplu, initial pt. afisare.
trif
Mesaje:500
salut, am reusit sa modific alt cod mai complex dar nu imi functioneaza functia DELETE. uite codul
codul care l-am modificat este:
cu stima trif
Cod: Selectaţi tot
$host = "localhost";
$utilizator = "root";
$parola = "pass";
$numebd = "bd";
$conn = mysql_connect($host, $utilizator, $parola);
if (!$conn) {
echo 'Conectare nereusita la MySQL';
exit;
}
if (!mysql_select_db($numebd, $conn)) {
echo 'Baza de date nu a putut fi selectata deoarece : '. mysql_error();
exit;
}
$sql = "SET NAMES 'utf8'";
mysql_query($sql, $conn);
// Afla cate linii sunt in tabel (MODIFICATI 'un_gand') din baza de date
$sql="SELECT * FROM un_gand ORDER BY id DESC";
$result = mysql_query($sql, $conn) or trigger_error(E_USER_ERROR);
$r = mysql_fetch_row($result);
$numrows = $r[0];
// Stabileste numarul de linii din tabel afisate in pagina
$rowsperpage = 2;
// afla numarul total necesar de pagini
$totalpages = ceil($numrows / $rowsperpage); // ceil face rotunjire la int. maxim
// Obtine pagina curenta sau seteaza default
if (isset($_GET['currentpage']) && is_numeric($_GET['currentpage'])) {
// seteaza variabila ca int
$currentpage = (int) $_GET['currentpage'];
} else {
// pagina care este initial afisata (pagina default)
$currentpage = 1;
}
// daca pagina curenta e mai mare decat total pagini...
if ($currentpage > $totalpages) {
// seteaza pagina curenta la ultima pagina
$currentpage = $totalpages;
}
// daca pagina curenta e mai mica decat prima pagina...
if ($currentpage < 1) {
// seteaza pagina curenta la prima pagina
$currentpage = 1;
}
// lista cu pagini, in functie de pagina curenta
$offset = ($currentpage - 1) * $rowsperpage;
// obtine datele din tabel (MODIFICATI 'un_gand') din baza de date
$confirm_message = "'Stergeti maxima din baza de date?'";
$litera = $_GET['id'];
$sql="SELECT * FROM `un_gand` WHERE `mesaj` LIKE '$litera%' ORDER BY id DESC LIMIT $offset, $rowsperpage";
$result = mysql_query($sql, $conn) or trigger_error(E_USER_ERROR);
echo '<center><table border="0" width="450" >';
// parcurgerea matricei cu datele obtinute
while ($rand=mysql_fetch_array($result)){
echo '<tr> <td><b><div align="left"> '.$rand['mesaj'].' <font color="red"><div align="right"><br>'.$rand['autor'].'</div> </font></div></b></td> <td><a class="button" onclick="return confirm (' . $confirm_message . ');" href="stergere_gand.php?id='. $id['id'] . '">Sterge</a></td></tr>';
if(isset($_GET['id'])) {
$query = "DELETE FROM un_gand WHERE '. $id=['id'] . '";
}
}
echo '</table></center>';
/*** Construirea link-urilor pt. paginare ***/
// raza nr. link-uri din jurul celui curent
$range = 3;
// Link-uri inapoi, daca pagina curenta nu e prima
if ($currentpage > 1) {
// arata << pt. link la prima pagina
echo " <a href='{$_SERVER['PHP_SELF']}?currentpage=1'>prima </a> ";
// obtine nr. pagina din urma
$prevpage = $currentpage - 1;
// arata < pt. link la o pagina in urma
echo " <a href='{$_SERVER['PHP_SELF']}?currentpage=$prevpage'>inapoi</a> ";
}
// definirea link-urilor din raza paginii curente
for ($x = ($currentpage - $range); $x < (($currentpage + $range) + 1); $x++) {
// daca e un nr. de pagina valid ...
if (($x > 0) && ($x <= $totalpages)) {
// daca nr. e pagina curenta ...
if ($x == $currentpage) {
// afiseaza nr. pagina fara a fi link
echo " [<b>$x</b>] ";
// daca nr. nu e pagina curenta ...
} else {
// il face link
echo " <a href='{$_SERVER['PHP_SELF']}?currentpage=$x'>$x</a> ";
}
}
}
// Daca pagina curenta nu e ultima, afiseaza link inainte si spre ultima pagina
if ($currentpage != $totalpages) {
// obtine pagina urmatoare
$nextpage = $currentpage + 1;
// arata > pt. urmatoarea pagina
echo " <a href='{$_SERVER['PHP_SELF']}?currentpage=$nextpage'>inainte</a> ";
// arata >> pt. ultima pagina
echo " <a href='{$_SERVER['PHP_SELF']}?currentpage=$totalpages'>ultima</a> ";
}
?>
Cod: Selectaţi tot
$confirm_message = "'Stergeti maxima din baza de date?'";
$litera = $_GET['id'];
$sql="SELECT * FROM `un_gand` WHERE `mesaj` LIKE '$litera%' ORDER BY id DESC LIMIT $offset, $rowsperpage";
$result = mysql_query($sql, $conn) or trigger_error(E_USER_ERROR);
echo '<center><table border="0" width="450" >';
// parcurgerea matricei cu datele obtinute
while ($rand=mysql_fetch_array($result)){
echo '<tr> <td><b><div align="left"> '.$rand['mesaj'].' <font color="red"><div align="right"><br>'.$rand['autor'].'</div> </font></div></b></td> <td><a class="button" onclick="return confirm (' . $confirm_message . ');" href="stergere_gand.php?id='. $id['id'] . '">Sterge</a></td></tr>';
if(isset($_GET['id'])) {
$query = "DELETE FROM un_gand WHERE '. $id=['id'] . '";
}
}
echo '</table></center>';
M-am hotarat!
De ce sa fiu trist?
Oricum nu intereseaza pe nimeni...!
Mai bine sunt fericit si ii enervez pe toti cu fericirea mea!
http://www.cantaricrestine.ro
---> cu stima Trif
De ce sa fiu trist?
Oricum nu intereseaza pe nimeni...!
Mai bine sunt fericit si ii enervez pe toti cu fericirea mea!
http://www.cantaricrestine.ro
---> cu stima Trif
claUdiu
Mesaje:313
incearca sa pui la sfaritul codului inainte de ?> : } si vezi daca se schimba ceva.
Si app...tu vrei sa fki sa deleteze tot in aceeasi pagina? De ce nu faci un script pentru delete in alta pagina?
Si app...tu vrei sa fki sa deleteze tot in aceeasi pagina? De ce nu faci un script pentru delete in alta pagina?
Se spune ca...."omul tot invata in viata". Dar...Totusi...Trebie sa ne oprim undeva, nu?
MarPlo
Mesaje:4343
Ca sa se transmita la serverul mysql comanda sql, trebuie adaugata si functia mysql_query(), cu acea instructiune.
Dupa $query cu DELETE, ar trebui
mysql_query($query, $conn);
Dupa $query cu DELETE, ar trebui
mysql_query($query, $conn);
trif
Mesaje:500
eu vreau sa faca ceva de genu:
si daca dau pe primul "stergere" sa imi stearga doar primul nu si al doilea, ci pe care il dau pe ala sa mi-l stearga. intelegi? cu stima trif
Cod: Selectaţi tot
In masura in care iubim, ne umplem de rost si ne aflam locul in aceasta lume facuta de Dumnezeu. alex (stergere)
Ceasul nu poate masura bataile unei inimi care iubeste... Alex (stergere)
M-am hotarat!
De ce sa fiu trist?
Oricum nu intereseaza pe nimeni...!
Mai bine sunt fericit si ii enervez pe toti cu fericirea mea!
http://www.cantaricrestine.ro
---> cu stima Trif
De ce sa fiu trist?
Oricum nu intereseaza pe nimeni...!
Mai bine sunt fericit si ii enervez pe toti cu fericirea mea!
http://www.cantaricrestine.ro
---> cu stima Trif
MarPlo
Mesaje:4343
In fisierul "stergere_gand.php" sa ai
Cod: Selectaţi tot
if(isset($_GET['id'])) {
$id = $_GET['id'];
$query = "DELETE FROM `un_gand` WHERE `id`='". $id. "'";
mysql_query($query, $conn);
}
trif
Mesaje:500
am pus si nu merge iar in bara de adrese apare asta https://marplo.net/sitefinal/stergere_gand.php?id= adica nu preia nici un id. cu stima trif
M-am hotarat!
De ce sa fiu trist?
Oricum nu intereseaza pe nimeni...!
Mai bine sunt fericit si ii enervez pe toti cu fericirea mea!
http://www.cantaricrestine.ro
---> cu stima Trif
De ce sa fiu trist?
Oricum nu intereseaza pe nimeni...!
Mai bine sunt fericit si ii enervez pe toti cu fericirea mea!
http://www.cantaricrestine.ro
---> cu stima Trif
Subiecte similare
- Problema curs de Engleza
Sesizari Erori si Greseli Primul mesaj
Buna.Ultimul mesaj
Am descarcat cursul curs_eurocor-engleza_incepatori_1-16.rar si cand vreau sa-l dezarhivez imi da eroarea asta:
An error occures whilw...
Buna,
Poti sa descarci cursul de engleza, nivel intermediar, de la urmatoarele linkuri:
- Lectiile 1-16... - O mica problema de animatie CSS
HTML - XHTML - CSS Primul mesaj
Noroc, MarPlo!Ultimul mesaj
1. Am vizitat pe twitter un site de animatie, in care website-ul actual se numeste CSS-Challenges,com. In respectivul website, sunt...
1. Multumesc pentru raspuns.
2. Am inteles raspunsul tau: este un mic examen oferit voluntarilor online, pentru a le afla capacitatile de rezolvare...