Pagina 1 din 1

UPDATE DB MYSQL

Scris: Sâm Mar 12, 2011
de cipriand
Caut un tutorial sau script bun pt update DB dupa ID, am gasit cateva dar nimic clar si nefunctionale. Va multumesc anticipat.

UPDATE DB MYSQL

Scris: Sâm Mar 12, 2011
de MarPlo
Salut
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';
    }
}
?> 
- col1 , col2 sunt numele coloanelor.
- $val1 , $val2 sunt variabilele cu valorile ce trebuie adaugate.

UPDATE DB MYSQL

Scris: Mar Mar 15, 2011
de cipriand
Asa arata in baza de date.

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 ;
si vreau sa dau editare doar pe titlu anunt si domeniu luata dupa id . Sunt pun pik stangaci si nu-mi iese :(

UPDATE DB MYSQL

Scris: Mar Mar 15, 2011
de MarPlo
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'; }
?>

UPDATE DB MYSQL

Scris: Mie Mar 16, 2011
de cipriand
Am facut 2 fisiere update.php

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; 
} 
?> 
si updated.php

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(); 
?> 
Problema e ca face update dar schimba anunturile la toti :) . Pune la toti acelasi titlu , aceiasi poza :mrgreen:

UPDATE DB MYSQL

Scris: Mie Mar 16, 2011
de MarPlo
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:

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']. "'";

UPDATE DB MYSQL

Scris: Mie Mar 16, 2011
de cipriand
PFIU REZOLVAT !
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; 
} 
?> 
si updated.php

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();
?>
Va multumesc o zi buna !

UPDATE DB MYSQL

Scris: Vin Mar 18, 2011
de trif
salut, am si eu o problema cu UPDATE si nu deschid alt topic pt asta si scriu tot aici. problema este am acest cod:

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;
}
si il preiau cu

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>';
		}
	}
?>
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

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;
}
si faza este ca daca aici nu stiu cum sa fac asta

Cod: Selectaţi tot

if(img_existent($_POST['img'])) { $errors[] = 'IMG deja existent. Va rugam verificati';}
pt mai mutle date, adica cu $_POST.... astept raspuns, multumesc.

UPDATE DB MYSQL

Scris: Sâm Mar 19, 2011
de MarPlo
Incearca sa inlocuiesti functia "img_existent()" cu urmatoarea:

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;
}
 
Iar in functia "valideaza_formular()", inlocuita cu:

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;
}
 
- Daca studiezi bine functiile, observi modificarile si poti face mai departe ce mai trebuie.

UPDATE DB MYSQL

Scris: Lun Mar 21, 2011
de trif
merge super bine, multumesc mult de tot!