php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 18.02.2006, 12:54  
Gast
 
Beiträge: n/a
Standard Werte sortieren

Hi!!!

Habe folgenden Code:


PHP-Code:
<?php
include("zugriff.inc.php");
 
$spieler MySQL_Query("SELECT * FROM kader WHERE position <> '0'");
 while (
$row=mysql_fetch_assoc($spieler)) {
 
$nr="$row[nr]";
  
$lieblingsspieler MySQL_Query("SELECT * FROM users WHERE spieler = $nr");
  @
$anzahl=mysql_num_rows($lieblingsspieler);
                echo 
"$nr >>> $anzahl
"
;
                }
?>
Und habe folgendes Problem:

Ich möchte gerne dass die Ausgabe nach der Anzal der "Lieblingsspieler" sortiert wird.

Hab das schon mit einem array versucht aber noch nicht fehlerfrei einbinden können.
Der Teil den ich zum array gefunden haben sieht so aus.
PHP-Code:
<?php
$sortierarray 
= array(

               
"0" => "0");
               
               
arsort($sortierarray); // in absteigender Reihenfolge sortieren
//$sortierarray=asort($sortierarray); // in aufsteigender Reihenfolge sortieren
while(list($key$val) = each($sortierarray)){
    
$i++;
    echo 
$key ": " $val '
'
// Sortierte Werte ausgeben
    // Wenn maximale Ausgabe erreicht, dann raus aus der Schleife 
    
if($i>=1) exit; 
}
?>
Hoffe mir kann jemand helfen, habe mit arrays noch nie gearbeitet.
lg
Thomas
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 18.02.2006, 12:58  
Gast
 
Beiträge: n/a
Standard

Wie wärs mit einem Zusatz in der SQL-Anweisung "ORDER BY spieler DESC - so hast Du die Daten nach dem Feld spieler absteigend (also der größste Wert oben) sortiert.
 
Alt 18.02.2006, 13:03  
Gast
 
Beiträge: n/a
Standard

hm...
das geht glaub ich leider nicht da die Werte in verschiedenen Tabellen gespeichert sind.
 
Alt 18.02.2006, 13:17  
Gast
 
Beiträge: n/a
Standard

achso... hm... nun das geht auch. Kannst Du mal etwas genauer auf die Tabellen eingehen? Meinst Du die Anzahl, wie oft $row['nr'] den gleichen Wert enthält ?

Übrigens = "$row[nr]" iss ziemlich ungewöhnlich - nimm lieber = $row['nr'].
Vielleicht bin ich da aber auch outdated, was die gängige Syntax betrifft.

Zu Deiner Frage selbst - im MYSQL-Forum hier findest Du auch dazu etliche Beispiele.
Nur poste deinen Request dort nicht auch noch, doppelpostings sind kacke.

Du kannst auch mal nach dem SQL-Befehle "JOIN" schauen, damit kannst Du die Abfrage über mehrere Tabellen verknüpfen.

Und an die mysql_query würde ich generell immer ein or die(mysql_error()) anhängen - mindestens - sonst stehst Du bei einem Fehler ohne Fehlermeldung da und hast keinen Anhaltspunkt was schiefgegangen ist.

Weil du hervorhebst, das du noch nie mit Arrays gearbeitet hast - das "Geheimnis" der Arrays wird überschätzt. Ein Array ist einfach nur eine Liste von Daten. Statt $a0 = 'xyz' und $a1 = 'abc' hast Du eben nur $a mit dem Inhalt ('xyz','abc') - abgefragt wirds dann mit $a[0] und $a[1]. Das ist auch schon alles
 
Alt 18.02.2006, 19:12  
Gast
 
Beiträge: n/a
Standard

Es gibt eine Tabelle in der alle Spieler mit Nr. gespeichert sind und eine Tabelle wo Informationen zu den Mitgliedern gespeichert sind.
Jedes Mitglied hat die Möglichkeit einen Lieblingsspieler einzutragen.
In der user tabelle werden beim Spieler nur die Nr. gespeichert die ich mir vorher von der Tabelle kader hole und dann nachschaun will wieviel user den Spieler als Lieblingsspieler haben. Soweit habe ich das ja auch geschafft.

Mein Problem ist nur das ich die so sortiere das der Spieler, der am beliebtesten ist ganz oben steht.

Hab mich versucht mit dem Befehl "Join" anzufreunden habe es aber nicht geschafft...
 
Alt 18.02.2006, 19:18  
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

Irgendwie so könnte es gehn:
SELECT kader.spielername, COUNT(*) FROM kader JOIN users ON kader.id=users.spieler GROUP BY kader.spielername ORDER BY COUNT(*)

Wenn du deine Tabellenstruktur mal offenlegen würdest (und zwar nicht in irgendwelchen verschachtelten Sätzen aus denen man sich das dann rausklabautern soll.... ) wäre vieles einfacher
__________________
Today you...Tomorrow me.
agrajag ist offline  
Alt 18.02.2006, 19:32  
Erfahrener Benutzer
 
Registriert seit: 04.12.2005
Beiträge: 286
PHP-Kenntnisse:
Fortgeschritten
snatch-ic
Standard

wenn die daten in verschiedenen tabellen stehen besteht auch die möglichkeit temporäre tabellen mit den gewünschten daten anzulegen und dann mit der temporären tabelle zu arbeiten.
snatch-ic ist offline  
Alt 18.02.2006, 19:38  
Gast
 
Beiträge: n/a
Standard

http://img367.imageshack.us/img367/5445/sql3ma.jpg

So und jetzt noch ein verschachtelter Satz dazu

Die Tabelle oben heißt users die unten kader.
Und in der Tablle users bei spieler steht bei jedem eine Nr die es auch in der Tabelle Kader als nr gibt.
 
 


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
Array Werte sortieren eLement PHP Tipps 2008 9 30.03.2008 22:39
Unbekannte Werte verhindern das Dekodieren. freq.9 PHP Tipps 2006 10 15.07.2006 00:28
DECIMAL lässt sich nicht mit ORDER BY sortieren buggybugga Datenbanken 4 07.07.2006 15:43
Werte aus gesamter Spalte zählen rotzlöffel PHP Tipps 2006 17 14.05.2006 20:28
Dynamische Werte übergabe? Logik Problem jesus666 PHP Tipps 2005-2 21 03.08.2005 17:30
doppelte Werte / Strings einer Spalte nur einmal ausgeben... Datenbanken 2 29.07.2005 12:10
Alle Werte eines Array mischen PHP Tipps 2005-2 2 28.07.2005 17:37
Eingabefelder und Werte PHP Tipps 2005-2 1 28.06.2005 08:19
Array mit ksort sortieren und in Auswahlbox stellen PHP Tipps 2005 5 07.04.2005 09:53
werte werden nicht übergeben PHP Tipps 2005 10 05.04.2005 23:23
komma getrennte werte sortieren und zählen Schiedsrichter PHP Tipps 2005 10 09.03.2005 15:56
[Erledigt] Wie kann ich beliebig viele Werte an eine Funktion übergeben PHP Tipps 2005 11 25.01.2005 10:44
<select> und alte Werte obi PHP Tipps 2004-2 4 06.11.2004 15:17
via Link Werte an eine function übergeben PHP Tipps 2004 5 01.07.2004 12:39
Werte eines Arrays in eine MySQL schreiben PHP Tipps 2004 2 28.06.2004 13:32

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php werte sortieren

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