10/10/2018, 10:38

Hỏi về câu lệnh update trong php!

Mình có csdl như sau:
cột config_name (web_visit, web_title) và cột config_name(0, anhlt.pro - Thế Giới Của Tôi)


Và dùng câu lệnh sau để lấy dữ liệu:
PHP Code:
select from web_config where config_name 'web_title' 
Để lấy web_title: $r['config_value'];
Nó sẽ in ra: anhlt.pro - Thế Giới Của Tôi

Mình đã show dữ liệu này ra form rồi, giờ câu lệnh update mình ko biết viết sao. Mong các bạn giúp.



Bình thường thì ta hay thiết kế csdl dạng ngang:



Và dùng câu lệnh sau để lấy dữ liệu:
PHP Code:
select from web_config where id='$id' 
Để lấy web_title: $r['web_title'];
Nó sẽ in ra: anhlt.pro - Thế Giới Của Tôi

p/s: Các bạn nhìn 2 cái hình kia là hiểu ý mình,
cayriver viết 12:42 ngày 10/10/2018
Thú thực giờ mới nghe kiểu cơ sở dữ liệu dạng ngang và dạng dọc? Đọc chẳng hiểu gì luôn?
langtuquy viết 12:41 ngày 10/10/2018
Bạn thiếu điều kiện WHERE. Chỉnh lại code như sau:
mysql_query("UPDATE `anhlt_config` SET `web_title`='".addslashes($_POST["title"])."', `web_visit`='".addslashes($_POST["visit"])."'" WHERE `id`='2');
Thế Giới Phẳng viết 12:48 ngày 10/10/2018
Được gửi bởi cayriver
Thú thực giờ mới nghe kiểu cơ sở dữ liệu dạng ngang và dạng dọc? Đọc chẳng hiểu gì luôn?
Ví dụ mình muốn show web_title thì câu truy vấn sẽ là:

PHP Code:
select from web_config where config_name 'web_description' 

Còn dạng ngang là:
select * from web_config where config_name"

Mong các bạn giúp,
1024KB viết 12:49 ngày 10/10/2018
Update thì cũng gần như select thôi:
PHP Code:
$web_title POST***91;'web_title'***93;;//chẳng hạn ta update web_title nhé
$sql "UPDATE web_config SET config_value = '".$web_title."' WHERE config_name = 'web_title'"
Hi vọng bạn hiểu.
Thế Giới Phẳng viết 12:45 ngày 10/10/2018
Được gửi bởi 1024KB
Update thì cũng gần như select thôi:
PHP Code:
$web_title POST***91;'web_title'***93;;//chẳng hạn ta update web_title nhé
$sql "UPDATE web_config SET config_value = '".$web_title."' WHERE config_name = 'web_title'"
Hi vọng bạn hiểu.
Thế là phải dùng từng query hả bạn, mình xây dựng function:
PHP Code:
    function config($name){
    global 
$db_type;
        if(
$name == "web_title"){
            
$result mysql_query("select * from ".$db_type."config where config_name = 'web_title'") or die (mysql_error());
            while(
$r mysql_fetch_array($result)){
            echo 
$r***91;'config_value'***93;;}
        }
...........

    if(
$_REQUEST***91;"cmd"***93;=="Submit"){
$web_title POST***91;'web_title'***93;;//chẳng hạn ta update web_title nhé
$sql "UPDATE web_config SET config_value = '".$web_title."' WHERE config_name = 'web_title'";  
    echo 
"<center>Đã sửa xong</center>"
Nó ko update đc!
1024KB viết 12:53 ngày 10/10/2018
Sao phải vậy. Xây dựng 1 hàm thôi
PHP Code:
function config($config_name){

global 
$db_type;
$qr mysql_query("SELECT config_value FROM ".$db_type."config WHERE config_name='".$config_name."'");
$rs myslq_fetch_object($qr);
echo 
$rs->config_value;


Ví dụ UPDATE;
PHP Code:
function update($config_name$data){
$sql "UPDATE web_config SET config_value = '".$data."' WHERE config_name = '".$config_name."'";  
mysql_query($sql);

Còn tùy dữ liệu đưa vào là mảng hay chỉ từng giá trị mà xây dựng hàm cho phù hợp.

[=========> Bổ sung bài viết <=========]

Ví dụ có 1 form như này nhé:
PHP Code:
//update.php
//...
<form name="update_config" method="post" action="process.php">
<
input type="text" name="web_title" value="">
<
input type="text" name="web_desc" value="">
<
input type="submit" value="Submit">
</
form>
//...

//process.php
//...
if($_GET***91;'do'***93;=='update' $_GET***91;'method'***93;=='config'){ //process.php?method=config&do=update
    
update_config($_POST);
}
//...

//function.php

function update_config($data){ 
//$data = array(array('web_title'=>'Thế Giới Phẳng'),array('web_desc'=>'Cũng là Thế Giới Phẳng'));
  
global $db_prefix;
  foreach(
$data as $key => $value){
     
mysql_query("UPDATE ".$db_prefix."config SET config_value='".$value."' WHERE config_name='".$key."'");
  }

cayriver viết 12:51 ngày 10/10/2018
Được gửi bởi Thế Giới Phẳng
Ví dụ mình muốn show web_title thì câu truy vấn sẽ là:

PHP Code:
select from web_config where config_name 'web_description' 

Còn dạng ngang là:
select * from web_config where config_name"

Mong các bạn giúp,
Đã là where thì phải có giá trị chứ? Bỏ cái khái niệm dạng ngang dạng dọc ấy đi. Nó thực sự không tồn tại.
1024KB viết 12:44 ngày 10/10/2018
Bỏ cái khái niệm dạng ngang dạng dọc ấy đi. Nó thực sự không tồn tại.
Mở csdl của wordpress ra xem là biết liền.
thuyduongcd viết 12:45 ngày 10/10/2018
Hãy xem 1 table là một mảng 2 chiều. Thích xoay ngang hay xoay dọc gì chả được. Select field thì ra record còn select record thì ra field thôi
Bài liên quan
0