php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > SQL / Datenbanken
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 21-03-2018, 23:30
sepp
 Registrierter Benutzer
Links : Onlinestatus : sepp ist offline
Registriert seit: Aug 2007
Beiträge: 296
sepp kann nur auf Besserung hoffen
Standard Case Mysql

Hallo zusammen

Ich habe da eine Abfrage die alle Daten auflistet welche zuvor in das array $einzelteile geschrieben wurde.
PHP-Code:
    $query_abfragemysql_query ("SELECT * FROM $tab_teile where id_user = '$id_user' 
&& id_gruppe = '$id_gruppe' 
&& status ='aktiv' 
&& id_teil IN ($einzelteile)"
); 
Soweit so gut läuft einwandfrei.
Nun wollte ich noch eine zusätzliche Bedingung reinbringen, das das IN nur bei dem mit der Regel Master durchgeführt wir und zwar als Case When $rechte = 'master' then && id_kurse IN
Also
PHP-Code:
    $query_abfragemysql_query ("SELECT * FROM $tab_teile where id_user = '$id_user' 
&& id_gruppe = '$id_gruppe' 
&& status ='aktiv' 
(CASE 
WHEN $rechte = 'master' 
THEN && id_teil IN ($einzelteile) END)"
); 
Das geht aber nicht, habe es auch schon ohne && und an verschiedenen Stellen oder mit where versucht ohne Erfolg.

Habt Ihr eine Idee wie ich zum Ziel kommen?
Danke
Mit Zitat antworten
  #2 (permalink)  
Alt 22-03-2018, 10:03
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.546
h3ll befindet sich auf einem aufstrebenden Ast
Standard

PHP-Code:
$sql "
    SELECT *
    FROM " 
$tab_teile "
    WHERE id_user = '" 
mysql_real_escape_string($id_user) . "' 
    AND id_gruppe = '" 
mysql_real_escape_string($id_gruppe) . "' 
    AND status = 'aktiv'
"
;

if (
$rechte === 'master') {
    
$sql .= " AND id_teil IN (" $einzelteile ")";

SELECT * sollte nicht verwendet werden. Gib im SELECT immer die Spalten an, die du im Ergebnis erwartest.

Die mysql_* Funktionen sind schon lange veraltet und in den aktuellen PHP-Versionen entfernt. Es sollte stattdessen mysqli oder PDO verwendet werden.

So ein Mischmach aus Deutsch und Englisch (user, gruppe, ...) ist nicht gerade sinnvoll. Die Krönung ist ja "query_abfrage", weil Query ist das englische Wort für Abfrage :facepalm:
Mit Zitat antworten
  #3 (permalink)  
Alt 22-03-2018, 20:29
sepp
 Registrierter Benutzer
Links : Onlinestatus : sepp ist offline
Registriert seit: Aug 2007
Beiträge: 296
sepp kann nur auf Besserung hoffen
Standard

Zitat:
SELECT * sollte nicht verwendet werden. Gib im SELECT immer die Spalten an, die du im Ergebnis erwartest.

Die mysql_* Funktionen sind schon lange veraltet und in den aktuellen PHP-Versionen entfernt. Es sollte stattdessen mysqli oder PDO verwendet werden.
Danke für den Hinweis ich werde mich mal schlau machen. Was ist besser PDO oder mysqli?

Ja, mein Deutsch Englisch hast Du schon im letzten Beitrag gerühgt. Ich versuche mich zu besser und zwar nur weil es Sinn macht was Du sagst.

Geändert von sepp (22-03-2018 um 20:32 Uhr)
Mit Zitat antworten
  #4 (permalink)  
Alt 22-03-2018, 21:34
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.546
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von sepp Beitrag anzeigen
Danke für den Hinweis ich werde mich mal schlau machen. Was ist besser PDO oder mysqli?
Ein "besser" gibt es nicht.

mysqli bietet zusätzlich zur objektorientierten auch eine prozedurale API. Die erleichtert den Umstieg von mysql auf mysqli, da sie sehr ähnlich ist.

PDO bietet nur eine objektorientierte API, die meiner Meinung angenehmer zu verwenden ist als die von mysqli. PDO unterstützt auch andere Datenbanksysteme als MySQL.
Mit Zitat antworten
Antwort

Lesezeichen


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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
MySQL plötzlich Case Sensitive? Laire SQL / Datenbanken 10 10-06-2009 19:27
MySQL CASE Onyxagargaryll SQL / Datenbanken 6 19-03-2009 20:36
mySQL query case sensitive machen Seikilos SQL / Datenbanken 1 11-12-2008 08:53
Switch / Case Dampfi PHP Developer Forum 4 01-10-2007 11:57
switch case mit unter switch switch case funzt nicht ?!! wieso ? HIlfe Vollgas U PHP Developer Forum 3 27-08-2003 13:12

Themen-Optionen
Thema bewerten
Thema bewerten:

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 an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

zechat ansehen zechat

Willst du Chat-Admin in deinem eigenen kostenlosen Chat mit vielen Funktionen sein, und soll der Chat dazu noch schnell und stabil auf alles Webservern sein? Wenn ja, ist deine Suche jetzt vorbei!

07.06.2018 Manuel1986 | Kategorie: AJAX/ Chat
bootstrapzero

kostenlose Bootstrap-Themes

05.06.2018 Berni | Kategorie: HTML5/ CSS-Responsive
Entwicklung einer Chat-Webanwendung mit Node.js

Einfacher Chat mit Node.js

26.05.2018 Berni | Kategorie: Node.js/ nodejs-Tutorials
 Alle PHP Scripte anzeigen

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