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
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren |
28.05.2011, 23:13:58
|
Anfänger
|
|
Registriert seit: Apr 2011
Alter: 52
Beiträge: 49
|
|
absteigende Sortierung wird ignoriert
Guten Abend!
Mein Code schaut so aus:
PHP-Code:
$sql2 = "SELECT tabAuftrag.Auftragsnr, date_format(EDatum, '%d.%m.%y') as EDatum, tabAuftragArtikel.Artikelnr, tabAdressen.RFirma1, tabAdressen.RStadt, tabAuftragArtikel.Summe, tabAuftragArtikel.Rabatt, tabAuftrag.Kundenref, tabAuftragArtikel.RepNr, tabAdressen.Kundennummer, tabAuftrag.LAFirma1, tabAuftrag.LAStadt, tabAuftrag.KuBestellnr, tabAuftragArtikel.MengeAA, tabAuftragArtikel.ZolltarifnrA, tabAuftragArtikel.Ursprung, tabAdressen.RLand FROM tabAdressen RIGHT OUTER JOIN tabAuftrag RIGHT OUTER JOIN tabAuftragArtikel ON tabAuftrag.Auftragsnr = tabAuftragArtikel.Auftragsnr ON tabAdressen.Kundennummer = tabAuftrag.Kundennr WHERE tabAuftrag.Auftragsnr = :0 ORDER BY tabAuftrag.Auftragsnr DESC;"; $stmt2 = $this->dbh->vorbereiten($sql2); $stmt2->ausfuehren($daten->Auftragsnr);
..egal nach welcher Spalte ich absteigend sortieren möchte, es wird immer ignoriert.
Was ist der Grund dafür?
Vielen Dank für Eure Hilfe!
Gruß
Stefan
|
29.05.2011, 11:30:23
|
Junior Member
|
|
Registriert seit: Aug 2010
Alter: 14
Beiträge: 395
|
|
AW: absteigende Sortierung wird ignoriert
Ohne Testdaten ist das schwer zu sagen und was Dein PHP-Code wirklich macht, ist nicht ersichtlich.
Dein Beispiel sortiert nach einer Spalte tabAuftrag.Auftragsnr die Aufgrund des OUTER JOIN den Wert NULL annehmen kann und NULL sortiert sich nun mal nicht wie erwartet.
Code:
SELECT tabAuftrag.Auftragsnr
, date_format(EDatum, '%d.%m.%y') AS EDatum
, tabAuftragArtikel.Artikelnr
, tabAdressen.RFirma1
, tabAdressen.RStadt
, tabAuftragArtikel.Summe
, tabAuftragArtikel.Rabatt
, tabAuftrag.Kundenref
, tabAuftragArtikel.RepNr
, tabAdressen.Kundennummer
, tabAuftrag.LAFirma1
, tabAuftrag.LAStadt
, tabAuftrag.KuBestellnr
, tabAuftragArtikel.MengeAA
, tabAuftragArtikel.ZolltarifnrA
, tabAuftragArtikel.Ursprung
, tabAdressen.RLand
FROM tabAdressen
RIGHT OUTER JOIN tabAuftrag
ON tabAdressen.Kundennummer = tabAuftrag.Kundennr
RIGHT OUTER JOIN tabAuftragArtikel
ON tabAuftrag.Auftragsnr = tabAuftragArtikel.Auftragsnr
WHERE tabAuftrag.Auftragsnr = 1
ORDER BY tabAuftrag.Auftragsnr DESC;
Kannst Du auf die OUTER JOIN verzichten?
Grüße
Thomas
__________________
Die SQL-Backstube
Bietet Rezepte, Lösungen und ausführliche Beispiele rund um gesundes SQL und zufriedene Datenbanken.
|
29.05.2011, 13:13:35
|
Anfänger
|
|
Registriert seit: Apr 2011
Alter: 52
Beiträge: 49
|
|
AW: absteigende Sortierung wird ignoriert
Hi!
Der PHP-Code funktioniert an anderer Stelle ohne Probleme, wird sehr häufig so eingesetzt.
Die Funktionen sind diese hier:
PHP-Code:
public function vorbereiten($sql){
if(!$this->verbindung){
$this->verbinden();
}
return new MySQLStatement($this->verbindung, $this->mysql_ext, $sql);
}
und
PHP-Code:
public function ausfuehren(){
$args = func_get_args();
if(count($args) == 1 && is_array($args[0])){
$args = $args[0];
}
$this->SQLersetzen($args);
if($this->mysql_ext == 'mysql'){
$this->ergebnis = mysql_query($this->sql, $this->verbindung);
}
else{
$this->ergebnis = $this->verbindung->query($this->sql);
}
if(!$this->ergebnis){
if($this->mysql_ext == 'mysql'){
$error = mysql_error($this->verbindung);
}
else{
$error = $this->verbindung->error;
}
if(ERRORS)
die('<p><strong>Datenbank-Fehler</strong>:<br />' . FEHLERMELDEN . '</p>
<p><strong>Fehler in Query:</strong><br />' . $error . '</p>
<p><strong>Kompletter SQL-String:</strong><br />' . $this->sql);
die(UNBEKANNTERFEHLER);
}
}
Ich hatte den Fehler im Select selbst vermutet, vllt in der WHERE-Bedingung!? Was mich so irritiert ist, dass die Sortierung im Query-Browser einwandfrei funktioniert. Allerdings muss ich dort die WHERE-Bedingung weglassen, da die dort ja nicht interpretiert werden kann.
Ob ich auf die OUTER JOINs verzichten kann muss ich mal prüfen..
Danke und Gruß
Stefan
|
29.05.2011, 14:00:53
|
Member
|
|
Registriert seit: Nov 2007
Beiträge: 843
|
|
AW: absteigende Sortierung wird ignoriert
Hi
PHP-Code:
WHERE tabAuftrag.Auftragsnr = :0
ORDER BY tabAuftrag.Auftragsnr DESC;";
Scherzfrage?
WHERE und dann darauf nen ORDER BY?
erinnert mich an die Bundeswehr
Zitat:
Alle die 1,70m groß sind vortreten und der Größe nach aufstellen!
|
omg
mfg
CKaos
__________________
"Wenn die Leute Häuser so bauen würden, wie wir Programme schreiben, würde der erstbeste Specht unsere Zivilisation zerhacken."
In den allermeisten Fällen sitzt der Bug etwa 40 cm vor dem Monitor!
|
29.05.2011, 14:03:33
|
Junior Member
|
|
Registriert seit: Aug 2010
Alter: 14
Beiträge: 395
|
|
AW: absteigende Sortierung wird ignoriert
Hallo Ckaos,
Zitat:
Zitat von Ckaos
PHP-Code:
WHERE tabAuftrag.Auftragsnr = :0
ORDER BY tabAuftrag.Auftragsnr DESC;";
Scherzfrage?
WHERE und dann darauf nen ORDER BY?
|
Stimmt, dass wird der Fehler sein! Habe ich komplett übersehen.
Grüße
Thomas
__________________
Die SQL-Backstube
Bietet Rezepte, Lösungen und ausführliche Beispiele rund um gesundes SQL und zufriedene Datenbanken.
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
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.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 01:23:04 Uhr.
|