Avatar billede al_dair Nybegynder
28. maj 2004 - 21:10 Der er 9 kommentarer og
2 løsninger

While loop på MySQL udtræk

eg har en simpel tabel med

ID    forfattere    bøger

Med en alm. Select, udskrives alle Forfattere, og smides i en html tabel. Hvordan undgår jeg at lave en ny række for hver bog, og istedet udskrive alle bøger for den 1.Forfatter, før den næste udtræk..

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

Takker p.f.









/\_________________  eksempel______________________________/\

<?

    while($Row = @mysql_fetch_array($Res))
{

$i++;
if($i%2==0)
{

?>
<table formatering>

<? echo $Row[Resulatet]; ?>

<?}
else
{
?>

<table formatering2>

<? echo $Row[Resulatet]; ?>

<?}?>
<?
}}
else
{    echo "ingen data";}
?>
Avatar billede phpwiz Nybegynder
28. maj 2004 - 21:12 #1
kig på mysql.com i manualen, under GROUP BY
Avatar billede al_dair Nybegynder
28. maj 2004 - 21:16 #2
med GROUP BY får jeg kun den første bog for hver forfatter
Avatar billede elskermad.dk Nybegynder
28. maj 2004 - 21:18 #3
<?

$oldforfatter = "";

$foresp = mysql_query("SELECT * FROM boger ORDER BY forfatter");
while($row = mysql_fetch_array($foresp)) {
  $forfatter = $row["forfatter"];
  $bog = $row["bog"];

  if ($forfatter != $oldforfatter) {
      echo"
        <br><br><b>$forfatter</b><br>
      ";
  }
 
  echo"
      $bog<br>
  ";

  $oldforfatter = $forfatter;
}
Avatar billede elskermad.dk Nybegynder
28. maj 2004 - 21:19 #4
skrevet hurtigt så kan være den er fejl
Avatar billede al_dair Nybegynder
28. maj 2004 - 21:46 #5
Har også prøvet den princip .. Copy/Paste


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




<html>
<body>

  <?
include ("Konfig.php");

$forbind = mysql_connect($MySQLserver,$MySQLusername,$MySQLpassword);
mysql_select_db($MySQLdatabase, $forbind);
$Res = @mysql_query("SELECT * FROM $MySQLtable order BY ID") or print(mysql_error());

if (@mysql_num_rows($Res)){
    ?>
    <?
$i=0;
$gammelforfatter = "";                                //fjern
    while($Row = @mysql_fetch_array($Res))
{
$Forfatter = $Row["Forfatter"];
$Hits=$Row[Hits];
$Titel=$Row[Title];
$ID=$Row[ID];

$i++;

if ($Forfatter != $gammelforfatter)
{

?>
<table dir=rtl bgcolor=ffffff border=1 width=400 bordercolor="#D8D8D8" style="border-left-style: none; border-right-style: none; border-top-style: none; border-bottom: 1.5pt solid gray" fpstyle="25,011111100">
<tr dir=rtl bgcolor=ffffff>

</tr>
  <tr>
    <td align="center" style="font-weight: bold; color: white; border-left-style: none; border-right-style: none; border-top-style: none;  background-color: navy">
    <p align="center"><img width=25 hight=28 src=bog.gif></td>

<? if( $gammelforfatter != $row['Forfatter'] ) { ?>
    <td align="center" style="font-weight: bold; color: white; border-left-style: none; border-right-style: none; border-top-style: none;  background-color: navy" height="25"><p align="center"><font face="Tahoma">

<? echo "$Forfatter";
$gammelforfatter = $row['Forfatter'];
?>

</font></td>
    <td align="center" style="font-weight: bold; color: white; border-left-style: none; border-right-style: none; border-top-style: none;  background-color: navy">
<font face="Tahoma">.nr</font>    <p align="center"></td>
  <tr><br><br>
<? }
else
{
?>

    <td align="center" style="font-weight: bold; color: white; border-left-style: none; border-right-style: none; border-top-style: none;  background-color: navy" height="25"><p align="center"><font face="Tahoma">
<? echo $Row[Forfatter];
$gammelforfatter = $row['Forfatter'];
?></font></td>
    <td align="center" style="font-weight: bold; color: white; border-left-style: none; border-right-style: none; border-top-style: none;  background-color: navy">
<font face="Tahoma">.nr</font>    <p align="center"></td>
  <tr>

<td align="center" height="20" bgcolor=#FFFFFF><? echo $Row[Forfatter]; ?></td>
<td align="center" height="23" bgcolor=#FFFFFF><? echo $Row[Titel];?></td>
    </tr>

</table>
<?
}
}}}
else
{
echo ("tom database");

}
Avatar billede elskermad.dk Nybegynder
28. maj 2004 - 21:54 #6
den skal order efter forfatter og ikke id...

$Res = @mysql_query("SELECT * FROM $MySQLtable order BY forfatter ASC, ID ASC") or print(mysql_error());
Avatar billede al_dair Nybegynder
28. maj 2004 - 22:37 #7
Ok ..

Men det er jo while loop'et den er gal med..

Måske ville du forstå mig bedre hvis du kiggede på denne screenshot:
http://said.users.whitehat.dk/udtræk.jpg
Avatar billede elskermad.dk Nybegynder
28. maj 2004 - 22:42 #8
link virker ikke
Avatar billede al_dair Nybegynder
28. maj 2004 - 23:09 #9
Avatar billede al_dair Nybegynder
31. maj 2004 - 10:34 #10
nogen forslag ..??
Avatar billede al_dair Nybegynder
01. juni 2004 - 13:42 #11
lukker
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