UPDATE DB MYSQL
-
- Mesaje:18
UPDATE DB MYSQL
Caut un tutorial sau script bun pt update DB dupa ID, am gasit cateva dar nimic clar si nefunctionale. Va multumesc anticipat.
MarPlo
Mesaje:4343
Salut
Incearca sa adaptezi codul urmator:
- col1 , col2 sunt numele coloanelor.
- $val1 , $val2 sunt variabilele cu valorile ce trebuie adaugate.
Incearca sa adaptezi codul urmator:
Cod: Selectaţi tot
<?php
// Intai faceti conectarea la MySQL si selectarea bazei de date
// Daca sunt trimise datele pt. 'id'
if (isset($_REQUEST['id'])) {
// Se verifica daca "magic_quotes_gpc()" este setat ON
// Daca e ON, se aplica stripslashes() pentru a nu se adauga de 2 ori "\"
if(get_magic_quotes_gpc()) {
$_REQUEST['id'] = stripslashes($_REQUEST['id']);
}
// Se adauga valorile filtrate cu mysql_real_escape_string() in variabile
$id = mysql_real_escape_string($_REQUEST['id']);
// Acum se adauga in siguranta datele in MySQL
$sql = "UPDATE `nume_tabel` SET `col1`='$val1', `col2`='$val2' WHERE `id`='$id'";
// Se executa interogarea si afiseaza confirmarea
if (mysql_query($sql)) {
echo 'Datele au fost modificate';
}
}
?>
- $val1 , $val2 sunt variabilele cu valorile ce trebuie adaugate.
cipriand
Mesaje:18
Asa arata in baza de date.
si vreau sa dau editare doar pe titlu anunt si domeniu luata dupa id . Sunt pun pik stangaci si nu-mi iese
Cod: Selectaţi tot
CREATE TABLE IF NOT EXISTS `anunt` (
`id` int(3) NOT NULL auto_increment,
`titlu` varchar(40) NOT NULL default '',
`nume` varchar(20) NOT NULL default '',
`email` varchar(40) NOT NULL default '',
`telefon` varchar(20) NOT NULL default '',
`idmess` varchar(20) NOT NULL default '',
`data` varchar(40) NOT NULL default '',
`domeniu` varchar(40) NOT NULL default '',
`judet` varchar(40) NOT NULL default '',
`localitate` varchar(40) NOT NULL default '',
`poza` text NOT NULL,
`site` text NOT NULL,
`anunt` text NOT NULL,
`vizite` int(11) unsigned NOT NULL default '0',
`ip` varchar(550) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=319 ;
MarPlo
Mesaje:4343
In mare, codul ar fi cam asa:
Cod: Selectaţi tot
<?php
// Intai preiei cum stii: titlu, anunt, domeniu si id
// in variabile: $titlu, $anunt, $domeniu si $id
// se adauga datele din variabile in MySQL
$sql = "UPDATE `nume_tabel` SET `titlu`='$titlu', `anunt`='$anunt', `domeniu`='$domeniu' WHERE `id`='$id'";
// Se executa interogarea si afiseaza confirmarea
if (mysql_query($sql)) { echo 'Datele au fost modificate'; }
?>
cipriand
Mesaje:18
Am facut 2 fisiere update.php
si updated.php
Problema e ca face update dar schimba anunturile la toti . Pune la toti acelasi titlu , aceiasi poza
Cod: Selectaţi tot
<?
// Connect to the database
$db = mysql_connect("localhost","lalal","parola");
mysql_select_db ("lalal");
// Ask the database for the information from the links table
$result = mysql_query("SELECT * FROM anunt ORDER by id desc LIMIT 1");
$num=mysql_numrows($result);
mysql_close();
$i=0;
while($row=mysql_fetch_array($result)){
$titlu=mysql_result($result,$i,"titlu");
$domeniu=mysql_result($result,$i,"domeniu");
$poza=mysql_result($result,$i,"poza");
$idmess=mysql_result($result,$i,"idmess");
?>
<form action="updated.php" method="post">
<input type="hidden" name="ud_id" value="<? echo "$id";?>">
Titlu: <input type="text" name="ud_titlu" value="<? echo "$titlu"?>"><br>
Domeniu: <input type="text" name="ud_domeniu" value="<? echo "$domeniu"?>"><br>
Poza: <input type="text" name="ud_poza" value="<? echo "$poza"?>"><br>
Idmess: <input type="text" name="ud_idmess" value="<? echo "$idmess"?>"><br>
<input type="Submit" value="Update">
</form>
<?
++$i;
}
?>
Cod: Selectaţi tot
<?php
$hostname="localhost";
$username="lalala";
$password="parola";
$database="lalala";
// Connect to the database
mysql_connect($hostname, $username, $password) OR DIE("Unable to connect");
mysql_select_db("$database") or die("Unable to select database");
$query="UPDATE anunt SET titlu='" . $_POST['ud_titlu'] . "', domeniu='" . $_POST['ud_domeniu'] . "', poza='" . $_POST['ud_poza'] . "' , idmess='" .
$_POST['ud_idmess'] . "'";
$checkresult = mysql_query($query);
if ($checkresult) echo 'update query succeeded';
else echo 'update query failed';
mysql_close();
?>
MarPlo
Mesaje:4343
Cand faci SELECT-ul, trebuie preluat si valoarea din casuta 'id':
$id = mysql_result($result,$i,"id");
Iar la UPLOAD trebuie adaugata la sfarsit conditia WHERE, care sa specifice exact unde sa modifice:
$id = mysql_result($result,$i,"id");
Iar la UPLOAD trebuie adaugata la sfarsit conditia WHERE, care sa specifice exact unde sa modifice:
Cod: Selectaţi tot
$query="UPDATE anunt SET titlu='". $_POST['ud_titlu']. "', domeniu='". $_POST['ud_domeniu']. "', poza='". $_POST['ud_poza']. "' , idmess='". $_POST['ud_idmess']. "' WHERE id='". $_POST['ud_id']. "'";
cipriand
Mesaje:18
PFIU REZOLVAT !
update.php
si updated.php
Va multumesc o zi buna !
update.php
Cod: Selectaţi tot
<?php
include "conexiune.php";
?>
<?
$result = mysql_query("SELECT * FROM anunt ORDER by id desc LIMIT 1");
$num=mysql_numrows($result);
mysql_close();
$i=0;
while($row=mysql_fetch_array($result)){
$id=mysql_result($result,$i,"id");
$titlu=mysql_result($result,$i,"titlu");
$domeniu=mysql_result($result,$i,"domeniu");
$poza=mysql_result($result,$i,"poza");
$idmess=mysql_result($result,$i,"idmess");
?>
<form action="updated.php" method="post">
<input type="hidden" name="ud_id" value="<? echo "$id";?>">
Titlu: <input type="text" name="ud_titlu" value="<? echo "$titlu"?>"><br>
Domeniu: <input type="text" name="ud_domeniu" value="<? echo "$domeniu"?>"><br>
Poza: <input type="text" name="ud_poza" value="<? echo "$poza"?>"><br>
Idmess: <input type="text" name="ud_idmess" value="<? echo "$idmess"?>"><br>
<input type="Submit" value="Update">
</form>
<?
++$i;
}
?>
Cod: Selectaţi tot
<?php
include "conexiune.php";
?>
<?
$ud_id=$_POST['ud_id'];
$ud_titlu=$_POST['ud_titlu'];
$ud_domeniu=$_POST['ud_domeniu'];
$ud_poza=$_POST['ud_poza'];
$ud_idmess=$_POST['ud_idmess'];
mysql_query("UPDATE anunt SET titlu='$ud_titlu', domeniu='$ud_domeniu', poza='$ud_poza', idmess='$ud_idmess' WHERE id='$ud_id'") or exit(mysql_error());
echo "Record Updated";
mysql_close();
?>
trif
Mesaje:500
salut, am si eu o problema cu UPDATE si nu deschid alt topic pt asta si scriu tot aici. problema este am acest cod:
si il preiau cu acest cod il mai folosesc la adaugare foto si imi merge perfect si acolo am de introdus doar o informatie img iar aici am de introdus 2 info img si video si imi merge DAR imi baga de mai multe ori in bd la fiecare reflesh si teoretic nu trebuie ca asa este scriptul, greseala este ca nu am declarat undeva "video" dar nu stiu unde poate aici si faza este ca daca aici nu stiu cum sa fac asta pt mai mutle date, adica cu $_POST.... astept raspuns, multumesc.
Cod: Selectaţi tot
function valideaza_formular($editare = false) {
$errors = array();
if(! $editare) {
if(img_existent($_POST['img'])) { $errors[] = 'IMG deja existent. Va rugam verificati';}
}
//********* verifica numele sa fie in formatul corect
if(empty($_POST['img'])) { $errors[] = 'campul img nu este completat corect';}
return $errors;
}
function img_existent($img) {
global $connection;
$query = "SELECT img FROM foto_bd WHERE img = '$img'";
$result_set = run_query($query);
return(mysql_num_rows($result_set) >0) ? true: false;
}
function confirm_query($query) {
if(!$query) {
die("Eroare " . mysql_error());
}
}
function run_query($query) {
global $connection;
$result_set = mysql_query($query);
confirm_query($result_set);
return $result_set;
}
function mysql_prep($value) {
$magic_quotes_active = get_magic_quotes_gpc();
$new_enough_php = function_exists('mysql_real_escape_string');
if ($new_enough_php) {
if ($magic_quotes_active){
$value = stripslashes($value);
}
$value = mysql_real_escape_string($value);
}
else {
$value = addslashes($value);
}
return $value;
}
Cod: Selectaţi tot
<?php
//****** seteaza variabila message, care deocamdata e goala. va contine mesajele de la validarea formularului
if(isset($_POST['submit'])) {
$errors = valideaza_formular();
if(empty($errors)) {
//******* pregateste valorile sa fie bagate in BD
$img = mysql_prep($_POST['img']);
$video = mysql_prep($_POST['video']);
//******* baga in BD
$query = "INSERT INTO video_bd (img, video) VALUES ('{$img}', '{$video}')";
$result_set = mysql_query($query);
confirm_query($result_set);
if(mysql_affected_rows() == 1) {
$message = 'CODUL/LINK-ul si NUMELE pentru VIDEO a fost introdus cu succes.</p>';
$message .='<br/>' . '<a href="adaugare_video.php" class="button">Urmatorul COD/LINK si NUME</a>';
$disabled = 'disabled = "disabled"';
}
}
else {
$message = 'CODUL/LINK-ul pentru VIDEO nu a putut fi introdus sau mai este o data. <br> Va rugam incercati din nou.</p>';
}
}
?>
Cod: Selectaţi tot
function valideaza_formular($editare = false) {
$errors = array();
if(! $editare) {
if(img_existent($_POST['img'])) { $errors[] = 'IMG deja existent. Va rugam verificati';}
}
//********* verifica numele sa fie in formatul corect
if(empty($_POST['img'])) { $errors[] = 'campul img nu este completat corect';}
return $errors;
}
function img_existent($img) {
global $connection;
$query = "SELECT img FROM foto_bd WHERE img = '$img'";
$result_set = run_query($query);
return(mysql_num_rows($result_set) >0) ? true: false;
}
Cod: Selectaţi tot
if(img_existent($_POST['img'])) { $errors[] = 'IMG deja existent. Va rugam verificati';}
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
Incearca sa inlocuiesti functia "img_existent()" cu urmatoarea:
Iar in functia "valideaza_formular()", inlocuita cu:
- Daca studiezi bine functiile, observi modificarile si poti face mai departe ce mai trebuie.
Cod: Selectaţi tot
function img_existent($img, $video) {
global $connection;
$query = "SELECT img, video FROM video_bd WHERE img='$img' OR video='$video'";
$result_set = run_query($query);
return(mysql_num_rows($result_set) >0) ? true: false;
}
Cod: Selectaţi tot
function valideaza_formular($editare = false) {
$errors = array();
if(! $editare) {
if(img_existent($_POST['img'], $_POST['video'])) { $errors[] = 'IMG sau VIDEO deja existent. Va rugam verificati';}
}
//********* verifica numele sa fie in formatul corect
if(empty($_POST['img'])) { $errors[] = 'campul img nu este completat corect';}
if(empty($_POST['video'])) { $errors[] = 'campul video nu este completat corect';}
return $errors;
}
trif
Mesaje:500
merge super bine, multumesc mult de tot!
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