Avatar billede lionman Nybegynder
03. december 2002 - 13:31 Der er 2 kommentarer og
1 løsning

relationer og while løkker

Hej

Jeg er ved at lave en database med nogle få relationer. Jeg har følgende tabeller :

<Vej>
Vej ID
Vejnavn


<Famile>
familie ID
familienavn
husnummer

<Person>
Person ID
familie ID
Navn
Alder

Jeg ønsker at få vist en liste med de familier der bor på en vej og hvilke personer der er tilknyttet den pågældende familie...

eks :

Vej >

Familie 1, husnummer 1 >>

Hans 28 år
Per 21 år

Familie 2, husnummer 2 >>

gitte 30 år
preben 15 år


Har prøvet med en while-løkke inden i en while-løkke men det er vist ikke helt måden at gøre det på...

På forhånd tak...:-))
Avatar billede disky Nybegynder
03. december 2002 - 13:38 #1
Du mangler vist en relation imellem vej og familie.

Men det du skal er at lave en select der henter fra flere tabeller samtidigt, og sikre at ID'erne er ens i tabellerne.

f.eks.

select Familie.familieID,Familie.familienavn,Person.familieID,Person.Navn from Familie,Person where Familie.familieID=Person.familieID

Den henter familienavn og personerne ud som hænger sammen.
Avatar billede lionman Nybegynder
03. december 2002 - 13:52 #2
Jeg har en relation mellem vej og familie (skrev det blot ikke) men det er ikke der problemet ligger.. Jeg har forsøgt med while-løkker som du kan se herunder, men den inderste while-løkke henter kun den første record og genbruger den under samtlige familier (sorter).


$sql ="SELECT So_ID,La_Navn,Da_Navn,So_Besk,So_Img FROM $table_name WHERE Kat_ID = \"$param1\" AND Fam_ID = \"$param2\" order by La_Navn ASC";
$total_result = @mysql_query($sql, $connection) or die("Error #". mysql_errno() . ": " . mysql_error());
$total_found = @mysql_num_rows($total_result);



while ($row = mysql_fetch_array($total_result)) {

    $So_ID=$row['So_ID'];
    $La_Navn=$row['La_Navn'];
    $Da_Navn=$row['Da_Navn'];
    $So_Besk=$row['So_Besk'];
    $So_Img=$row['So_Img'];




//$PL_found = @mysql_num_rows($PL_list);
$PL_list = mysql_query("SELECT * FROM p_planter WHERE PL_sort = $So_ID ");
while ($row2 = mysql_fetch_array($PL_list)) {
   
    $PL_ID=$row2['PL_ID'];
    $PL_sort=$row2['PL_sort'];
    $PL_Form=$row2['PL_Form'];
    $PL_cm=$row2['PL_cm'];



$Vis_planter = $display_block_plant .= "<table border=1 width=100%><tr><td>$PL_Form</td><td>$PL_cm</td></tr></table>";   
   
}




$display_block .= "<tr><td>$So_Img</td><td width=35%><font size='2' face='Verdana, Arial, Helvetica, sans-serif'><i><b>$La_Navn</b></i> <br> - $Da_Navn</font> <p><font size='1' face='Verdana, Arial, Helvetica, sans-serif'>$So_Besk</font><p></td><td Valign=top>$Vis_planter</td></tr><tr><td colspan=3><p></td></tr>";
   
   


}
Avatar billede disky Nybegynder
03. december 2002 - 13:58 #3
Dit php kode må du gerne poste i PHP gruppen, men i MYSQL gruppen hører det ikke hjemme.

Din problem er øjensynligt PHP orienteret, luk det venligst og opret i PHP gruppen.

På forhånd tak.
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