Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [PHP] doppeltes Ausgeben verhindern (https://www.delphipraxis.net/31037-%5Bphp%5D-doppeltes-ausgeben-verhindern.html)

Die Muhkuh 3. Okt 2004 11:37


[PHP] doppeltes Ausgeben verhindern
 
Hi,


ich hab ne Tabelle (toll :D), in der ich eine Art "Lexikon" über Musiksachen aufbaue. Die Tabelle hat den Eintrag "kategorie".
In dieser steht jeweils in welche Kategorie das hineingehört. Nun möchte ich über php die ganzen Kategorien ausgeben. Das klappt auch soweit. Wenn aber zwei einträge mit der gleichen Kategorei vorhanden sind, wird auch zwei mal das auf der HP ausgegeben. Wie bekomm ich nun das so hin, das jede Kategorie nur einmal da steht?

jfheins 3. Okt 2004 11:43

Re: [PHP] doppeltes Ausgeben verhindern
 
Not Testified:
Code:
while ($kategorie = mysql_fetch_array ($result))
{
  if ($bearbeitet[$kategorie]) break;
  else
  {
    $kategorien[] = $kategorie;
    $bearbeitet[$kategorie] = TRUE;
  }
}

Meflin 3. Okt 2004 11:44

Re: [PHP] doppeltes Ausgeben verhindern
 
dazu wäre mal dein bisheriger quelltext ganz nützlich ;-)
prinzipiell: nimm einfach einen counter und erhöhe die variable beim ausgeben. beim ausgeben überprüfst du zusätzlich den wert der variable, wenn der = 1 ist lässt du die kategorie einfach nicht mehr ausgeben!

alcaeus 3. Okt 2004 11:46

Re: [PHP] doppeltes Ausgeben verhindern
 
Hi Manuel,

wenn du die Einträge aus einer DB ausliest, so kannst du AFAIK mit DISTINCT erzwingen, dass jedes Feld nur einmal ausgewählt wird. Beispiel:
SQL-Code:
SELECT DISTINCT kategorie FROM lexikon
Ich bin nicht mehr ganz sicher, aber so irgendwie ging das.

Greetz
alcaeus

Die Muhkuh 3. Okt 2004 11:48

Re: [PHP] doppeltes Ausgeben verhindern
 
Hi Meflin,

Code:
$sql = 'SELECT kategorie FROM lexikon';
  $result = mysql_query($sql);
 
  while ($row <= mysql_fetch_assoc($result))
  {
    echo '[ [url="' . $_SERVER['PHP_SELF'] . '?start=' . $row['kategorie'] . '"]' . $row['kategorie'] . '[/url] ]';
  }

@Andreas

ich versuchmal mit "Desstinkt" :mrgreen:

jfheins 3. Okt 2004 11:50

Re: [PHP] doppeltes Ausgeben verhindern
 
Wenn du's gleich ausgeben möchtest, sähe der code so aus:
Code:
while ($kategorie = mysql_fetch_array ($result))

  if ($bearbeitet[$kategorie]) break;
  else
  { 
    echo $kategorie;
    $bearbeitet[$kategorie] = TRUE;
  } 
}


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:54 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz