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)

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.09.2006, 20:28:54
panametrics panametrics ist offline
Anfänger
 
Registriert seit: Nov 2004
Ort: Mittelfranken
Alter: 39
Beiträge: 87
query bringt mit WHERE xyz OR xyz zu viele ergebnisse

Hallo,

ich arbeite an einem kleinen Rechtesystem für ein Forum.
Natürlich soll nicht jeder User jedes Forum sehen. Deswegen werden User in Gruppen eingeteilt, und Gruppen dann auf die ForenID´s berechtigt.

Funktioniert alles wunderbar, ist gut und toll. Natürlich soll auch bei einer Suche nicht einfach hingegangen werden und "Select * from discussion_postings WHERE [...]" gemacht werden, sondern auch hier die Rechtestruktur eingehalten werden. Ich möchte also nur Beiträge aus Foren die ich auch sehen darf.

Kein Thema, bekomm ich zu nem gewissen Teil noch hin.
Mein Problem: wenn ich die Query mit
"[...] WHERE cgu.nick='$nick' AND dp.message LIKE '%$suche%' ORDER BY [...]"
abschicke, und keine weitere WHERE Klausel einbaue funktioniert es. Mein Bauweg war aber danach noch ein "OR dp.message LIKE '%$suche%'" einzubauen.
Ab dem Zeitpunkt wo ich die Where Klausel um OR erweitere, bekomme ich zu viele Ergebnisse, eben halt von den Foren die ich nicht sehen dürfte. Hat wer ne Idee warum das so ist?

Hier beide Statements in voller Länge:

Das funktionierende:
Code:
SELECT * FROM community_groups_user AS cgu
  INNER JOIN `community_groups` AS cg ON cgu.group_id = cg.group_id
  INNER JOIN `discussion_access` AS da ON cg.group_id = da.group_id
  LEFT JOIN `discussion_topics` AS dt ON da.topic_id = dt.id_topic 
  INNER JOIN `discussion_postings` AS dp ON da.topic_id = dp.id_topic
  WHERE 
  		cgu.nick='$nick'
  		AND dp.message LIKE '%$suche%' 
  		ORDER BY tmstamp DESC
Hier das NICHT funktionierende (es funktioniert Syntaxmäßig, nur eben falsche Ergenisse werden geliefert):
Code:
SELECT * FROM community_groups_user AS cgu
  INNER JOIN `community_groups` AS cg ON cgu.group_id = cg.group_id
  INNER JOIN `discussion_access` AS da ON cg.group_id = da.group_id
  LEFT JOIN `discussion_topics` AS dt ON da.topic_id = dt.id_topic 
  INNER JOIN `discussion_postings` AS dp ON da.topic_id = dp.id_topic
  WHERE 
  		cgu.nick='$nick'
  		AND dp.message LIKE '%$suche%'
  		OR dp.subject LIKE '%$suche%' 
  		ORDER BY tmstamp DESC

Grüße: Tom
__________________
# man lernt nie aus #
Mit Zitat antworten
  #2  
Alt 15.09.2006, 20:48:56
panametrics panametrics ist offline
Anfänger
 
Registriert seit: Nov 2004
Ort: Mittelfranken
Alter: 39
Beiträge: 87
AW: query bringt mit WHERE xyz OR xyz zu viele ergebnisse

Wer lange genug probiert wird letzten Endes belohnt:

DIe Lösung sind Klammern, an die ich überhaupt nicht gedacht hab...

Code:
SELECT * FROM community_groups_user AS cgu
  INNER JOIN `community_groups` AS cg ON cgu.group_id = cg.group_id
  INNER JOIN `discussion_access` AS da ON cg.group_id = da.group_id
  LEFT JOIN `discussion_topics` AS dt ON da.topic_id = dt.id_topic 
  INNER JOIN `discussion_postings` AS dp ON da.topic_id = dp.id_topic
  WHERE 
  		cgu.nick='$nick'
  		AND (dp.message LIKE '%$suche%'
  		OR dp.subject LIKE '%$suche%') 
  		ORDER BY tmstamp DESC
__________________
# man lernt nie aus #
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
Query Ergebnisse zurordnen Micronax PHP Grundlagen 0 22.03.2006 19:46:32
WHERE MATCH ... AGAINST..., zusätzliche WHERE Anweisungen definieren?! 8805-evergreen. MySQLi/PDO/(MySQL) 6 10.03.2006 22:48:06
Das soll nach 1 h ausgeführt werden! Spike15 PHP Grundlagen 12 04.04.2005 17:29:57
To Many Connections ProGamer11 PHP Grundlagen 0 19.06.2003 00:52:56
MySQL Invalid Query!! :( Gentlemani PHP Grundlagen 3 28.01.2003 16:44:41


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:42:05 Uhr.


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


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