php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2006

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 13.06.2006, 09:18  
Erfahrener Benutzer
 
Registriert seit: 04.12.2005
Beiträge: 286
PHP-Kenntnisse:
Fortgeschritten
snatch-ic
Standard Query schreibweise

Hallo,
muss man auf irgendeine bestimmte schreibweise achten wenn man ein SQL-Query mit Variablen schreibt?

Code:
SELECT
  $db_t_newsletter.vorname, $db_t_newsletter.nachname, $db_t_newsletter.email, 
  $db_t_newsletter_veriviziert.veriviziert, $db_t_newsletter.newsletter_id
FROM
  $db_t_newsletter
LEFT JOIN
  $db_t_newsletter_veriviziert
ON
  $db_t_newsletter.newsletter_id = $db_t_newsletter_veriviziert.newsletter_id
ORDER BY '$newsletter_order' '$richtung'
LIMIT $addressen_min, $adressen_pro_seite
Die Hauptsache ist das ich mit der Variable $richtung die Reihnfolge angebe, nur leider ändert sich die Reihnfolge nicht wenn sich die Variable in ASC oder DESC ändert.
Muss man da auf irgendwas besonderes achten?

mfg
snatch
snatch-ic ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 13.06.2006, 09:21  
Erfahrener Benutzer
 
Registriert seit: 13.08.2007
Beiträge: 1.976
KingCrunch befindet sich auf einem aufstrebenden Ast
KingCrunch eine Nachricht über ICQ schicken KingCrunch eine Nachricht über AIM schicken KingCrunch eine Nachricht über MSN schicken KingCrunch eine Nachricht über Yahoo! schicken
Standard

DESC bzw ASC werden nicht in Anführungszeichen ' gesetzt
__________________
Nicht jeder Fehler ist ein Bug.
KingCrunch ist offline  
Alt 13.06.2006, 09:37  
Erfahrener Benutzer
 
Registriert seit: 23.08.2007
Beiträge: 1.510
M3g4Star befindet sich auf einem aufstrebenden Ast
Standard

*lol* ==> wozu gibt er mysql_error(); ???

http://www.phpfriend.de/forum/ftopic57412.html
M3g4Star ist offline  
Alt 13.06.2006, 09:50  
Erfahrener Benutzer
 
Registriert seit: 04.12.2005
Beiträge: 286
PHP-Kenntnisse:
Fortgeschritten
snatch-ic
Standard

Zitat:
Zitat von M3g4Star
*lol* ==> wozu gibt er mysql_error(); ???
um einen einen sql error anzuzeigen...

an sich funktioniert der query ja nur die reihnfolge spinnt ein wenig!
die mysql_error() funktion hab ich schon länger eingebaut gehabt...

wenn die variable $richtung anfangs nicht gesetzt ist, wird sie automatisch auf DESC gesetzt. ich weis nicht warum aber aus irgendeinem grund wird daruf keine rücksicht genommen...
snatch-ic ist offline  
Alt 13.06.2006, 09:51  
Erfahrener Benutzer
 
Registriert seit: 13.08.2007
Beiträge: 1.976
KingCrunch befindet sich auf einem aufstrebenden Ast
KingCrunch eine Nachricht über ICQ schicken KingCrunch eine Nachricht über AIM schicken KingCrunch eine Nachricht über MSN schicken KingCrunch eine Nachricht über Yahoo! schicken
Standard

Mein Posting ignoriert?
__________________
Nicht jeder Fehler ist ein Bug.
KingCrunch ist offline  
Alt 13.06.2006, 09:57  
Erfahrener Benutzer
 
Registriert seit: 04.12.2005
Beiträge: 286
PHP-Kenntnisse:
Fortgeschritten
snatch-ic
Standard

Zitat:
Zitat von KingCrunch
Mein Posting ignoriert?
nein hab ich nicht!
habe die ' im Query um die Variable $richtung weg genommen.
snatch-ic ist offline  
Alt 13.06.2006, 10:02  
Erfahrener Benutzer
 
Registriert seit: 23.08.2007
Beiträge: 1.510
M3g4Star befindet sich auf einem aufstrebenden Ast
Standard

wenn du mysql_error() eingebaut hättest hättest zumindest schon mal gesehen das man DESC nicht in Anführungszeichen setzt

Zitat:
nein hab ich nicht!
habe die ' im Query um die Variable $richtung weg genommen.
und was passiert ?? Fehlermeldung etc ???

vllt mal deinen ganzen query-Code ???
M3g4Star ist offline  
Alt 13.06.2006, 10:56  
Erfahrener Benutzer
 
