Mysql(tabellenstruktur)

Online-Skater

Erfahrenes Mitglied
Hi Leutz ich bin mir sicher ihr könnt mir helfen :)

Also ich hab ein Bilderscript

Tabelle 1 besteht aus id, kategorie,thumbnailpfad,urlpfad.
Soweit sogut ich habe 4 Kategorien festgelegt die beim uploaden ausgewählt werden können, das geht auch alles wunderbar.

Nun möchte ich das man beim uploaden noch ein Titel vergeben kann d.h. z.B.
Event wird als Kategorie ausgewählt(Select Box) und der Titel is meinetwegen GC05 :)

so das für jede Kategorie im prinzip unterkategorien gib oder die kategorie näher beschrieben wird(title).
Die Frage ist wie ich das nun ausgeben kann ?

PHP:
$sql = "SELECT id,thumb FROM ds_uppic WHERE kat = '$kat' ORDER by id DESC LIMIT $start,$A_seite";

Und nun muss ja noch der titel dazu damit man es ordnen kann, aber dummerweise weiß man den titel ja nicht denn den trägt der user ein(könnte man ja abfragen= umständlich?).
ich wünschte mysql gebe es sowas wie : //in meiner logik gibt es das ^^

SELECT * from table where kat=event and title="gleiche Titel";

aber das geht bestimmt net und ich ahne das ich ne 2.tab brauche aber wie ich hab immo blackout pls help :suspekt:

Am ende klick ich auf event und dann kommen die bilder von gc05 dann vom festival usw

THX 4 help !
 
Zuletzt bearbeitet:
Tabelle:
ID | Kategorie | Title |...
1 | A | 1 | xyz
2 | A | 2 | abc
3 | A | 2 | def
4 | B | 1
5 | C | 1

group by Kategorie, Title
Effekt:

A - 1
A - 2
B - 1
C - 1

group by Kategorie
Effekt

A
B
C


Bei dieser Gruppenbildung musst du mit einem "Informationsverlust" leben, den du dir aber evtl. wieder über einen join ausgleichen kannst.

Sofern das deine Frage war - so genau blick ich da nämlich net durch ^^
 
Thx ersteinmal für die Hilfe aber zum Problem:

ich habe:

id|kat|title
1|A|bla
2|A|blu
3|B|anders
4|C|nochanders
5|A|bla
6|B|anders

so ich möchte die ausgabe: A|bla A|bla A|blu

Bilder haben eine kategorie und einen titel z.b. Games Convention Bilder haben die kategorie event die ausgewählt wird per formular(vorgegeben) und einen titel gc05 bsp.(user gibt ihn ein)
aber es gibt sicherlich mehrere bilder wo die kategorie und der titel gleich is
(Übersicht für die Ausgabe)

Jetzt frage ich wie ich das ausgeben soll oder ob ich eventuell noch ne tabelle dafür braucht denn ich kann ja nicht:

Code:
SELECT * FROM table WHERE kat='event' AND title="alle die den gleichen titel haben Befehl"
:)

Übrigens mit joins hab ich mich noch garnet beschäftigt ich denke das bekommt man ohne hin ^^

THX 4 help
 
versteh das Problem nicht ganz ^^

alle Titel für die Kategorie A in alphabetischer Reihenfolge:

Select * from tabelle where kat = 'A' order by title asc

für alle titel aller kategorien:

select * from table order by kat, title


Oder ich versteh dein Problem wirklich nicht ^^
 
Hallo,
wenn du alle Datensätze einer Kategorie sortiert nach Titel ausgeben willst, so ist das wie shutdown bereits geschrieben hat mit
Code:
Select * from tabelle 
  where kat = 'A' order by title
möglich. Jede weitere where-Klausel ist, wenn ich deine Anforderung verstanden habe, überflüssig. Ist das Problem die Ausgabe der Daten in einer Zeile? Wenn ja, das wird mit einer SQL-Abfrage nicht möglich sein.
 
Ah vielen Dank

also die Lösung is eigentlich sehr gut nur haben die Betrachter davon nix denn ich möchte ja auch ne miniüberschrift haben mit dem jeweiligen titel also man klickt auf kategorie event
und dann sieht es so aus:

GC 05 (title)

bilder

Rockfestival (title)

bilder

aber gut wenn das nicht möglich ist dann verbleibe ich bei eurem vorschlag der is ja auch schon ziemlich gut :)
 
und wo is jetzt wieder das Problem?

Du musst doch nur den Link abfragen (PHP) und anhand dessen dann den Sql-Befehl austauschen.

Also: Jemand klickt auf "Übersicht" oder auf eine Kategorie.

Der Link würde dann z.B. so aussehen:

http://www.abc.de/datei.php?auswahl=uebersicht
http://www.abc.de/datei.php?auswahl=irgendwasanderes

Code:
$auswahl = $_GET['auswahl'];

if($auswahl == "uebersicht")
    $query = "Select * from tabelle order by kat, title";
else
    $query = "Select * from tabelle where kat = '$auswahl' order by title";

mysql_query($query);

So oder so ähnlich, je nachdem was du haben willst.
 
Hm ich glaube ich drücke mich falsch aus ^^

Pass auf hier ist meine Gallery.

Nach Events funktioniert doch bereits alles das habe ich schon am ersten Post geschrieben.
Und man muss dazu sagen die Spalte title habe ich noch nicht, da ich mir unsicher bin wie ich es umsetze.

Ihr seht es funktioniert nach kategorien die Bilder anzuzeigen.
Stell dir jetzt vor bei events wären noch andere Bilder drin die nicht die Games Convention zeigen sondern ein anderes Event. :)

Dann habe ich das Ziel die Events zu ordnen, was ja mit order by title gehen würde
ABER ich habe kein Einfluss auf die Sortierung(was nicht soooo schlimm is) und was schlimme is ich kann dementsprechend den Title nicht ausgeben, denn der User kann anhand eines/mehrerer Bildes/r nicht immer das Event erkennen.

Angenommen ich habe noch Rockfestival Bilder mit in Events unterscheidet sich der titel dementsprechend ^^

Anzeige(event):

GC05

bilder bilder bilder

Rockfestival

bilder bilder

usw

Ich hoffe nun versteht ihr/du das problem :)
 
ich verstehs immer noch nicht *schnief*

Wenns nur um die Sortierung geht, dann gibt es kein Problem.

Event GC
Event Rock
Event GC
Event Z

wird mit order by title asc zu:

Event GC
Event GC
Event Rock
Event Z

Das heißt, gleiche Bilder stehen eh schon zusammen.

Wenn du jetzt noch "Unter-Überschriften" machen willst, dann könntest du dir zum Beispiel beim Ausgeben des ersten Bildes den Titel merken und mit dem nächsten vergleichen.

Code:
$old_title = "";

while($daten = mysql_fetch_object($query_result))
{
    if($daten->title != $old_title)
    {
        echo $old_title;
        $old_title = $daten->title;
    }

// weitere Bildausgabe

}
 
Zurück