php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 18.06.2006, 09:09  
Erfahrener Benutzer
 
Registriert seit: 09.05.2005
Beiträge: 561
BartTheDevil89 kann nur auf Besserung hoffen
Standard 2 Zahlen vergleichen -> Problem

Hallo,

irgendwie habe ich ein Problem. Also mein Script vergleicht 2 Zahlen. Das Problem dabei ist, wenn er beispielsweise 0 und 200 hat, nimmt er meistens die 0 als höhere Zahl. Also 2 Einträge in der Datenbank und ich frage den höchsten immer mit order by punkte DESC LIMIT1 ab. Dabei bringt er mir in manchen Fällen die 0 als höhere Zahl.

Hat jemand von euch eine Idee, was es sein könnte?

Oder kann es eventuell an Leerzeichen bei einer Zahl oder so liegen, die man nicht sieht? Wie kann ich beide zahlen vor dem Eintrag in die Datenbank nochmal darauf untersuchen, ob da ein Leerzeichen davor oder dahinter oder so ist?
BartTheDevil89 ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 18.06.2006, 09:42  
Moderator
 
Benutzerbild von agrajag
 
Registriert seit: 02.10.2006
Beiträge: 3.820
PHP-Kenntnisse:
Fortgeschritten
agrajag wird schon bald berühmt werdenagrajag wird schon bald berühmt werden
Standard

Von welchem Typ ist die Spalte? Wenn dort eine zahl abgespeichert wird - dann verwende doch auch einen Typ der dafür vorgesehn ist:
Dann kann es nicht passierne, dass es führende Leerzeichen gbt und die Sortierreihenfolge stimmt auch...
__________________
Today you...Tomorrow me.
agrajag ist offline  
Alt 18.06.2006, 11:15  
Erfahrener Benutzer
 
Registriert seit: 09.05.2005
Beiträge: 561
BartTheDevil89 kann nur auf Besserung hoffen
Standard

Zitat:
Zitat von Werbegeschenk
Von welchem Typ ist die Spalte? Wenn dort eine zahl abgespeichert wird - dann verwende doch auch einen Typ der dafür vorgesehn ist:
Dann kann es nicht passierne, dass es führende Leerzeichen gbt und die Sortierreihenfolge stimmt auch...
Also aktuell läuft die Spalte unter "bigint(20)".
BartTheDevil89 ist offline  
Alt 18.06.2006, 12:36  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Dann liefer uns mal ein konkretes Beispiel, also den SQL-Dump, für den Fall dieser falschen Sortierung.
Zergling-new ist offline  
Alt 19.06.2006, 00:16  
Erfahrener Benutzer
 
Registriert seit: 09.05.2005
Beiträge: 561
BartTheDevil89 kann nur auf Besserung hoffen
Standard

Zitat:
Zitat von Zergling
Dann liefer uns mal ein konkretes Beispiel, also den SQL-Dump, für den Fall dieser falschen Sortierung.
Naja also das ist zum beispiel eines:

INSERT INTO `table` VALUES (1,4137, 0, 1);
INSERT INTO `table` VALUES (2,4137, 4168 , 0);


Also das erste ist die ID, das zweite ist die ID2, was beide Werte miteinander verbindet, das dritte ist eben die wichtige Zahl und das letzte ist standartmäßig 0. Dann frage ich damit die 3. Spalte ab:

