Avatar billede giorgio Nybegynder
11. januar 2006 - 13:23 Der er 9 kommentarer og
2 løsninger

query der henter data fra 2 tabeler

Hej ekserter

Jeg sidder og roder lidt med et problem. Jeg skal lave et query til min DB, men hvor den skal hente data til en formular fra 2 tabeller i samme database. Det skal bruges til når en bruger logger på for at udfylde formularen er alt hvad de har opsat under deres profil forud defineret.

Jeg har ingen ide til hvordan man laver 2 query på samme tid.

Her er de data jeg skal hente:

$query = "SELECT * FROM #__users WHERE id='$my->id'";
$database->setQuery( $query );
$rc = $database->loadObject($my_user);
if ($rc==1){
  $res->email = str_replace('@','@',$my_user->email);
  $res->username = $my_user->username;
  $res->userid = $my_user->id;
  $res->name = $my_user->name;
}

Og disse data:

$query2 = "SELECT * FROM #__comprofiler WHERE id='$my->id'";
$database->setQuery( $query );
$rc = $database->loadObject($my_user);
if ($rc==1){
  $res->phone = $my_user->cb_telefon;
}

Håber nogen kan kome med et forslag, da jeg er meget grøn i den her verden :)
Avatar billede innercitydk Nybegynder
11. januar 2006 - 16:09 #1
Prøv det her:

$query = "SELECT * FROM #__users,#__comprofiler WHERE id='$my->id'";
$database->setQuery( $query );
$rc = $database->loadObject($my_user);
if ($rc==1){
  $res->email = str_replace('@','@',$my_user->email);
  $res->username = $my_user->username;
  $res->userid = $my_user->id;
  $res->name = $my_user->name;
  $res->phone = $my_user->cb_telefon;
}

Vh Nicki
Avatar billede giorgio Nybegynder
11. januar 2006 - 16:24 #2
Hej Nicki

Desværre virker deti kke, den genere ingen fejl, men den forudfylder barei ngenting nu.
Avatar billede giorgio Nybegynder
11. januar 2006 - 16:41 #3
så lykkedes det, den skulle bare lige vide hvor den skulle hnte ID'et fra altså den skal hedde:

$query = "SELECT * FROM #__users,#__comprofiler WHERE #__users.id='$my->id'";

smid et svar så splitter vi :)
Avatar billede innercitydk Nybegynder
11. januar 2006 - 16:43 #4
Hvilket sprog koder du i?

Prøv det her engang:

$query = "SELECT * FROM #__users,#__comprofiler WHERE id='$my->id'";
$database->setQuery( $query );
$rc = $database->loadObject($my_user);
if ($rc==1){
  $res->email = str_replace('@','@',$my_user->#__users.email);
  $res->username = $my_user->#__users.username;
  $res->userid = $my_user->#__users.id;
  $res->name = $my_user->#__users.name;
  $res->phone = $my_user->#__comprofiler.cb_telefon;
}
Avatar billede innercitydk Nybegynder
11. januar 2006 - 16:43 #5
Nice :)
Avatar billede innercitydk Nybegynder
11. januar 2006 - 16:44 #6
Du skal vælge specifikt fra begge tabeller:

$query = "SELECT * FROM #__users,#__comprofiler WHERE #__users.id='$my->id' AND #__comprofiler.id='$my->id' ";
Avatar billede giorgio Nybegynder
11. januar 2006 - 16:46 #7
nej det behøver jeg ikke da de 2 tabeler er sync. så de dele samme id
Avatar billede innercitydk Nybegynder
11. januar 2006 - 16:46 #8
nåå ok :)
Avatar billede giorgio Nybegynder
11. januar 2006 - 16:47 #9
det er til brug i cms systemet mambo, men skal jo lave lidt medlems fordele, så de ikke skal taste deres oplysninger ind. kunne ikke finde en lettere måde at hente det på end at hente det fra deres oplysninger der bruges ved registrerint.
Avatar billede giorgio Nybegynder
11. januar 2006 - 16:47 #10
vil du ikke mene at når de deler samme is er det ikke nødvendigt, da det jo altid vil stemme overens
Avatar billede giorgio Nybegynder
11. januar 2006 - 16:49 #11
is=id
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester