SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

PHP 5.3 & MySQL 5.1

PHP 5.3 & MySQL 5.1 zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > MySQLi/PDO/(MySQL)
Hilfe Community Kalender Heutige Beiträge Suchen

MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 08.12.2005, 11:25:26
Skyman Skyman ist offline
Anfänger
 
Registriert seit: Jul 2003
Ort: NRW
Beiträge: 76
Doppelte Abfrage aus einer anderen Tabelle

Hallo Leute,

vielleicht mache ich es grundsätzlich zu kompliziert, aber es hat bisher gut funktioniert, doch nun will ich meine Datentabelle erweitern und stoße auf ein kleines Hindernis.

Folgende Situation:
Ich lese eine Tabelle "artikel" aus. Dort enthalten war bisher ein Feld "kategorie", welches den Index der Tabelle "kategorien" enthielt, aus der ich zur Anzeige im Browser den Klartext ausgelesen habe. Das ganze sah dann so aus (aufs wesentliche gekürzt, daher ...):
PHP-Code:
$q_sql  "SELECT ..., preis_1, preis_2, menge, 
kategorien.kat_name AS kategorie FROM artikel, kategorien WHERE kategorien.id=artikel.kategorie AND artikel.id=$id"

So weit so gut. Jetzt habe ich aber eine zweite Kategorie eingebaut und würde diese ebenfalls auslesen wollen. Also ich habe ein Feld "kategorie2", das ebenfalls den Index der Tabelle "kategorien" enthält. Das soll er beim auslesen auch gleich in Klarschrift aus der "kategorien"-Tabelle umwandeln, doch da weiß ich die Notation nicht, denn wenn ich schreibe:
PHP-Code:
$q_sql  "SELECT ..., preis_1, preis_2, menge, 
kategorien.kat_name AS kategorie, kategorien.kat_name AS kategorie2 FROM artikel, kategorien 
WHERE kategorien.id=artikel.kategorie ??? AND artikel.id=$id"

...bleiben die Fragezeichen. :-)
Wie sage ich ihm, das er zweimal die Tabelle "kategorien" durchsuchen soll, da die Felder "kategorie" und "kategorie2" ja durchaus verschieden sind...logischerweise ;-)
Schicke ich den Befehl so ab (natürlich ohne die Fragezeichen), dann gibt es zwar keinen Fehler, aber dann habe ich zweimal die gleiche Feldbelegung, nämlich die aus "kategorie", logisch.... und nu?

Kann mir da jemand mal eine schlüssige Notation nennen, vielleicht ist das mit der "AS" Zuweisung ja gedanklich falsch oder oder oder....

Vielen Dank im Voraus.

Gruß
Martin
__________________
Caesar: veni, vidi, vici /Er kam, sah und siegte
Skyman: Er kam, sah auch und zersägte seinen Computer
Mit Zitat antworten
  #2  
Alt 08.12.2005, 13:00:32
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
AW: Doppelte Abfrage aus einer anderen Tabelle

Zunächst einmal solltest du deine Tabellenstruktur überarbeiten. Wenn zwischen zwei Entitäten (in diesem Fall Artikel und Kategorien) eine n:m-Beziehung besteht, nutzt man eine dritte Tabelle zur Zuordnung von Artikeln zu Kategorien:

artikel:
artikelid
titel

kategorien:
kategorieid
bezeichnung

artikel_kategorien:
artikelid
kategorieid
Mit Zitat antworten
  #3  
Alt 08.12.2005, 16:27:54
Skyman Skyman ist offline
Anfänger
 
Registriert seit: Jul 2003
Ort: NRW
Beiträge: 76
AW: Doppelte Abfrage aus einer anderen Tabelle

Hmh,
danke schonmal für deine Antwort.
Ja sicher, also für den generell schöneren Aufbau sollte ich also eine neue TAbelle erstellen, in der die Zuordnungen zwischen Artikeln und Kategorien stehen, was dann natürlich locker ermöglicht, einen Artikel nicht nur in zweien, sondern in beliebig vielen Kategorien gleichzeitig zu listen, man muß ja nur nach allen Treffern der Artikel-ID suchen.

Soweit die Theorie. Da ich ja jetzt auch nicht unbedingt die ganze Programmstruktur neu machen will suche ich dennoch nach einer möglichen Lösung für mein angezeigtes Problem die zwei Abarbeitungen in einem Aufruf machen zu können, falls das überhaupt geht.

Ich werde aber in dem neuen Shopsystem das gerne überdenken und so übernehmen, das ist eine ganz fuchige Idee von dir. :-)

Gruß
Martin
__________________
Caesar: veni, vidi, vici /Er kam, sah und siegte
Skyman: Er kam, sah auch und zersägte seinen Computer
Mit Zitat antworten
  #4  
Alt 08.12.2005, 17:41:55
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
AW: Doppelte Abfrage aus einer anderen Tabelle

Dann erklär nochmal genau, was du machen möchtest.
Mit Zitat antworten
  #5  
Alt 11.12.2005, 23:11:18
Skyman Skyman ist offline
Anfänger
 
Registriert seit: Jul 2003
Ort: NRW
Beiträge: 76
AW: Doppelte Abfrage aus einer anderen Tabelle

Nabend.

Ähm, was ich möchte habe ich ja oben bereits beschrieben, grundsätzlich soll die SQL Abfrage so lauten, das sie bei der auszulesenden Tabelle zwei ID-Werte holt und diese als Aliasse den Namen der ID's aus einer anderen Tabelle holt.

Das habe ich ja realisiert, indem ich die ID "kategorie" AS "kat_name" gelesen habe. Problem ist nur, wenn ich das ein zweitesmal mit "kategorie2" mache, dann enthält diese ebenfalls nur die erste gefundene Übereinstimmung und sucht nicht ein zweitesmal, siehe SQL Auszug oben im ersten Posting.

Das ist mein Problem. Egal ob schön oder nicht schön, aber vielleicht gibt es eine Lösung ohne gleich alles neu programmieren zu müssen...

Gruß
Martin
__________________
Caesar: veni, vidi, vici /Er kam, sah und siegte
Skyman: Er kam, sah auch und zersägte seinen Computer
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Problem dynamische Tabelle aber wie? Pixelschubser PHP für Fortgeschrittene und Experten 1 08.10.2005 18:16:24
Doppelte MySQL-Abfrage in einer Tabelle Geri MySQLi/PDO/(MySQL) 14 21.04.2005 14:47:21
mehrere count in einer abfrage innerhalb einer tabelle schnubbi81 MySQLi/PDO/(MySQL) 1 23.09.2004 13:05:26
Neuling Bilder in tabelle nach abfrage Achill_DAoH MySQLi/PDO/(MySQL) 7 29.08.2004 12:22:53
SQL ABfrage in Tabelle ausgeben. Shape24 PHP für Fortgeschrittene und Experten 13 17.05.2003 10:33:30


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:50:00 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt