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 Bewertung: Bewertung: 1 Stimmen, 5,00 durchschnittlich.
  #1 (permalink)  
Alt 21-05-2015, 22:41
sepp
 Registrierter Benutzer
Links : Onlinestatus : sepp ist offline
Registriert seit: Aug 2007
Beiträge: 301
sepp kann nur auf Besserung hoffen
Standard Multiplizieren und Subtrahieren in der Abfrage

Hallo zusammen

Ich möchte eine Abfrage mit Rechnung machen, aber das geht nicht!!!

Das ist doch so korrekt?!
PHP-Code:
Select ....  (datum <= ('$datum_aktuell' konditionen*86400) ....; 
So geht es und sobald ich die 30 mit dem Spaltenname ersetzte rechnet es nicht mehr richtig

PHP-Code:
Select ....  (datum <= ('$datum_aktuell' 30*86400) ....; 
Danke für Eurer Feedback

Geändert von sepp (21-05-2015 um 22:47 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 21-05-2015, 23:06
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.653
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Keine Ahnung, was in $datum_aktuell steht.

Aber eins sei dir gleich mal gesagt: Nicht jeder Tag hat 86.400 Sekunden, somit ist die Berechnung schon mal nicht korrekt.

Wieso verwendest du nicht die Datum-/Zeitfunktionen, die dir MySQL zur Verfügung stellt?
Mit Zitat antworten
  #3 (permalink)  
Alt 21-05-2015, 23:19
sepp
 Registrierter Benutzer
Links : Onlinestatus : sepp ist offline
Registriert seit: Aug 2007
Beiträge: 301
sepp kann nur auf Besserung hoffen
Standard

Ja ich weiss, jedoch muss es nicht so genau sein...+/- 2 Tage sind io.

Ich verzweifle an der Abfrage sobald ich die 30 mit dem Spaltennamen ersetzt rechnet es nicht mehr recht!!
Mit Zitat antworten
  #4 (permalink)  
Alt 21-05-2015, 23:23
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.653
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Bitte Tabellenstruktur, Testdaten, gewünschtes Ergebnis und tatsächliches Ergebnis posten. Ansonsten ist das Problem nicht nachvollziehbar.
Mit Zitat antworten
  #5 (permalink)  
Alt 21-05-2015, 23:38
sepp
 Registrierter Benutzer
Links : Onlinestatus : sepp ist offline
Registriert seit: Aug 2007
Beiträge: 301
sepp kann nur auf Besserung hoffen
Standard

Als test habe ich ein Feld namens kondition mit dem Wert 30

Wenn ich die Abfrage mach
PHP-Code:
...kondition '30'... 
wird die Abfrage ausgeführt (korrekt)
Bei
PHP-Code:
...kondition '31'... 
wird die Abfrage nciht ausgeführt (korrekt)

Wenn ich nun ein multipikator hinzufüge so..
PHP-Code:
kondition '2' '60' 
Wird die Abfrage nicht ausgeführt (falsch)

Warum wird die Abfrage mit dem Multiplikator nicht ausgeführ obschon das Resultat stimmt?
Mit Zitat antworten
  #6 (permalink)  
Alt 21-05-2015, 23:58
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.653
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Das sind Code-Bruchstücke und kein testbarer Code.
Mit Zitat antworten
  #7 (permalink)  
Alt 22-05-2015, 12:32
Benutzerbild von fireweasel fireweasel
 Registrierter Benutzer
Links : Onlinestatus : fireweasel ist offline
Registriert seit: Sep 2008
Ort: At home
Beiträge: 851
fireweasel wird schon bald berühmt werdenfireweasel wird schon bald berühmt werden
fireweasel eine Nachricht über AIM schicken fireweasel eine Nachricht über Yahoo! schicken
Standard

Zitat:
Zitat von sepp Beitrag anzeigen
Das ist doch so korrekt?!
PHP-Code:
Select ....  (datum <= ('$datum_aktuell' konditionen*86400) ....; 
Nein: Unter der Annahme, dass das SQL sein soll. Allerdings kann ich mir auch keine andere Sprache vorstellen, in der das "korrekt" sein dürfte.

Zitat:
So geht es
Ganz sicher nicht.

Zitat:
und sobald ich die 30 mit dem Spaltenname ersetzte rechnet es nicht mehr richtig

PHP-Code:
Select ....  (datum <= ('$datum_aktuell' 30*86400) ....; 
Ich fürchte, "es" "rechnet" überhaupt nicht, sondern wirft mit Fehlermeldungen nach dir, die du uns leider vorenthältst.

Wahrscheinlich willst du von einem aktuellen Datum 30 Tage zurückrechnen und dies mit einem anderen Datum vergleichen. Von den verwendeten Zahlen ausgehend, vermute ich, dass die Daten als POSIX-Timestamps vorliegen, die in Sekunden ausgedrückt werden. Der Rest bleibt traurigerweise unklar.

Es stellen sich folgende grundsätzliche Fragen:

* Wo willst du die Berechnung und den Vergleich durchführen: in SQL oder PHP?

* In welchem Format hast du die Ausgangswerte vorliegen: Timestamp, DateTime-Objekt, (ISO-8601-)formatierter Datumsstring, datenbankspezifischer DateTime-Datentyp, ...?

* Welcherart ist die Datums-Differenz, die du berechnen möchtest: Tage, Monate, ... ? Vom Benutzer eingegeben oder fest im Programm verdrahtet?

Wenn du diese Fragen beantwortest, kann man dir helfen. Vorher hat das wenig Sinn. Du vermischst Zeichenketten mit Zahlen, PHP-Syntax mit SQL-Syntax und Begrifflichkeiten (bspw. kann man "Konditionen" nicht multiplizieren).

Kannst du die Aufgabenstellung verständlich formulieren, ohne Pseudo-Code-Schnipsel einzustreuen, die weder in PHP noch in SQL rechten Sinn ergeben?
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
Bei der Abfrage nach Monat und Jahr filtern? xxcoolxx SQL / Datenbanken 4 09-03-2010 14:27
for schleife und subtrahieren churcher PHP Developer Forum 3 28-11-2009 16:38
PHP Script zur Abfrage der IP, Browsertyp und Provider Alu PHP Developer Forum 23 16-07-2005 18:58
Datum vergleichen und subtrahieren IceT SQL / Datenbanken 12 24-01-2004 10:18
2 Zellen multiplizieren tj99de SQL / Datenbanken 2 04-08-2002 13:49

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

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni

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


 

Aktuelle PHP Scripte

Newsmanager

Der Newsmanager ist ein Newssystem und Newsletter in einem. Mit WYSIWYG Editor und E-Mail import aus einer bestehenden MySql Datenbank sowie dynamische Kategorien / Themen Filter.

11.09.2019 Stephan_1972 | Kategorie: PHP/ News
Modelmanager

Der Modelmanager ist ein Webtool für Fotografen, kann als komplette Homepage oder als Webtool installiert werden.

11.09.2019 Stephan_1972 | Kategorie: PHP/ Webservice
ContentLion - Open Source CMS ansehen ContentLion - Open Source CMS

ContentLion ist ein in PHP geschriebenes CMS, bei dem man Seiten, Einstellungen usw. in Ordnern lagern kann

22.08.2019 stevieswebsite2 | Kategorie: PHP/ CMS
 Alle PHP Scripte anzeigen

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