Registriert seit: 04.12.2005
Beiträge: 286
PHP-Kenntnisse:
Fortgeschritten
snatch-ic
Standard

Eine Fehlermeldung gibt es nicht und der komplette Query Code den ich verwende habe ich in meinem ersten post schon geschrieben.
Die Variablen werden einfach nur mit

Code:
SELECT
  $db_t_newsletter.vorname, $db_t_newsletter.nachname, $db_t_newsletter.email,
  $db_t_newsletter_veriviziert.veriviziert, $db_t_newsletter.newsletter_id
FROM
  $db_t_newsletter
LEFT JOIN
  $db_t_newsletter_veriviziert
ON
  $db_t_newsletter.newsletter_id = $db_t_newsletter_veriviziert.newsletter_id
ORDER BY '$newsletter_order' $richtung
LIMIT $addressen_min, $adressen_pro_seite
in der Variable $newsletter_order wird die Spalte angegeben und in der Variable $richtung DESO oder ASC.
Das alles passiert mit switch()
Hier die beiden switch Befehle die dazu zuständig sind:
Code:
switch($newsletter_order) {
  case 1: $newsletter_order = 'vorname';
    break;
  case 2: $newsletter_order = 'nachname';
    break;
  case 3: $newsletter_order = 'email';
    break;
  case 4: $newsletter_order = 'veriviziert';
    break;
  default: $newsletter_order = 'nachname';
}

switch($sortieren_nach) {
  case 0: $richtung = 'DESC';
          $smarty->assign('sort', 1);
    break;
  case 1: $richtung = 'ASC';
          $smarty->assign('sort', 0);
    break;
  default: $richtung = 'DESC';
}
Die Variablen werden zuerst aus der URL mittels GET geholt und dann mit dem case überprüft und überschrieben.
Wie man sieht arbeite ich mir Smarty, was aber kein Grund für dieses Problem sein dürfte.
Das Problem ist so wie ich das überblicke einfach nur die Richtung des ORDER BY Befehels.
snatch-ic ist offline  
Alt 13.06.2006, 11:01  
Erfahrener Benutzer
 
Registriert seit: 13.08.2007
Beiträge: 1.976
KingCrunch befindet sich auf einem aufstrebenden Ast
KingCrunch eine Nachricht über ICQ schicken KingCrunch eine Nachricht über AIM schicken KingCrunch eine Nachricht über MSN schicken KingCrunch eine Nachricht über Yahoo! schicken
Standard

Was ist der Inhalt von $sortieren_nach? Mal per var_dump oder Ähnlichen prüfen. Möchte wissen: Datentyp und Inhalt.
__________________
Nicht jeder Fehler ist ein Bug.
KingCrunch ist offline  
Alt 13.06.2006, 11:19  
Erfahrener Benutzer
 
Registriert seit: 04.12.2005
Beiträge: 286
PHP-Kenntnisse:
Fortgeschritten
snatch-ic
Standard

Wenn ich var_dump nutze bekomme ich folgendes angezeigt:
Code:
string(1) "1"
oder halt
Code:
string(1) "0"
snatch-ic ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Query abbrechen nicon_26 Datenbanken 1 13.02.2008 11:34
NS Query Problem GSJLink Datenbanken 0 07.09.2007 18:04
Variablen in Query automatisch escapen Maho88 PHP Tipps 2007 10 31.07.2007 08:42
PHP/MySQL: Query wird nicht ausgeführt Zergling-new Tutorials 5 09.05.2006 23:16
query und ' speichern? flflfl PHP Tipps 2006 2 14.04.2006 18:21
Query mit zwei Joins Datenbanken 1 16.01.2006 15:53
query *confused* Datenbanken 4 14.01.2006 12:51
[Erledigt] count(..) in derselben Query noch "abfragen" Datenbanken 4 04.01.2006 17:33
Mehr als ein Feld mit Distinct in einem Query auslesen ?? Bouni PHP-Fortgeschrittene 9 19.12.2005 12:43
query r�cksetzen? Promaetheus PHP Tipps 2007 15 01.12.2005 13:53
Query, was aus einer Tabelle mehrere Summen rausholt Datenbanken 3 14.09.2005 16:45
mysql query fehler Datenbanken 6 19.01.2005 23:44
select query durch if anweisungen splitten Datenbanken 6 06.09.2004 13:46
mysql Fehler - query was empty Anuschka Datenbanken 2 01.09.2004 00:28
[Erledigt] Query läuft nicht Datenbanken 6 13.08.2004 21:13

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
sql query schreibweise, anuska schriweise

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




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.