db-abfrage mit php befehl verlinken

Superkebap

Grünschnabel
Hallo!

Mir fehlt das nötige wissen für zwei Aufgaben; vll könnt ihr mir helfen?

Meine Datenbank sieht folgendermaßen aus:

tabelle_uebersicht1:

|Auto |
-----------------
|bmw 316i |
|audi TT |
|ford Mustang|
-----------------

tabelle_uebersicht2 (andere DB,deshalb nicht in tabelle_uebersicht1 integriert):

|Auto |
-----------------
|bmw 316i |
|opel astra |
|vw touareg |
-----------------

tabelle_besitzer:

|Auto |Besitzer|
----------------------------
|bmw 316i |Besitzer1|
|bmw 316i |Besitzer2|
|opel astra |Besitzer3|
|ford Mustang|Besitzer4|
|vw touareg |Besitzer5|
-----------------------------

1.Nun gebe ich die "tabelle_uebersicht1" und "tabelle_uebersicht2" bzw. Teile davon über eine Abfrage aus. Hier sollte allerdings nur jedes Auto einmal ausgegeben werden (bmw 316i kommt z.B. zweimal vor). Beide in eine Tabelle zu integrieren ist keine Lösung, da sich die beiden tabellen auf zwei verschiedenen Servern und somit Datenbanken befinden. Hat jemand einen Lösungsvorschlag, wie z.B. "wenn auto1 schon abgefragt dann aus weiterer abfrage ausschließen" (schön, wenn das so einfach ginge ;) )

2. So, jetzt haben wir also die vorhandenen Autos ausgegeben. Nun möchte ich, dass bei einem Klick auf eine bestimmte Ausgabe (z.B. audi TT) automatisch ein neuer php Befehl/Abfrage in Gang gesetzt wird, der aus "tabelle_besitzer" alle Besitzer des angklickten Wagens (hier z.B. audi TT) wiederum ausgibt. Dabei sollte man den Befehl aber nicht für jedes Auto zuvor schreiben müssen, sondern es sollte sich um einen Vorgang handeln, bei dem automatisch "tabelle_besitzer" nach dem zuvor geklickten Auto durchsucht wird.

Schön, dass ihr euch bis zum Ende durchgearbeitet habt ;)
Ich hoffe, einer von euch hat die nötige Erfahrung oder eine Idee, wie man die Aufgaben bewältigen kann.
 
Zuletzt bearbeitet:
1. Du musst ja eine Abfrage zuerst machen. Bei der Abfrage speicherst du zusätzlich alle Ergebnisse in einem Array und durchläufst dass dann bei der zweiten Abfrage bei jedem Wert und vergleichst die Einträge mit dem neuen Wert.
Es gäbe aber auch eine Lösung über das SQL-Statement und WHERE NOT IN. Du könntest z.B. bei der ersten Abfrage das SQL-Statement für die zweite Abfrage generieren.
SELECT * FROM Tabelle WHERE NOT IN(Ergebnisse aus Abfrage1).
also z.B. SELECT * FROM Tabelle WHERE NOT IN("bmw 316i", "audi TT" ...).

2. Du könntest es z.B. so machen:
Nehmen wir mal an deine Datei heißt index.php. Dann verlinkst du bei jedem Auto nochmal auf die index.php, jedoch übergibst das jeweilige Auto noch in einer Variable: index.php?Auto=1.
Die 1 ist eine ID. Ich weiß nicht, ob du eine ID in den Datenbanken hast, aber wenn nicht, wird es etwas komplizierter - vor allem wegen den Leerzeichen. Ich weiß nicht ob man in der URL auch ?Auto=bmw 316i übergeben kann.
Naja, wie auch immer, dann könntest du wie folgt vorgehen:
PHP:
if(isset($_GET['Auto'])) {
 // SELECT Besitzer FROM tabelle_besitzer WHERE Auto = $_GET['Auto']
}
else
{
// Der ganz normale Code
}
 
Zuletzt bearbeitet:
Danke für deine Antwort, Suye :) !

Für 1. hat mir jemand folgende lösung gegeben:

SELECT DISINCT auto FROM tabelle_uebersicht1

Das ist wohl die einfachste Variante.

Zu 2.: Sorry, wenn ich jetzt Kindergartenfragen stelle, aber ich hab erst vor kurzem angefangen mich in php einzuarbeiten und die Suche hat mir wenig gebracht.

Dein Vorschlag klingt gut, allerdings habe ich das Prinzip noch nicht voll verstanden. Mit "index.php?Auto=1" würde ich eine Abrfrage vom Auto mit id1 einleiten. Das ist schonmal klar.

"Dann verlinkst du bei jedem Auto nochmal auf die index.php"

Wie verlinke ich das denn? Wird das durch "$_GET" oder "isset" automatisch gemacht oder was bewirkt dieser Befehl :confused: ?

Nochmal kurz was ich mir vorstelle, falls ich mich vorher irreführend ausgedrückt haben sollte:

Ich möchte auf einer Homepage bestimmte Werte einer Datenbankausgabe (hier "tabelle_uebersicht", Spalte "Auto") mit einer Db-Abfrage verlinken, die mir die entsprechenden Werte (Besitzer der entsprechenden Autos aus "tabelle_uebersicht1" und "tabelle_uebersicht2" ) ausgibt.

Danach evt. bei der Ausgabe der Besitzer das selbe: Durch einen Klick auf den Bestizer eine Ausgabe der Beitzerdaten (extra Tabelle, noch nicht erwähnt).

Vielen Dank im Vorraus!
 
Zurück