php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 05-11-2006, 23:17
Screw Driver
 Newbie
Links : Onlinestatus : Screw Driver ist offline
Registriert seit: Aug 2003
Ort: Bremerhafen
Beiträge: 142
Screw Driver ist zur Zeit noch ein unbeschriebenes Blatt
Standard 0.10 wird als 0.1 in Datenbank gespeichert

Ich würde gerne Werte wie 0.10 in der Datenbank speichern. 0.1 ist in meinem Fall etwas anderes als 0.10 weil es sich um Versionsnummern handeln soll.

Als float kann ich dies nicht ablegen, als String stehe ich vor anderen Problemen. Wie kann ich nämlich die Werte sortieren?

Sieht momentan so aus bei mir:

PHP-Code:
SELECT
  version
FROM
  tabelle
WHERE
  id 
'1'
ORDER BY
  version ASC 
Bei Werten von 0.1, 0.2, ... 0.10 sortiert es mir das falsch:

Code:
0.1
0.10
0.2
0.3
0.4
0.5
1.0
1.1 ...
0.10 müsste aber nach 0.5 kommen, weil es ja höher ist.

Wie geht das?
__________________
Gruß,
Peter
Mit Zitat antworten
  #2 (permalink)  
Alt 05-11-2006, 23:25
Slava
 PHP Senior
Links : Onlinestatus : Slava ist offline
Registriert seit: Nov 2002
Ort: Köln->Karlsruhe
Beiträge: 1.589
Slava befindet sich auf einem aufstrebenden Ast
Standard

seit wan ist 0.1 höher als 0.5
__________________
Slava
bituniverse.com
Mit Zitat antworten
  #3 (permalink)  
Alt 05-11-2006, 23:28
Screw Driver
 Newbie
Links : Onlinestatus : Screw Driver ist offline
Registriert seit: Aug 2003
Ort: Bremerhafen
Beiträge: 142
Screw Driver ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Wie ich oben schon schrieb:

Zitat:
0.1 ist in meinem Fall etwas anderes als 0.10 weil es sich um Versionsnummern handeln soll.
Eine Version 0.10 ist höher als 0.1.
__________________
Gruß,
Peter
Mit Zitat antworten
  #4 (permalink)  
Alt 05-11-2006, 23:44
jmc
 PHP Junior
Links : Onlinestatus : jmc ist offline
Registriert seit: Mar 2006
Beiträge: 868
jmc befindet sich auf einem aufstrebenden Ast
Standard

du zerlegst sie in einen Array, sortierst sie mit usort und fügst sie wieder zusammen.

speichern tust du sie als String. 1.10.1 wäre eh keine gültige Zahl.
Mit Zitat antworten
  #5 (permalink)  
Alt 06-11-2006, 00:04
Slava
 PHP Senior
Links : Onlinestatus : Slava ist offline
Registriert seit: Nov 2002
Ort: Köln->Karlsruhe
Beiträge: 1.589
Slava befindet sich auf einem aufstrebenden Ast
Standard

wenn die version aus 2 stellen besteht, kannst du so machen
select SELECT
version,
substring(version,1,LOCATE(".",version)-1)*1 as eins ,
substring(version,LOCATE(".",version)+1)*1 as zwei
FROM
tabelle
WHERE
id = '1'
ORDER BY
eins,zwei

auch für 3 stellen kann es auf diese weise gemacht werden
EDIT:
abc.cf war falsch
__________________
Slava
bituniverse.com

Geändert von Slava (06-11-2006 um 03:00 Uhr)
Mit Zitat antworten
  #6 (permalink)  
Alt 06-11-2006, 00:10
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Screw Driver - evtl. eine weitere spalte "reihenfolge" anlegen, die man (du?) manuell verändern kann. ansonsten wirst du bei versionsnummern "1.0.1a beta RC1" o.ä. irgendwann wieder vor dem gleichen problem stehen.
Mit Zitat antworten
  #7 (permalink)  
Alt 06-11-2006, 00:34
Screw Driver
 Newbie
Links : Onlinestatus : Screw Driver ist offline
Registriert seit: Aug 2003
Ort: Bremerhafen
Beiträge: 142
Screw Driver ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Es wird nicht in der Form "0.1 alpha RC 2" geben sondern nur 0.x etc. Es ist für eine automatische Versionierung gedacht wenn etwas gespeichert wurde.
__________________
Gruß,
Peter
Mit Zitat antworten
  #8 (permalink)  
Alt 06-11-2006, 01:16
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

dann kannst du auf eingebaute sortiermechanismen verzichten und dir selbst irgendeine wurst schreibst, wie slava es vorschlägt.
Mit Zitat antworten
  #9 (permalink)  
Alt 06-11-2006, 01:48
Hirnhamster
 Registrierter Benutzer
Links : Onlinestatus : Hirnhamster ist offline
Registriert seit: Oct 2006
Beiträge: 160
Hirnhamster ist zur Zeit noch ein unbeschriebenes Blatt
Standard

wenn dus nich als string haben willst musste wohl für jeden Teil der nummer ne eigene Spalte anlegen.
Mit Zitat antworten
  #10 (permalink)  
Alt 06-11-2006, 01:56
Screw Driver
 Newbie
Links : Onlinestatus : Screw Driver ist offline
Registriert seit: Aug 2003
Ort: Bremerhafen
Beiträge: 142
Screw Driver ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Das von slava sieht interessant aus, das werde ich mal testen. Wobei ich sowas weder bisher gesehen habe noch genau verstehe was da passiert.
__________________
Gruß,
Peter

Geändert von Screw Driver (06-11-2006 um 01:58 Uhr)
Mit Zitat antworten
  #11 (permalink)  
Alt 06-11-2006, 03:03
Slava
 PHP Senior
Links : Onlinestatus : Slava ist offline
Registriert seit: Nov 2002
Ort: Köln->Karlsruhe
Beiträge: 1.589
Slava befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von Screw Driver
Das von slava sieht interessant aus, das werde ich mal testen. Wobei ich sowas weder bisher gesehen habe noch genau verstehe was da passiert.
da war ein fehler, statt "abc.cf" muss version rein.
__________________
Slava
bituniverse.com
Mit Zitat antworten
Antwort

Lesezeichen


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

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

HeidiSQL - kostenloses MySQL front-end Editor für Windows ansehen HeidiSQL - kostenloses MySQL front-end Editor für Windows

HeidiSQL - ist ein Windows-Editor für die bekannt open Source Datenbank mySQL

10.12.2018 Berni | Kategorie: MYSQL/ Management
piwik Open-Source Webanalyse-Software ansehen piwik Open-Source Webanalyse-Software

piwik ist eine gute Alternative zu Google Analytics. Viele Features und ein modernes Erscheinungsbild mit aussagefähigen Statistiken in Echtzeit

10.12.2018 phpler | Kategorie: PHP/ Besucherzaehler
jQuery Mobile ansehen jQuery Mobile

Touch-Optimized Web Framework für Smartphones & Tablets

09.12.2018 phpler | Kategorie: AJAX/ Framework
 Alle PHP Scripte anzeigen

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