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 ::

Der CSS-Problemlöser

Der CSS-Problemlöser 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)

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 15.06.2006, 10:19:38
Franzx Franzx ist offline
Junior Member
 
Registriert seit: Nov 2005
Ort: Bremen
Beiträge: 437
Vergleich schlägt fehl oder brauche ich noch eine Variable?

Habe zwei Tabellen. Die werden verknüpft über die Felder
PHP-Code:
BD_cnt int(11PrimKey 
aus Tabelle 1,
PHP-Code:
BD_cnt_OA int(11
aus Tabelle 2.
Die Query dazu lautet:
PHP-Code:
$result_bd mysql_query("SELECT * FROM tb1, tb2 WHERE BD_cnt_OA = BD_cnt ORDER BY BD_cnt") or die(mysql_error()); 
Als Ausgabe erhalte ich alle Datensätze und auch noch richtig sortiert.

Nun ist es so, dass BD_cnt, mit ein paar weiteren Feldern, ein Datensatz ist dem mehrere BD_cnt_OA zugeordnet sind. Die Angegebene quere listet und zeigt diese auch richtig an.
Nun möchte ich aber bei der Ausgabe dieser BD_cnt Datensätze nur die zugehörigen BD_cnt_OA anzeigen lassen. Derzeit werden immer alle BD_cnt_OA zu den einzelnen BD_cnt Datensätzen ausgegeben.

Mit einer weiteren if Schleife:
PHP-Code:
if $_POST['BD_cnt'] == $row['BD_cnt_OA']{ $row['BD_cnt_OA'] } 
komme ich auch nicht weiter. Was mache ich falsch.

BD_cnt ist die Laufende Nummer und wird richtig ausgegeben, also müßte die doch zum Vergleich einsetzbar sein.
Die BD_cnt_OA wird auch richtig ausgegeben, da ich Sie mir zusätzlich zum eigentlichen Datenfeld anzeigen lasse. Alos wenn ich 1 == 1 mache so dürfte doch nur 1 dabei rauskommen. ???

cu,
Franzx
__________________
Für die richtige Frage gibt's die richtige Antwort!
Mit Zitat antworten
  #2  
Alt 17.06.2006, 14:53:04
logen logen ist offline
Anfänger
 
Registriert seit: Jun 2006
Ort: Flensburg
Beiträge: 12
AW: Vergleich schlägt fehl oder brauche ich noch eine Variable?

hi,
ich hoffe ich hab deine frage richtig verstanden.
wenn dem so ist, dann mach es einfach mit nem left join und lass dir nur die ergebnisse von BD_cnt_OA ausgeben:
PHP-Code:
SELECT tb1.test FROM tb1 LEFT JOIN tb2 ON tb1.test=tb2.test WHERE tb2.test IS NOT NULL 
du bekommst jetzt das ergebnis aus tb1, wo tb1.test=tb2.test
__________________
ÄSMA
Logen

Geändert von logen (17.06.2006 um 14:55:48 Uhr)
Mit Zitat antworten
  #3  
Alt 17.06.2006, 15:32:15
Franzx Franzx ist offline
Junior Member
 
Registriert seit: Nov 2005
Ort: Bremen
Beiträge: 437
AW: Vergleich schlägt fehl oder brauche ich noch eine Variable?

Vielen Dank für den Hinweis.
Habe es auch schon mit Left Join versucht, mit zwei unterschiedlichen querys, sprich einmal tb1 und eine eigene query der tb2 und die Werte miteinander verglichen.
Die Ausgabe der BD_cnt und der BD_cnt_OA habe ich auch immer mit ausgegeben, eben zur Kontrolle ob ein und der richtige Wert ausgegeben wird.
Alle Werte sind richtig und die Ausgabe ist richtig gruppiert oder sortiert.

Ich gebe die Datensätze in Tabellenform aus und der Wechsle von Datensatz zu Datensatz erfolgt mit {if !($tr % 2)} ...
was auch alles funzt.
Die Ausgegebenen DS zeigen die richtigen gewünschten Daten, incl. der richtigen BD_cnt.
Mit der query wird die BD_cnt_OA abgefragt und richtig übermittelt, denn es steht da, wenn ich es mit echo ausgeben lasse, 1 = 1 oder 2 = 2, was eben BD_cnt = BD_cnt_OA entspricht und = true entspräche.

Es werden zunächst alle BD_cnt = 1 ausgegeben und leider auch direkt im Anschluß, ohne den DS zu wechseln, auch die BD_cnt =2.

Verwende ich in der quere nicht BD_cnt_OA sondern den Nummerischen Wert 1 dann werden zwar nur alle BD_cnt = 1 ausgegeben, aber eben auch auf allen DS.
Auch der DS mit der BD_cnt = 2 listet alle BD_cnt 1er. Es fehlt der STOP mit Beginn des nächsten DS.

???????????

cu,
Franzx
__________________
Für die richtige Frage gibt's die richtige Antwort!
Mit Zitat antworten
  #4  
Alt 17.06.2006, 21:43:23
logen logen ist offline
Anfänger
 
Registriert seit: Jun 2006
Ort: Flensburg
Beiträge: 12
AW: Vergleich schlägt fehl oder brauche ich noch eine Variable?

ich hoffe ich kann die noch folgen. :)
aber wenn ich das richtig verstanden habe, dann willst du garnicht ALLE Datensätze wo tb1 = tb2 ist, sondern nur wo tb1=tb1=2.
wenn dem so ist mach doch einfach
PHP-Code:
SELECT tb1.test FROM tb1 LEFT JOIN tb2 ON tb1.test=tb2.test WHERE tb2.test 
wenn es das nicht ist müsstest du glaube ich mal in vereinfachter form dein ergebnis posten und dazuschreiben was du statt dessen gerne hättest.
__________________
ÄSMA
Logen
Mit Zitat antworten
  #5  
Alt 17.06.2006, 22:09:27
Franzx Franzx ist offline
Junior Member
 
Registriert seit: Nov 2005
Ort: Bremen
Beiträge: 437
AW: Vergleich schlägt fehl oder brauche ich noch eine Variable?

doch, doch ich will alle Datensätze aus tb2 den entsprechenden Datensätzen aus tb1 zuordnen, aber eben zuordnen.

Beispiel:
Die tb1 hat 2 Datensätze. Der prim. Key liegt auf BD_cnt
Die tb2 hat 30 Datensätze, mit jeweils dem Feld BD_cnt_OA, die insgesamt gesehen den beiden Datensätzen zugeordnet sind. Aber, es gibt 25 Datensätze in tb2 mit dem Wert von BD_cnt_OA = 1, also im Feld steht die 1. Weiter gibt es noch 5 Datensätze mit dem Wert von BD_cnt_OA = 2, also im Feld steht die 2.

Rufe ich nun die DS der tb1 ab, da steht z.B. Strasse, Ort, Bezeichnung, möchte ich gerne die Werte aus tb2 mit ausgeben, in der stehen die zugeordneten Stadtteile.

Leider werden nun immer alle Stadtteile in beiden Datensätzen gezeigt.

Dein Vorschlag tb2.test = 2 liefert mir nur die 5 Stadtteile zum Datensatz BD_cnt = 2 aber diese werden auch im Datensatz der BD_cnt = 1 ausgegeben.

Je länger ich aber darüber nachdenke desto klarer wird auch die Abfrage, 1 == 1 oder 2 == 2. Es kann so nicht funktionieren, weil der Vergleich zwischen BD_cnt = BD_cnt_OA immer alles ausgibt, es ist einfach immer richtig. Ich muss irgendwo den Wechsel hinbekommen, wenn alle 1er Ortsteile ausgelesen sind so muss zum nächsten Ds gesprungen werden.

cu,
Franzx
__________________
Für die richtige Frage gibt's die richtige Antwort!
Mit Zitat antworten
  #6  
Alt 18.06.2006, 13:18:21
logen logen ist offline
Anfänger
 
Registriert seit: Jun 2006
Ort: Flensburg
Beiträge: 12
AW: Vergleich schlägt fehl oder brauche ich noch eine Variable?

naja, du müsstest schon gerne auf der seite wissen welche teile du anzeigen möchtest. die mit 1 oder die mit 2. wenn du dass weisst kannst du die abfrage wie oben beschrieben doch einfach nehmen und setzt tb2.test = 2 wenn du die 2'er willst und tb2.test = 1 wenn du die 1'er willst. dass müsste dir doch bekannt sein wenn du die seite aufrufst.
sicher ist 1 == 1 und 2 == 2. deshalb die eingrezung wie oben beschrieben.
oder weisst du zum zeitpunkt der anfrage nicht ob du 1 oder 2 ausgeben willst. dann ist das wie du schon erkannt hast unmöglich.
__________________
ÄSMA
Logen
Mit Zitat antworten
  #7  
Alt 18.06.2006, 13:33:41
Franzx Franzx ist offline
Junior Member
 
Registriert seit: Nov 2005
Ort: Bremen
Beiträge: 437
AW: Vergleich schlägt fehl oder brauche ich noch eine Variable?

Zitat:
Zitat von logen
naja, du müsstest schon gerne auf der seite wissen welche teile du anzeigen möchtest.
Alle Datensätze, nicht nur einen, mit den zugeordneten Feldern aus der tb2.

Derzeit sind es auch wie beschrieben nur 2 Datensätze die entsprechend mit den Zuordnungen angezeigt werden sollen, zum Testen, doch das Ziel ist natürlich in der Echtanwendung "unbegrenzt" Datensätze auf dieser Art und Weise zusammen zu setzen.
Letztendlich sind es Datensätze in denen ein Array mit unterschiedlich vielen Ergebnissen eingesetzt werden soll.

cu,
Franzx
__________________
Für die richtige Frage gibt's die richtige Antwort!
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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
Ich brauche hilfe bei if Variable Dj-Triesch PHP für Fortgeschrittene und Experten 0 18.03.2006 12:49:45
sql Abfrage brauche Hilfe Join oder ??? illetuffi MySQLi/PDO/(MySQL) 1 08.12.2005 11:52:00
Dateiupload über Mozilla schlägt fehl: Mime-Typ? mad-boy PHP Grundlagen 2 07.11.2004 19:13:56
Include oder Variable? Ludwig PHP Grundlagen 0 24.10.2004 10:15:22
variable variable-Name gerhard PHP Grundlagen 2 02.08.2003 06:58:28


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:20:16 Uhr.


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


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