Seite mit includes aufbauen?

Die Variable $fehler vergiss mal die gibt nur einen rückgabe wert da brauchste garnix machen.
Dann will ich mal versuchen dir das zu erklären.

Mit der Anweisung:
$db = new db($fehler); //Variable= new klassenname(Parameter)

Wird die Variable $db durch den new befehl zum Objekt der Klasse db.
Nun durch das Objekt der Klasse kann man nun die klassen funktionen ansprechen.
Das geschiet mit dem zuweisung zeichen -> danach folgt der functionname und die Parameter übergabe.
$db->query($Sqlstr); Objekt zuweisung funktionname(Parameter)
In dem fall der String von der Sql anweisung.

Das Problem ist die Kategorien können erstellt und gelöscht werden und haben damit sehr variable ID nummern

Das ist überhaupt kein Problem das ist nee sache von Datenbank entwiklung.Wenn die Tabellen und beziehung richtig aufgebaut sind ist der rest ein kinderspiel.
du hast bei mal 2 Tabellen wenn ich dich richtig verstanden hab Kategorie und News

Tabelle Kategorie:
Id ( Primerykey autoincrement)
Kat_name: ( varchar)

Tabell News:
Id ( Primerykey auto)
Eintrag ( long text eben der news eintrag)
f_katid (Fremdschlüssel von kategorie)

So mit hast du mal eine verbindung mit news und kategorien so kann du mal 1 kategorie viele news zuordnen.
Wenn du noch unter Kategorien haben willst dann mußte mit einen Prefix arbeiten dann schaut die Kategrie Tabelle so aus

Tabelle Kategorie:
Id ( Primerykey autoincrement)
Kat_name: ( varchar)
Prefix (integer)

Das Schema mit Prefix erklär ich dir dann wenn du so weit bist.

Mfg Splasch
 
Ja das mit den Kategorien den News zuordnen ist ja kein Problem =)

Mein Problem ist, jeder User soll sich aussuchen können, welche Newskategorien er sehen will! Wenn er die ausgewählt hat werden die in eine extra Tabelle nennen wir sie user_kategorie seine gewünschten Kategorien hineingeschrieben. Sprich User_ID notiert und die News-Kategorie-IDs von den gewünschten Kategorien. Nun soll beim Newsausgeben halt nur ausgegen werden, die News, welche der User in der Tabelle user_kategorie eingetragen hat.

Die Tabellen News und News-Kategorie existieren bereits =) Darum ging es wie gesagt auch gar nicht. Sondern halt um die Auswahl der News die der User sehen will.

mfg
 
Mein Problem ist, jeder User soll sich aussuchen können, welche Newskategorien er sehen will! Wenn er die ausgewählt hat werden die in eine extra Tabelle nennen wir sie user_kategorie seine gewünschten Kategorien hineingeschrieben

Brauchst ja blos die Beziehung erweitern zu den Tabellen

Tabelle user:
Id
name

Tabelle user_kategorie
f_userid (Primárykey) fremdschlüssel user tabelle
f_katid (Primärykey) fremdschlüssel kategorie tabelle

Mfg Splasch
 
Wie das versteh ich nicht wie du das meinst? Ich meine wenn ich es auslese soll es ja nach der ID der News sortiert werden. Ich könnte zwar erst CS News und dann Lan news auslesen, aber die wären ja dann nicht sortiert. Ich glaub ich steh zu dem Thema ein wenig aufm Schlauch. *g*

mfg
 
Sortierung kannste im SQL-Query vornehmen...

Eigne dir doch einfach mal etwas BASISWISSEN über PHP und MySQL an...

Dann kommst du auch eher vorwärts ;)
Wie ich mit einem SELECT Befehl auslese ist mir auch klar. SELECT * from tabelle WHERE bla=bla ORDER by bla LIMIT 0,10 ist ja auch nicht das Problem, aber damit krieg ich ja schlecht meine Auswahl die ich haben will in diesem Fall verstehst du?

Und ich habe ja auch oben meinen Ansatz zum JOIN Befehl aufgezeigt, nur irgendwie wurde der wohl überlesen?

Nochmal erklärt:

Ich habe eine Tabelle News:

ID | Newstitel | Newsinhalt | KategorieID | Aktiv | User (falls es sich um eine vom User erstellte News handelt)

Dann habe ich eine Tabelle für die Kategorie:

ID | Kategorietitel |

Und zuletzt natürlich eine Tabelle User_Kategorie:

ID | UserID | KategorieID

So nun muss ich ja alle News auswählen für den eingeloggten User. Sprich ich finde seine ID raus aus der User Datenbank. Jetzt habe ich die ID. Dann selectiere ich also alle KategorieIDs aus der User_Kategorie Tabelle. Sagen wir ich habe jetzt die KategorieIDs 2,5 und 7. JEtzt muss ich praktisch ja aus der Newstabelle raussortieren WHERE Kat_id = 2 OR Kat_id = 5 OR Kat_id =7. Nur da das ja nicht statisch ist und jeder User unterschiedlich viele Newskats auswählen können, muss ich das ja anders regeln. Oder nicht?
 
Hi, dafür gibt es in (My)SQL die eingebaute Funktion IN(), die eine Liste der erlaubten Werte erhält. Das könnte in etwa so aussehen:
PHP:
$ids = array(2, 5, 7); // Die IDs aus der Datenbank oder woher auch immer als Array

$in = 'WHERE Kat_id IN(' . implode(', ', $ids) . ')';

Und dann halt nur noch $in an der passenden Stelle in deine SQL Abfrage einbauen.

ACHTUNG: Das funktioniert nur, wenn es sich bei den IDs um Zahlen handelt!
 
Zuletzt bearbeitet:
Zurück