Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > Web Development
You last visited: Today at 20:12

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



MySQL Rangliste - Probleme

Discussion on MySQL Rangliste - Probleme within the Web Development forum part of the Coders Den category.

Reply
 
Old   #1
 
Heberg's Avatar
 
elite*gold: 209
Join Date: Oct 2009
Posts: 947
Received Thanks: 210
MySQL Rangliste - Probleme

Hallo Leute,

heute möchte ich euch mit einem kleinen Problem meinerseits nerven. Und zwar habe ich in den letzten 3 Stunden für ein Voting System eine Rangliste zusammen geschustert mithilfe von PHP, HTML & MySQL. Das ganze sieht so aus :

Bild:
Der Code ist so :
PHP Code:
<?php
                        
                        $ergebnisranking 
mysql_query("SELECT * FROM login WHERE id < '2000' ORDER BY votings DESC LIMIT 9");
                        while(
$row mysql_fetch_object($ergebnisranking))
                        {
                        
?>
                        <p>
                        <?php echo "$row->username"?> | <?php echo "$row->votings"?>
                        </p>
                        <?php
                        
}
                        
?>
Das eigentliche Problem ist nun, dass das Sortieren der 3 Ziffrigen Zahlen Probleme macht und er sie nach Unten sortiert.

Ich hoffe ihr könnt mir helfen !

MfG
Heberg
Heberg is offline  
Old 03/07/2012, 14:55   #2
 
galaxyo's Avatar
 
elite*gold: 0
Join Date: Dec 2007
Posts: 425
Received Thanks: 183
Guck dir mal dein "votings"-Feld in der Datenbank an. Wenn es ein Textfeld ist, änder das mal in ein int Feld. Du speicherst darin ja ohnehin nur die Anzahl der Votes. Ist schneller und das Problem mit dem sortieren sollte gelöst sein.

Anderfalls folgendermaßen:

Funktionen oder mit diesem "SORT_NUMERIC" Parameter
galaxyo is offline  
Thanks
1 User
Old 03/07/2012, 15:04   #3
 
Heberg's Avatar
 
elite*gold: 209
Join Date: Oct 2009
Posts: 947
Received Thanks: 210
Habe die Tabelle in INT geändert und es klappt nun perfekt ! Tausend Dank !
Heberg is offline  
Old 03/07/2012, 15:09   #4
 
galaxyo's Avatar
 
elite*gold: 0
Join Date: Dec 2007
Posts: 425
Received Thanks: 183
Kein Thema. Gerne wieder :P
galaxyo is offline  
Old 03/07/2012, 15:19   #5
 
Heberg's Avatar
 
elite*gold: 209
Join Date: Oct 2009
Posts: 947
Received Thanks: 210
Nun, da gibt es noch ein Problem, unzwar habe ich versucht nun den Rang neben dem Spieler anzeigen zulassen nur das gestaltet sich schwiriger als gedacht, hier mal der aktuelle code usw.

PHP Code:
´<table border="1px white solid" style=" margin-top: 10px; ">
                        <tr>
                            <td>&nbsp;Rang&nbsp;</td>
                            <td> Name </td>
                            <td> Votes </td>
                        </tr>
                        <?php
                        
                        $ergebnisranking 
mysql_query("SELECT * FROM login WHERE id < '2000' ORDER BY votings DESC LIMIT 9");
                        while(
$row mysql_fetch_object($ergebnisranking))
                        {
                        
?>
                            <tr>
                                <td> <?php $rang '1'$rang++; echo $rang?> </td>
                                <td><?php echo "$row->username"?></td>
                                <td><?php echo "$row->votings"?></td>
                            </tr>
                            
                        <?php
                        
}
                        
?>
                    </table><br /><a href="#">Volständige Liste anschauen</a>
Heberg is offline  
Old 03/07/2012, 15:33   #6
 
elite*gold: 42
Join Date: Jun 2008
Posts: 5,426
Received Thanks: 1,888
Du setzt rang auf 10, erhöhst rang dann um eins und gibst es aus. Dann setzt du es wieder auf 10. Kann ja nicht klappen
MoepMeep is offline  
Old 03/07/2012, 15:39   #7
 
Heberg's Avatar
 
elite*gold: 209
Join Date: Oct 2009
Posts: 947
Received Thanks: 210
Ja, das ist mir auch klar aber bin bereits fleißig am googeln und fand auch schon was, aber das war auf mein code nicht wirklich anwendbar :/
Heberg is offline  
Old 03/07/2012, 15:44   #8
 
elite*gold: 42
Join Date: Jun 2008
Posts: 5,426
Received Thanks: 1,888
Du darfst den Rang nicht bei jedem durchlauf wieder auf (mittlerweile ) 1 setzen. Setze Rang einmal am Anfang auf 1. Also vor dem while.
MoepMeep is offline  
Thanks
1 User
Old 03/07/2012, 15:51   #9
 
Heberg's Avatar
 
elite*gold: 209
Join Date: Oct 2009
Posts: 947
Received Thanks: 210
Habs hinbekommen ( Natürlich mit bissle googlen )

