webForumDet fria alternativet

Felaktig jämförelse

PHP

3 svar · 146 visningar · startad av K@llen

Medlem sedan mars 20032 667 inlägg
Frågan#1

Ingenting vill sig en kväll som denna. Samma bok kan ha flera författare. Jag vill skriva ut alla författare tillsammans med en titel, språk och beskrivning.

Tycker nedanstående borde fungera:

$sql ="SELECT b.bookId, ba.authorFirstName, ba.authorLastName, b.title, b.comments, l.language
  FROM books b INNER JOIN bookAuthorList bal 
  ON b.bookId = bal.bookid 
    INNER JOIN bookAuthor ba 
   ON bal.authorId = ba.authorId
   INNER JOIN language l 
   ON b.languageId = l.languageId
 ORDER BY b.title ";
while ( $data = mysql_fetch_array( $Result ) ) {

    $bookId = $data["bookId"];
    $authorFirstName = $data["authorFirstName"];
    $authorLastName = $data["authorLastName"];
    $title = $data["title"];
    $comments = $data["comments"];
    $language = $data["language"];  

    if ( trim( $title ) != trim( $lastTitle ) ) {

        print  "<br>" . $title . "<br>" . $language . "<br>" . $comments . "<br>";

    }

     print "" . $authorFirstName . " " . $authorLastName . " ";

     $lastTitle = $title;

   }
Medlem sedan mars 20032 667 inlägg
#2

Så fort jag postar en kodsnutt här så fixar det sig. x(

Men det är i och för sig bra. Vad som var fel vet jag inte med nu fungerar allt så vi kan glömma denna tråd. :D

Medlem sedan mars 20032 667 inlägg
#3

Jag råkade ut för ett problem till. Varje utsktift ska hamna i en egen tabellrad. Var den ska skriva ut <tr> var en ganska lätt match. Men var den ska avsluta tabellraden är ju lite mer osäkert eftersom jag inte vet hur många författare varje bok har.

Säkert hur simpelt som helt med logiskt tänkande som jag saknar i nuläget. :e

Har någon en smart idé så här mitt i natten?

while ( $data = mysql_fetch_array( $Result ) ) {

    $bookId = $data["bookId"];
    $authorFirstName = $data["authorFirstName"];
    $authorLastName = $data["authorLastName"];
    $title = $data["title"];
    $comments = $data["comments"];
    $language = $data["language"];  

    if ( trim( $title ) != trim( $lastTitle ) ) {

       [b]print "<tr>";[/b]

        print  "<td><br>" . $title . "<br>" . $language . "<br>" . $comments . "<br></td>";

    }

     print "" . $authorFirstName . " " . $authorLastName . " ";

     $lastTitle = $title;

   }
Medlem sedan mars 20032 667 inlägg
#4

Det löste sig det också. wF är magiskt för uppfinningsrikendomen. :)

   while ( $data = mysql_fetch_array( $Result ) ) {

    
   $bookId = $data["bookId"];
   $authorFirstName = $data["authorFirstName"];
   $authorLastName = $data["authorLastName"];
   $title = $data["title"];
   $comments = $data["comments"];
   $language = $data["language"];

if ( trim($title) != trim($lastTitle) ) {

    if ( $slutTr == 1 ) { 

        print "</td></tr>\n\n";
	
    }

print "<tr><td>";

       print  "<br><b>" . $title . "</b><br>" . $language . "<br>" . $comments . "<br>";

    $slutTr = 1;

    }

 print "" . $authorFirstName . " " . $authorLastName . " ";

    $lastTitle = $title;  
    

   }

print "</td></tr>";

   }
316 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
144 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)