Avatar billede ofirpeter Nybegynder
08. november 2004 - 19:37 Der er 10 kommentarer og
1 løsning

PHP/MySQL sorter

Hej,
Jeg lidt hjælp til at forme et PHP-script:

              <?
    $hent_kat = mysql_query("select kategori,id from kategorier where kode='$navn'") or die(mysql_error());
    while ($ud_kat = mysql_fetch_array($hent_kat)){
        echo "$ud_kat[kategori]";
       
        $hent_spr = mysql_query("select * from spm where kode='$navn' and ref='$ud_kat[id]'") or die(mysql_error());
        while ($ud_spr = mysql_fetch_array($hent_spr)){
        echo "<tr>
              <td valign='middle' class='skema' width='350'><br>$ud_spr[spr]<br><br></td>
              <td valign='middle' class='skema' width='210'>
              <input type='radio' name='$ud_spr[spr]' value='1'>
                <input type='radio' name='$ud_spr[spr]' value='2'></td></tr>";
        }
    }
?>

Det virker ikke helt efter hensigten.
Jeg har i en tabel nogle kategorier liggende. Og i en anden tabel nogle sprøgsmål liggende. Jeg kobler dem så sammen ved at give et felt (ref) i tabellen med sprøgsmålene, det samme nummer som et felt (id) har i kategori tabellen. Dette fungerer fint.

Problemet opstår når jeg skal til at skrive katergorierne og sprøgsmålene ud. Når jeg gør det på den måde jeg har vist ovenover, kommer alle kategorierne først ud, og så alle sprøgsmålene. Det skulle gerne se således ud:

Kat-navn1
---------
Sprøgsmål 1
Sprøgsmål 2

Kat-navn2
---------
Sprøgsmål 1
Sprøgsmål 2
Sprøgsmål 3

Kat-navn3
---------
Sprøgsmål 1

Osv.
Avatar billede thorus Nybegynder
08. november 2004 - 19:42 #1
du mangler <table>  og </table>
Avatar billede ofirpeter Nybegynder
08. november 2004 - 19:43 #2
Nu var det ikke det sprøgsmålet drejede sig om, og jeg har skam en table, og en masse anden kode også, men det er ikke så relevant lige her.
Avatar billede myplacedk Nybegynder
08. november 2004 - 19:44 #3
Hvis du bruger "vis kilde" i din browser vil du se, at det kommer i den rigtige rækkefølge, men der er fejl i dit HTML.
Avatar billede myplacedk Nybegynder
08. november 2004 - 19:47 #4
Hvis fejlen ikke er indlysende, når du ser HTML fra browseren: Kategorienavnet skal i tr og td (eller th) ligesom alt andet i en tabel.
Avatar billede ofirpeter Nybegynder
08. november 2004 - 19:48 #5
Det skal altså noget PHP kode til.

Ikke nok med at de ikke kommer som vist i sprøgsmålet. Hver kategori bliver jo også udskrevet ligeså mange gange som der er sprøgsmål i hver kategori. Så der står:


Kat-navn1
Kat-navn1
Kat-navn2
Kat-navn2
Kat-navn2
Kat-navn3

---------
Sprøgsmål 1
Sprøgsmål 2
Sprøgsmål 1
Sprøgsmål 2
Sprøgsmål 3
Sprøgsmål 1
Avatar billede myplacedk Nybegynder
08. november 2004 - 19:53 #6
Start med at rette HTML-problemet, så det ikke forvirrer dig. Trust me: Problemet er der, og det er reelt.

Derefter: Står den enkelte kategori mere end én gang i tabellen "kategorier"?
Avatar billede thorus Nybegynder
08. november 2004 - 19:58 #7
<?
    $hent_kat = mysql_query("select kategori,id from kategorier where kode='$navn'") or die(mysql_error());
    while ($ud_kat = mysql_fetch_array($hent_kat)){
        echo "$ud_kat[kategori]";
       
        echo "<table>";
        $hent_spr = mysql_query("select * from spm where kode='$navn' and ref='{$ud_kat[id]}'") or die(mysql_error());
        while ($ud_spr = mysql_fetch_array($hent_spr)){
        echo "<tr>
              <td valign='middle' class='skema' width='350'><br>$ud_spr[spr]<br><br></td>
              <td valign='middle' class='skema' width='210'><input type='radio' name='$ud_spr[spr]' value='1'><input type='radio' name='$ud_spr[spr]' value='2'></td>
                </tr>";
        }
        echo "</table>";
    }
?>
Avatar billede myplacedk Nybegynder
08. november 2004 - 19:59 #8
Hjalp det så?
Avatar billede myplacedk Nybegynder
08. november 2004 - 20:14 #9
Ah, det var ikke spørgeren der skrev...
Avatar billede ofirpeter Nybegynder
08. november 2004 - 20:29 #10
Jah, det virkede. Jeg bukker mig i støvet. Du må gerne svare thorus.
Avatar billede thorus Nybegynder
08. november 2004 - 20:39 #11
mange 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
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