Das ist mein Aktueller code, hoffe er kann anderen, die das Selbe Problem haben helfen. Danke an allen !

Code:
					<table border="1px white solid" style=" margin-top: 10px; ">
						<tr>
							<td>&nbsp;Rang&nbsp;</td>
							<td> Name </td>
							<td> Votes </td>
						</tr>
						<?php
						
						$ergebnisranking = mysql_query("SELECT * FROM login WHERE id < '2000' ORDER BY votings DESC LIMIT 9");
						for($i=1; $row = mysql_fetch_object($ergebnisranking); $i++)
						{
						?>
							<tr>
								<td> <?php echo $i; ?> </td>
								<td><?php echo "$row->username"; ?></td>
								<td><?php echo "$row->votings"; ?></td>
							</tr>
							
						<?php
						}
						?>
					</table><br /><a href="#">Volständige Liste anschauen</a>
Heberg is offline  
Old 03/07/2012, 15:56   #10
 
galaxyo's Avatar
 
elite*gold: 0
Join Date: Dec 2007
Posts: 425
Received Thanks: 183
PHP Code:
<?php
                        $ergebnisranking 
mysql_query("SELECT * FROM login WHERE id < '2000' ORDER BY votings DESC LIMIT 9");
                        
$rang "1";
                        while(
$row mysql_fetch_object($ergebnisranking))
                        {
                        
?>
                            <tr>
                                <td> <?php echo $rang$rang++; ?> </td>
                                <td><?php echo "$row->username"?></td>
                                <td><?php echo "$row->votings"?></td>
                            </tr>
                            
                        <?php
                        
}
                        
?>
Sollte auch funktionieren. Die Variable vor der While-Schleife initialisieren und dann jedes mal um 1 erhöhen nachdem der Rang ausgegeben wurde.

Variable mit 1 initialisieren.
Rang ausgeben: Rang 1
Rang erhöhen Rang = 2
Rang ausgeben: Rang 2
Rang erhöhen Rang = 3

und so weiter. Hättest google gar nicht anschmeißen brauchen Dein Ansatz war richtig. Hättest lediglich die Variable vor der While-Schleife initialisieren und das erhöhen der Variable hinter den echo schreiben müssen.
galaxyo is offline  
Thanks
1 User
Reply


Similar Threads Similar Threads
PHP probleme aka mysql
07/06/2011 - Web Development - 8 Replies
Kategorien Änderung: Unsere Internetseite, ist ne AnimeStreamseite rund um die Japanische Zeichenart namens Anime/Manga. Unsere Seite hier mal auf einen Testserver Hochgeladen: link gibts per pn Hat das folgende Problem, dass der Content der Kategorie, Media -> Serien, nicht so ist wie wir uns das vorstellen. Wir haben uns das so vorgestellt, wie auf der folgenden Beispielseite. - Serie-Register: "geamte_liste"
probleme mit dem Mysql Server Mysql -p
01/08/2011 - Metin2 Private Server - 3 Replies
Ahoi Leute, ich habe ein mini problem mit dem mysql server. Undzwar nach der installation von mysql soll man den befehl mysql -p ausführen. Mir wird immer gesagt "Access denied for user root@localhost Using Passwort NO Ich habe kein passwort eingeben und es kommt diese fehlermeldung. Und wen ich ein pw eingebe kommt die gleiche meldung. habe auch schonmal mysql komplett gelöscht mit pkg-delete x-mysql und dan halt neu installiert aber ich komme bei mysql-p einfach nicht weiter..
2 MySQL Probleme [root]
08/20/2010 - Metin2 Private Server - 3 Replies
1. habe ich "mysql_enable="YES"" eingetragen in /etc/rc.conf fährt aber nicht hoch nach reboot... 2. ein & geben 'mt2'@'localhost' noch alle Rechte. Das machen wir mit: Zitat: GRANT ALL PRIVILEGES ON *.* TO 'mt2'@'localhost'
[Probleme]Mit MySQL!!!! :'(
05/13/2010 - Flyff Private Server - 8 Replies
http://img696.imageshack.us/img696/1545/fehlermeld ungn.png Uploaded with ImageShack.us ich hab ka wie ich das lösen kann ich versuch zu installieren un dann kommt beim vorletzten installieren die fehlermeldung :'( bitte weiß einer die lösung mit traurigen Grüßen NightofDark :(
[Homepage]Rangliste auf .txt basis[weil wegen mysql ddos]
04/07/2010 - Metin2 PServer Guides & Strategies - 12 Replies
Hoi, da sich in letzer Zeit immer wieder die DDoS angriffe auf MT2 Server häufen, so wie auch auf meinen, habsch mich mal dran gemacht ne Rangliste zu schreiben, welchle auf .txt basis funktioniert. -> GMs MÜSSEN über lv 120 Sein weil wegen nicht anzeige der GMs --- ->Lv anzeige ->Name anzeige ->Reich anzeige -- Datein sind im Anhang unso -- config.php müsst ihr noch anpassen :>



All times are GMT +2. The time now is 20:12.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.