Avatar billede al_dair Nybegynder
28. maj 2004 - 13:39 Der er 12 kommentarer og
2 løsninger

Udskriv alle bøger med samme forfatter, før den den næste

Hey ...


Jeg har en simpel tabel ID,forfattere,bøger.
Med en alm. Select, udskrives alle Forfattere, og smides i en tabel.
Problemet er dog at den laver en ny række for hver bog.

Kan jeg få den til at udskrive alle bøger med den samem forfatter, før den næste udtræk ..

noget ala: Foreach(forfatter) udsksriv bøger,

Takker p.f.
Avatar billede michael_stim Ekspert
28. maj 2004 - 13:50 #1
group by forfatter
Avatar billede al_dair Nybegynder
28. maj 2004 - 13:57 #2
>> group by forfatter

returnerer kun den 1. bog for hver forfatter
Avatar billede michael_stim Ekspert
28. maj 2004 - 14:04 #3
Det er mig der svamler ;o) Kan du ikke bare skrive order by forfatter?
Avatar billede dennismp Nybegynder
28. maj 2004 - 14:05 #4
SQL'en skal der ikke gøres så meget ved. Du skal derimod lave en loop i stil med (php-agtigt):

$gammelforfatter = '';
while($row = mysql_fetch_array($res)) {

  if( $gammelforfatter != $row['forfatter'] ) {
      print $row['forfatter'] . '<br>';
      $gammelforfatter = $row['forfatter'];
  }

  .. skriv bog ud..
}
Avatar billede al_dair Nybegynder
28. maj 2004 - 14:07 #5
Did that too O;

Det er nok min PHP del, den er gal med ..
Smider det i PHP kategorien..


Ville du have "tak-for-forsøget" 5 point ??


Takker ihvertfald
Avatar billede al_dair Nybegynder
28. maj 2004 - 14:09 #6
Ahh .. Dennis, der er nogen der er årvågen her :)

kigger på det
Avatar billede dennismp Nybegynder
28. maj 2004 - 14:13 #7
Tjo :-)
Avatar billede al_dair Nybegynder
28. maj 2004 - 14:30 #8
Uden resultat .. paster lige den hele kode her (alt unødvendigt udeladt)

-------------------------------------------

  <?

$Res = @mysql_query("SELECT * FROM $MySQLtable order BY ID") or print(mysql_error());

if (@mysql_num_rows($Res)){
   
$i=0;
$gammelforfatter = '';
    while($Row = @mysql_fetch_array($Res))
{

$i++;
if($i%2==0)
{
if( $gammelforfatter != $row['Forfatter'] ) {
?>
<table formatering her>  <?    echo $Row[resultat her];
$gammelforfatter = $row['Forfatter'];
}
else
{
if( $gammelforfatter != $row['Forfatter'] ) {
?>
<table formatering her>
<?echo $Row[resultat her];
$gammelforfatter = $row['Forfatter'];

<?}}}?>
    <?
    ?>
</table>
<?
}
else {?>
<font color="red"><b>
<?
    echo "DataBasen er tom";
?>
</font>
<?
}
?>




Miser jeg noget dér??
Avatar billede al_dair Nybegynder
28. maj 2004 - 14:31 #9
er væk et stykke tid ..
Avatar billede dennismp Nybegynder
28. maj 2004 - 14:38 #10
Næh. det ser rigtigt ud. Prøv etv at skirve $gammelforfatter og $row['Forfatter'] ud, så kan du se hvad der foregår.
Avatar billede al_dair Nybegynder
28. maj 2004 - 19:43 #11
kan sku ikke få skidtet til at virke ..
Avatar billede al_dair Nybegynder
28. maj 2004 - 20:50 #12
Flytter til PHP
Avatar billede al_dair Nybegynder
28. maj 2004 - 20:51 #13
..
Avatar billede al_dair Nybegynder
28. maj 2004 - 22:39 #14
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