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 ::

Websites optimieren für Google & Co.

Websites optimieren für Google & Co. 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 > PHP für Fortgeschrittene und Experten
Hilfe Community Kalender Heutige Beiträge Suchen

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 26.05.2004, 10:12:18
0711concept 0711concept ist offline
Anfänger
 
Registriert seit: Jul 2003
Beiträge: 5
Select mit Zahlen: Umwandlung von FLOAT in DOUBLE?

in meinem shop will ich mit einer select-anweisung nach preisen ausgeben.

bsp:

SELECT artikel,preis,typ FROM shopartikel WHERE preis between 0.00 und 3.55

habe es erst so probiert
SELECT artikel,preis,typ FROM shopartikel WHERE preis <= 3.55

die ausgabe hat mir alles mögliche ausgegeben, nur nicht alle artikel unter 3.55

in meiner datenbank liegen die preise in dieser form vor: 2.95 oder 22.95 ... und viele mehr bis 1000.50

wie kann ich jetzt meine select-anweisung gestalten, damit ich alle artikel bekomme, die unter 3.55 liegen?

kann es sein, dass das in der DB nicht als Zahl gespeichert wird, sondern im Prinzip als CHAR

bringt das was:
SELECT * FROM TABLE WHERE preis < "3" + 0.55000001 AND spalte > "0" - 0.00000001

habe es gerade hinbekommen, weiss net ob das so gut ist funktioniertb aber bestens:
SELECT * FROM shop WHERE preis < '8.00' + 0.00000001 AND preis > '0' - 0.00000001 ORDER BY home_text ASC LIMIT 0 , 14



chichi

Geändert von 0711concept (26.05.2004 um 10:25:16 Uhr)
Mit Zitat antworten
  #2  
Alt 26.05.2004, 10:29:47
Marilu Marilu ist offline
Member
 
Registriert seit: Apr 2003
Ort: 49.54, 8.35 - 3./9
Beiträge: 878
In welchem Format hast Du das Feld denn definiert?
Mit Zitat antworten
  #3  
Alt 27.05.2004, 10:03:18
0711concept 0711concept ist offline
Anfänger
 
Registriert seit: Jul 2003
Beiträge: 5
feld in der mysql datenbank: charmod 255

ist bestimmt falsch?! oder?

chichi
Mit Zitat antworten
  #4  
Alt 27.05.2004, 10:11:30
Marilu Marilu ist offline
Member
 
Registriert seit: Apr 2003
Ort: 49.54, 8.35 - 3./9
Beiträge: 878
Versuche doch mal DECIMAL mit 2 Nachkommastellen ... :-)))
Mit Zitat antworten
  #5  
Alt 27.05.2004, 10:28:58
0711concept 0711concept ist offline
Anfänger
 
Registriert seit: Jul 2003
Beiträge: 5
Fehler

SQL-Befehl :

ALTER TABLE `shop` CHANGE `preis` `preis` DOUBLE( 20 ) NOT NULL

MySQL meldet:


#1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ') NOT NULL' at line 1

Oh, wie ändere ich denn den bestehenden eintrag in der datenbank? war bisher auf varchar 255
Mit Zitat antworten
  #6  
Alt 27.05.2004, 10:31:36
Marilu Marilu ist offline
Member
 
Registriert seit: Apr 2003
Ort: 49.54, 8.35 - 3./9
Beiträge: 878
Es gibt da so ein Tool, das heißt phpMyAdmin.
Mit Zitat antworten
  #7  
Alt 27.05.2004, 10:36:35
Marilu Marilu ist offline
Member
 
Registriert seit: Apr 2003
Ort: 49.54, 8.35 - 3./9
Beiträge: 878
Wahrscheinlich mußt Du die VARCHAR erst von 255 auf ca. 10 ändern, damit Du das Feld dann in ein numerisches ändern kannst.
Mit Zitat antworten
  #8  
Alt 27.05.2004, 12:22:16
0711concept 0711concept ist offline
Anfänger
 
Registriert seit: Jul 2003
Beiträge: 5
phpmyadmin bringt den Fehler beim versuch auf double zu stellen. woran kann das noch liegen. habs auch mal mit 10 versucht.

SQL-Befehl :

ALTER TABLE `shop` CHANGE `home_text` `home_text` DOUBLE( 20 ) NOT NULL

MySQL meldet:


#1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ') NOT NULL' at line 1
Mit Zitat antworten
  #9  
Alt 27.05.2004, 12:34:34
diver-network diver-network ist offline
Junior Member
 
Registriert seit: Apr 2003
Ort: TÜ
Beiträge: 337
Hi,

versuch mal, eine temporäre Zusatzspalte anzulegen, die den richtigen Datentyp hat.
In diese füllst Du mit einem UPDATE Befehl die Daten aus der "fehlerhaften" Spalte.
Nach einem Test kannst Du die alte Spalte (sicherheitshalber) umbenennen bzw. direkt löschen und der neuen Spalte den alten Namen geben.

Ist zwar etwas umständlich, sollte aber funktionieren.

HTH,

Andy
__________________
Delphine, Wale, Orcas und mee(h)r:
tauchen in Alor/Indonesien
http://www.alor-dive.com
Mit Zitat antworten
  #10  
Alt 27.05.2004, 13:04:50
Marilu Marilu ist offline
Member
 
Registriert seit: Apr 2003
Ort: 49.54, 8.35 - 3./9
Beiträge: 878
> phpmyadmin bringt den Fehler beim versuch auf double zu stellen. woran kann das noch liegen. habs auch mal mit 10 versucht.

Versuch mal folgendes:

Zuerst VARCHAR(255) auf VARCHAR(10) ändern. Anspeichern. Ansehen. Wenn OK, dann:

VARCHAR(10) auf DOUBLE(10) oder besser auf DECIMALS(10,2) - oder brauchst Du DOUBLE? - ändern. Abspeichern. Ansehen.
Mit Zitat antworten
Antwort


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.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:24:22 Uhr.


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


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