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

Websites optimieren für Google & Co.

Websites optimieren für Google & Co. 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 12.01.2012, 10:36:02
Willi0513 Willi0513 ist offline
Anfänger
 
Registriert seit: Mar 2009
Alter: 68
Beiträge: 11
Abfrage liefert Datensätze doppelt

Hallo zusammen,
ich stehe gerade ein wenig auf dem Schlauch.
Ich habe folgende Abfrage:

$abfSQL= ("SELECT DISTINCT n.notiz_id,
n.id_mitglieder_id,
n.notiz,
n.zaehler,
DATE_FORMAT(n.erstellt, '%d.%m.%Y') AS datum,
DATE_FORMAT(n.erstellt, '%H:%m:%s') AS zeit,
n.betreff,
n.thread,
m.mitglieder_id,
DATE_FORMAT(m.erstellt, '%d.%m.%Y') AS regdatum,
m.mitgliedsname
FROM notizen AS n, mitglieder AS m
WHERE n.thread='$thread' ");

Die Abfrage liefert mir die Daten 2mal. Hier wird ja das Produkt aus den IDs gebildet.
Ich habe momentan keine Idee, wie die Abrage aussehen muss, damit ich die Daten nur einmal erhalte.

Kann mir jemand helfen?

Gruß
Willi
Mit Zitat antworten
  #2  
Alt 12.01.2012, 11:20:12
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 15
Beiträge: 2.269
AW: Abfrage liefert Datensätze doppelt

Meine Glaskugel sagt:

Was ist wohl der Unterschied zwischen:
MYSQL_ASSOC und MYSQL_NUM zu MYSQL_BOTH
Mit Zitat antworten
  #3  
Alt 12.01.2012, 16:35:44
Willi0513 Willi0513 ist offline
Anfänger
 
Registriert seit: Mar 2009
Alter: 68
Beiträge: 11
AW: Abfrage liefert Datensätze doppelt

Zitat:
Zitat von DokuLeseHemmung Beitrag anzeigen
Meine Glaskugel sagt:

Was ist wohl der Unterschied zwischen:
MYSQL_ASSOC und MYSQL_NUM zu MYSQL_BOTH
Ich weiß jetzt nicht, was du mir sagen willst.
Die Abfrage liefert mir auch im 'MySQL Command Line Client' die Datensätze doppelt.
Dann kann das doch nichts mit php zu tun haben, oder doch?
Folgendermaßen verarbeite ich die Abfrage:

$erg=mysql_query($abfSQL) OR die("Error: $abfSQL <br>".mysql_error());
while ($list=mysql_fetch_row($erg)) {

Die anschließende Ausgabe funktioniert auch, nur dass ich jeder Datensatz 2 mal ausgegeben wird.

Da ich Anfänger bin, wäre es hilfreich, wenn du genau sagst, was fehlt.

Gruß
Willi
Mit Zitat antworten
  #4  
Alt 12.01.2012, 16:48:16
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 15
Beiträge: 2.269
AW: Abfrage liefert Datensätze doppelt

Mein Vorschlag:
Wenn es kein Ausgabe Problem ist, dann solltest du den JOIN überarbeiten.


Aber dazu kann ich nichts sagen, denn ich kenne die Tabellenstruktur nicht. Auch das falsche und das gewünschte Ergebnis nicht


Tipp:
Vermeide die vor SQL92 Joins

Also nur Links zum Thema:
A Visual Explanation of SQL Joins
SQL und relationale Algebra
Die 5 Normal Formen
Mit Zitat antworten
  #5  
Alt 12.01.2012, 20:51:34
Willi0513 Willi0513 ist offline
Anfänger
 
Registriert seit: Mar 2009
Alter: 68
Beiträge: 11
AW: Abfrage liefert Datensätze doppelt

Ich habe die Abfrage einmal reduziert:

SELECT n.id_mitglieder_id,
m.mitglieder_id,
n.thread
FROM notizen AS n, mitglieder AS m
WHERE n.thread=1;

Ausgabe:
id_mitglieder_id mitglieder_id thread
_______9___________9________1
_______9__________10________1
______10___________9________1
______10__________10________1
Hiervon möchte ich aber nur die ersten beiden Datensätze haben.
Wenn ich die 'm' Tabelle auch noch entferne bekomme ich natürlich nur 2 Datensätze, aber dann fehlen mir logischerweise die Daten aus der 'm' Tabelle.
Gibt es eine Möglichkeit, die richtige Anzahl Datensätze herauszubekommen, wenn die WHERE-Klausel sich auf Nichtschlüsselfelder bezieht? Man muss doch das 'kartesische Produkt' noch eingrenzen können.
'thread' ist bei mir kein Schlüsselfeld.

Gruß
Willi
Mit Zitat antworten
  #6  
Alt 13.01.2012, 08:06:44
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 15
Beiträge: 2.269
AW: Abfrage liefert Datensätze doppelt

Ich sehe da nichts doppeltes.

Warum bleibt die Struktur weiterhin geheim?

Und, was ist an den ersten beiden gut und an den zweiten beiden böse?
Wie willst du gut von böse unterscheiden?
Mit Zitat antworten
  #7  
Alt 13.01.2012, 11:50:16
Willi0513 Willi0513 ist offline
Anfänger
 
Registriert seit: Mar 2009
Alter: 68
Beiträge: 11
AW: Abfrage liefert Datensätze doppelt

Es sind im Endeffekt die gleichen Daten, die da rauskommen. Ich kann auch die letzten beiden DS nehmen, das spielt keine Rolle.
Die Struktur ist nicht geheim. Hier kommt sie:

CREATE TABLE `notizen` (
`notizen_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`id_mitglieder_id` int(10) unsigned NOT NULL,
`notiz` varchar(512) NOT NULL,
`erstellt` datetime NOT NULL,
`betreff` varchar(40) NOT NULL,
`thread` int(10) unsigned NOT NULL,
`zaehler` int(10) unsigned NOT NULL,
`noderg` varchar(1) NOT NULL,
PRIMARY KEY (`notizen_id`,`thread`) USING BTREE
)


CREATE TABLE `mitglieder` (
`mitglieder_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`mitgliedsname` varchar(30) NOT NULL,
`passwort` varchar(40) NOT NULL,
`email` varchar(50) NOT NULL,
`rechte` varchar(3) NOT NULL,
`erstellt` date NOT NULL,
`vorname` varchar(40) NOT NULL,
`nachname` varchar(40) NOT NULL,
PRIMARY KEY (`mitglieder_id`,`mitgliedsname`) USING BTREE
)

Ich hoffe, das hilft, um auf eine Lösung zu kommen.

Gruß
Willi
Mit Zitat antworten
  #8  
Alt 13.01.2012, 13:19:04
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 15
Beiträge: 2.269
AW: Abfrage liefert Datensätze doppelt

Naja...
Weiterhin bleibt die Frage offen:
Wie kann man böse von guten Einträgen unterscheiden?
Mit Zitat antworten
  #9  
Alt 13.01.2012, 23:08:15
Willi0513 Willi0513 ist offline
Anfänger
 
Registriert seit: Mar 2009
Alter: 68
Beiträge: 11
AW: Abfrage liefert Datensätze doppelt

Wenn du php-Experte bist und keine Ahnung von MySQL hast, dann ist das nichts schlimmes, aber verkneife dir einfach deine Antworten. Die bringen niemanden wirklich weiter.
Mit Zitat antworten
  #10  
Alt 14.01.2012, 02:20:08
DokuLeseHemmung DokuLeseHemmung ist offline
SELFPHP Experte
 
Registriert seit: Jun 2008
Alter: 15
Beiträge: 2.269
AW: Abfrage liefert Datensätze doppelt

"Experte" ist ein automatisch vergebener Titel.
Da habe ich keinen Einfluss drauf.

Und Tschüs...
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
Ergebnisse aus MySQL Abfrage, obwohl Abfrage eigentlich leer mauritius MySQLi/PDO/(MySQL) 1 15.09.2010 15:16:30
Abfrage liefert kein Ergebnis mitch26 MySQLi/PDO/(MySQL) 8 25.05.2009 12:33:18
Abfrage liefert Wert, obwohl in Bedingung ausgeschlossen Joern MySQLi/PDO/(MySQL) 6 06.02.2009 13:40:58
Wie SELECT mit Suche nach String beschleunigen? mgutt MySQLi/PDO/(MySQL) 11 23.10.2008 17:36:17
Abfrage aller Datensätze einer Datenbank sittingbull PHP Grundlagen 3 09.03.2006 11:27:08


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:57:43 Uhr.


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


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