$resua = mysql_fetch_array(mysql_query("SELECT * FROM table WHERE ID2 = '".$ID2' ORDER BY score DESC LIMIT 1")) or die(mysql_error());
score ist in dem Beispiel also die 3. Spalte mit den beiden Zahlen. Danach hab ich also als einen Wert auch die ID, also in dem genannten Beispiel 1 oder 2. Damit mache ich dann noch eine Updatefunktion, welche mir bei dem höheren Ergebnis (wurde ja durch die Abfrage herausgefunden) eine 1 reinsetzt. Und im oben genannten Beispiel hat er das genau bei der falsche Zahl gemacht. Denn eigentlich hätte diese ja beim 2. Eintrag sein müssen.
BartTheDevil89 ist offline  
Alt 19.06.2006, 02:48  
Gast
 
Beiträge: n/a
Standard

Zitat:
$resua = mysql_fetch_array(mysql_query("SELECT * FROM table WHERE ID2 = '".$ID2' ORDER BY score DESC LIMIT 1")) or die(mysql_error());
Das steht so sicher nicht im Skript; Syntaxfehler.
 
Alt 19.06.2006, 16:03  
Erfahrener Benutzer
 
Registriert seit: 09.05.2005
Beiträge: 561
BartTheDevil89 kann nur auf Besserung hoffen
Standard

Zitat:
Zitat von Bruchpilot
Zitat:
$resua = mysql_fetch_array(mysql_query("SELECT * FROM table WHERE ID2 = '".$ID2' ORDER BY score DESC LIMIT 1")) or die(mysql_error());
Das steht so sicher nicht im Skript; Syntaxfehler.
Ja gut....nein das war jetzt schnell vereinfacht. Müsste dann eben = '".$ID2."' sein.
BartTheDevil89 ist offline  
Alt 19.06.2006, 19:33  
Gast
 
Beiträge: n/a
Standard

Ich kann das Problem nicht nachvollziehen.
http://bruchpilot.br.funpic.de/beisp...TheDevil-1.php
Hast Du noch irgendetwas kaputtvereinfacht?
 
Alt 01.07.2006, 15:53  
Erfahrener Benutzer
 
Registriert seit: 21.07.2005
Beiträge: 209
pepe24
Standard

versuchs dochmal hiermit... (funktioniert sicher...)

SELECT score, id2
FROM `table` ,
(
SELECT MAX(score) AS maxscore
FROM `table`
)
AS _tbl
WHERE id2 = $id2;

Viel erfolg!
pepe24 ist offline  
Alt 02.07.2006, 00:26  
Erfahrener Benutzer
 
Registriert seit: 09.05.2005
Beiträge: 561
BartTheDevil89 kann nur auf Besserung hoffen
Standard

Zitat:
Zitat von pepe24
versuchs dochmal hiermit... (funktioniert sicher...)

SELECT score, id2
FROM `table` ,
(
SELECT MAX(score) AS maxscore
FROM `table`
)
AS _tbl
WHERE id2 = $id2;

Viel erfolg!
Du meinst also als Abfrage das hier machen?

SELECT score, id2 from `table` , (SELECT MAX(score) AS maxscore from `table` ) AS _tbl WHERE id2 = $id2;

Denn so ganz verstehe tue ich das leider nocht nicht......also das sind irgendwie 2 Abfragen verschaltelt oder wie schauts aus?
BartTheDevil89 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
[Erledigt] Galerie Problem... coraplanet PHP Tipps 2008 4 06.06.2008 13:42
leere tabellen problem mit zählen Nosferatu PHP Tipps 2006 1 08.01.2006 03:28
wie kann man datums vergleichen mollitz PHP Tipps 2007 15 22.12.2005 09:42
Abfrage nur bei Zahlen? BartTheDevil89 Datenbanken 3 27.11.2005 13:21
Problem beim vergleichen von 2 Arrays PHP Tipps 2005-2 1 06.10.2005 14:25
problem PHP Tipps 2005-2 11 28.08.2005 16:29
problem mit zahlen Tic Rederon PHP Tipps 2005-2 0 05.08.2005 11:14
[Erledigt] Problem mit Backslash Patrick Schwarz PHP Tipps 2005-2 5 26.07.2005 09:54
Problem mit Zahlen innerhalb von strpos() PHP Tipps 2005-2 6 25.07.2005 06:40
[Erledigt] Problem mit User/Group: nobody(99)/99 Server, Hosting und Workstations 3 09.07.2005 15:31
Problem beim Dateien zählen thefaxx PHP Tipps 2005-2 7 01.07.2005 20:47
Problem Checkboxen - string mit Zahlen die gecheckten setzen Cyberbob_at_tot PHP Tipps 2005-2 5 11.06.2005 11:36
Problem mit Stringvergleich PHP Tipps 2004 4 09.09.2004 11:26
Problem mit alter JavaScript-Funktion woods PHP Tipps 2004 1 13.08.2004 13:34
problem mit spalten zählen yoshy PHP Tipps 2004 8 26.07.2004 12:50

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php zahlen vergleichen, mit php zahlen vergleichen, php vergleichen von zahlen, 2 werte vergleichen fehler

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:04 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.