Avatar billede nickern Nybegynder
09. august 2007 - 14:56 Der er 7 kommentarer

Hente fra 2 tabeller skiftevis

Hejsa EXP

Hvordan kan jeg skiftevis hente fra 2 tabeller
Lad os sige at jeg har tabellerne X og Y

og jeg skal lave en liste over hvad der er indeholdt i de forskellige tabeller - men det skal være skiftevis
f.eks.

1. FØRSTE RÆKKE I TABEL X
2. FØRSTE RÆKKE I TABEL Y
3. ANDEN RÆKKE I TABEL X
4. ANDEN RÆKKE I TABEL Y

kan man gøre det lettere end først skal skrive hele koden for at hente ud fra tabel x, og så igen for tabel y og så igen for tabel x etc.
Avatar billede erikjacobsen Ekspert
09. august 2007 - 15:24 #1
Hent data fra tabel x ind i et array, tilsv. for tabel y. Og vis data derfra.
Avatar billede nickern Nybegynder
09. august 2007 - 15:37 #2
Hvordan gør man det? Har ikke arbejdet med arrays før
Avatar billede jakobdo Ekspert
09. august 2007 - 17:08 #3
$x = array();
$y = array();
$query = mysql_query("SELECT data FROM tabel_x");
if(mysql_num_rows($query)>0)
{
    while($row = mysql_fetch_assoc($query))
    {
        $x[] = $row['data'];
    }
}

$query = mysql_query("SELECT data FROM tabel_y");
if(mysql_num_rows($query)>0)
{
    while($row = mysql_fetch_assoc($query))
    {
        $y[] = $row['data'];
    }
}

for($i = 0; $i < count($x) && $i < count($y); $i++)
{
    echo 'Data1 - ' . $i . ' : ' . $x[$i] . '<br />\n';
    echo 'Data2 - ' . $i . ' : ' . $y[$i] . '<br />\n';
}
Avatar billede erikjacobsen Ekspert
09. august 2007 - 17:39 #4
Måske faktisk

for($i = 0; $i < count($x) && $i < count($y); $i++)
{
    echo 'Data1 - ' . $i . ' : ' . $x[$i]['data'] . '\n';
    echo 'Data2 - ' . $i . ' : ' . $y[$i]['data'] . '<br />\n';
}

hvis feltet hedder 'data'
Avatar billede jakobdo Ekspert
09. august 2007 - 17:54 #5
erikjacobsen: Din sidste kode vil da ikke virke? 'data' findes jo ikke i array'et.
Avatar billede erikjacobsen Ekspert
09. august 2007 - 17:55 #6
Nå, ja. Du skriver jo

    while($row = mysql_fetch_assoc($query))
    {
        $y[] = $row['data'];
    }

hvor jeg tænker på

    while($row = mysql_fetch_assoc($query))
    {
        $y[] = $row;
    }

Så får man nemlig hele rækken med, og kan senere pille de felter ud, der skal vises - og så bør min foreslåede ændring virke.
Avatar billede jakobdo Ekspert
09. august 2007 - 18:21 #7
Ja, sådan kan man selvfølgelig gøre ja! :o)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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