Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc
Comunitatea PHP Romania
 

Update in baze diferite pe acelasi server
Vezi mesajul original

 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> MySQL
Subiectul anterior :: Subiectul următor  
Autor Mesaj
UnTip



Data înscrierii: 03/Mai/2007
Mesaje: 377

Trimis: Joi Aug 28, 2008 8:00 am    Titlul subiectului: Update in baze diferite pe acelasi server  

am doua baza identice (structura,campuri,etc) pe acelasi server, cu date diferite

trebuie sa introduc utilizatorii care se autentifica in aplicatie dintr-o baza in cealalta....

sql-ul ar arata asa...
"insert into auth (id,uname,passwd,level,status) values('$new_id','".($row->uname)."','".$row->passwd."','".$row->level."','".$row->status."');
unde $new_id, este creeat la inserarea unui nou rand in tabela de autentificare prin update-ul intr-o alta tabela a unei valori, id-ul rezultat de acolo fiind noul id al userului inserat in baza de date

$sql_update_id = "update new_id set value=value+1 where tip='auth'";
$rs_update = @mysql_query($sql_update_id,) or die("Err:02 Nu s-a putut realiza update-ul pentru id-ul ".$row->uname);
$sql_updated_id = "select value from new_id where tip='auth'";

ideea e ca sunt 2 baze diferite si ca sa rezolv prin php trebuie sa ma conectez la o baza sa i-au utilizatorii de acolo apoi sa ma conectez la cealalta baza in structura repetitiva in care mi-am adus utilizatorii din prima baza si sa incerc sa fac update-ul in aceasta baza, nu stiu daca e posibil asa ceva, am versiune de mysql 5.0.27, am citit de fetered storage engine insa nu e disponibil decat din 5.03 si nu stiu cum m-ar fi ajutat asta...
daca aveti idei pls free your mind
Sus  
griffin



Data înscrierii: 07/Dec/2006
Mesaje: 100

Trimis: Joi Aug 28, 2008 8:24 am    Titlul subiectului:  

Cel mai simplu este sa scoti utilizatorii din prima baza de date si sa-i pui pe toti intr-un array.Adica
Cod:  
 $utilizatori=array();
 while($row=mysql_fetch_array( $query_din_prima_baza) ){
       $utilizator[]= $row;   
}

//dupa ce iese din while ai toti utilizatorii in array-ul $utilizatori

//te conectezi la celalta baze de date si scoti din arrayul utilizatori ce ai nevoie

mysql_select_db('noua_baza');

foreach($utilizatori  as $utilizator){
       foreach($utilizator  as $row){
          mysql_query("insert into auth (id,uname,passwd,level,status)        values('$new_id','".($row->uname)."','".$row->passwd."','".$row->level."','".$row->status."');
       }   
}


//Daca ai inregistrari putine e ok insa daca vrei sa scoti un intreg tabel...nu prea
Cred ca ai putea sa faci un "cron" care sa faca asta la un anumit interval si sa ia numai utilizatorii are nu au fost deja luati.[/code]
Sus  
UnTip



Data înscrierii: 03/Mai/2007
Mesaje: 377

Trimis: Joi Aug 28, 2008 8:52 am    Titlul subiectului:  

as putea sa fac asta
pe langa mysql_query("insert into auth (id,uname,passwd,level,status) values('$new_id','".($row->uname)."','".$row->passwd."','".$row->level."','".$row->status."');
ar mai trebui sa execut si update-ul pentru a incrementa valoarea noului id, ideea e ca mai am 2 tabele folders2repr si folders unde sunt tinute niste id-uri de foldere si folders2repr id-ul fiecarui user corespunzator unui folder pe care trebuie sa ii fac update, dar se pare ca asta ar fi singura solutia sa stochez datele intr-un vector
Sus  
UnTip



Data înscrierii: 03/Mai/2007
Mesaje: 377

Trimis: Joi Aug 28, 2008 10:36 am    Titlul subiectului:  

Si acum alta problema unele campuri inserate se regasesc in tabela aceea vreau sa fac un fel de INSERT ignore eu neavand unicitate pe utilizator....

INSERT IGNORE doar pe un camp din tabela de autentificare cu alte cuvinte sa nu-mi insereze valorile duplicat pentru utilizator din datele mele pe care vreau sa le introduc in noua tabela unde fac insertul...

any ideas?
Sus  
PHPRomania Bot
Bot Member


Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google
Trimis: Mie Dec 26, 2007 7:01 pm   Titlul subiectului: Ad  

Sus  
 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> MySQL
Pagina 1 din 1


Powered by phpBB 2.0.22 © 2001, 2002 phpBB Group
Varianta în limba română: Romanian phpBB online community