in primul rand nu prea vad logica in a folosi trei tabele cu aceasi informatie..
inteleg ca tu ai 1 baza de date in care sunt 3 tabele.. care vrei sa contina aceasi informatie.. asta am inteles din ce ai zis tu
daca te referi la 3 baze de date diferite asta e alta poveste
dar oricum .. ideea e ca problemele de query-uri ciudate nu se rezolva niciodata frumos direct din sql ci din php (sau ce folosesti tu)..
logic ar fi cam asa: cand faci INSERT .. sa faci direct in toate cele trei tabele..
ori cu tranzactii daca ai mysql 5 ori cu functii:
$tabele = array("tabel1", "tabel2", "tabel3");
foreach($tabele as $tabel){
bagaDateInDB($tabel);
}
function bagaDateInDB($tabel){
// te conectezi la baza de date
$cnx = connectDB();
// apoi query
$query = 'INSERT INTO '.$tabel.' VALUES()';
$result = $cnx->query($query);
}
... cam asa teoretic
pentru update faci la fel...
foreach tabel ...
cauti id-ul intrarii si
modifici pentru fiecare tabel..
$id = isset($_GET['id']) ? $_GET['id'] : '';
$tabele = array("tabel1", "tabel2", "tabel3");
foreach($tabele as $tabel){
modificaDateInDB($tabel, $id);
}
function modificaDateInDB($tabel, $id){
// te conectezi la baza de date
$cnx = connectDB();
// apoi query
// aici merge bagat un if sa verifici daca exista id-ul.. daca exista sa faci update
if(idExista($id)){
$query = 'UPDATE '.$tabel.' SET campurile si valorile WHERE '.$id.' ';
$result = $cnx->query($query);
} else {
echo 'id nu exista';
}
}
function idExista($id){
//cauta in fiecare tabel daca exista id-ul si daca da sa
return true;
// daca nu sa
return false;
}
pentru delete la fel.. acolo e mai simplu ca doar cauti id-ul si dai delete.
cred ca e cam babeste si nu prea corect raspunsul dar daca te refereai la teri tabele din aceasi baza de date.. cam asa s-ar face foarte simplu..
sper sa te ajute raspunsul.. daca nu mai zi odata mai detaliat si poate reusesc sa te ajut![]()






Răspunde cu citat