PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [PHP] Platz linear steigern


ich.com.sie.net
2006-05-18, 08:02:53
Und zwar steh ich mal wieder auf dem Schlauch. Ich hab eine Liga. Die Datensätzen werden nach den Punkten sortiert. Nun soll der ganz oben in der Liste steht, 1 stehn, beim zweiten 2 usw...


$rang = ??? ;
$status = $row['status'];
$name = $row['member'];
$mail = $row['mail'];
$clan = $row['clan'];
$matches = $row['matches'];
$victories = $row['victories'];
$defeat = $row['defeat'];
$points = $row['points'];

echo " <tr border='1'> \n";
echo " <td class='top'>".$rang.".</td> \n";
echo " <td class='top'><a href='mailto:".$mail."'>".$name."</a></td> \n";
echo " <td class='top'>".$clan."</td> \n";
echo " <td class='top'>".$matches."</td> \n";
echo " <td class='top'>".$victories."</td> \n";
echo " <td class='top'>".$defeat."</td> \n";
echo " <td class='top'>".($victories - $defeat)."</td> \n";
echo " <td class='top'>".$points."</td> \n";
echo " </tr> \n";

Coda
2006-05-18, 09:40:27
Was ist denn das Problem?

ich.com.sie.net
2006-05-18, 10:00:00
So. Noch mal von Vorne. Ich hab eine Liga-tabelle programmiert...

LIGA (http://www.samuel-geiselbrecht.de/freelancer/matches.php)

Der Plätze bleiben ja immer in der selben Reihenfolge. Jetzt soll aber auch nur Platz 1, 2 usw. nur da stehn, wenn der passende Datensatz vorhanden ist.

mithrandir
2006-05-18, 10:54:53
Um, bin ich der einzige, der jetzt nicht mitbekommen hat, was genau die Frage ist?

Gast
2006-05-18, 11:20:07
nö?

darph
2006-05-18, 11:39:59
Öhm... Ja. Hä? Geht es dir nur um die Aufzählung? Stammt die Reihe aus eine Datenbank?


for($i = 0; $i < count($row['clan']); $i++) {

$rang = $i + 1;
$status = $row['status'][$i];
$name = $row['member'][$i];
$mail = $row['mail'][$i];
$clan = $row['clan'][$i];
$matches = $row['matches'][$i];
$victories = $row['victories'][$i];
$defeat = $row['defeat'][$i];
$points = $row['points'][$i];

echo " <tr border='1'> \n";
echo " <td class='top'>".$rang.".</td> \n";
echo " <td class='top'><a href='mailto:".$mail."'>".$name."</a></td> \n";
echo " <td class='top'>".$clan."</td> \n";
echo " <td class='top'>".$matches."</td> \n";
echo " <td class='top'>".$victories."</td> \n";
echo " <td class='top'>".$defeat."</td> \n";
echo " <td class='top'>".($victories - $defeat)."</td> \n";
echo " <td class='top'>".$points."</td> \n";
echo " </tr> \n";
}


So vielleicht? *wild in der gegend rum rat* Um ehrlich zu sein... bis jetzt hat keiner genau verstanden, was du genau sagen willst. Vielleicht versuchst du es doch nochmal mit einer ordentlichen Erklärung, was genau du hast, wo du es her hast, was du haben willst und was das Problem ist.

ich.com.sie.net
2006-05-18, 11:51:11
Ich versuchs nochmal :smile:


Ich hab eine Tabelle, hier ein kleines Beispiel:

Platz Spieler Punkte
1. Samu 5
2. Lisa 3
3. Manu 1

Die Einträge werden also nach den Anzahl der Punkte geordnet.

Ich hab ja eine Schleife, dass die Namen und Punkte aus der Datenbank gelesen werden. Allerdings kann ja jeder mal auf der 1 stehn. Die 1 steht aber immer an der selben Stelle. Wie ich das hinbekomm, würde ich gerne wissen.

Ich glaub jetzt hab ichs ganz gut erklärt

DR.DEATH
2006-05-18, 12:43:51
Mhh, weiss nimmer genau wies ging aber reicht da net im SQL Statement ein "ORDER BY points"? Evtl. muss da nochn GROUP mit rein, is schon ne Weile her.
Dann muessten die Ergebnisse jedenfalls sortiert nach den Punkten aus der DB kommen.

Juerg
2006-05-18, 13:51:25
Also ich glaube, dass Du nicht den Rang als Zählschleife verwenden solltest (auch nicht als UniqueID in der Datenbank verwenden).

Du solltest den Rang in einem separaten Feld speichern und dann SELECT ID, Name, Vorname, Rang, usw FROM tabelle ORDER BY Rang ASCoder sowas in der Art als sql statement anwenden.

Jedenfalls habe das aus den Wirren der Erklärungsversuche und Lösungsvorschläge rausgelesen :biggrin:

ich.com.sie.net
2006-05-18, 15:17:15
Juerg[/POST]']Also ich glaube, dass Du nicht den Rang als Zählschleife verwenden solltest (auch nicht als UniqueID in der Datenbank verwenden).

Du solltest den Rang in einem separaten Feld speichern und dann SELECT ID, Name, Vorname, Rang, usw FROM tabelle ORDER BY Rang ASCoder sowas in der Art als sql statement anwenden.

Jedenfalls habe das aus den Wirren der Erklärungsversuche und Lösungsvorschläge rausgelesen :biggrin:

so hab ich es momentan. Gefällt mir so aber net! ;)

darph
2006-05-18, 15:19:53
... weil?

ich.com.sie.net
2006-05-18, 15:35:58
darph[/POST]']... weil?

es nicht immer erst extra berechnet werden soll. Muss auch einfach gehn..!

Misda
2006-05-18, 15:48:22
Mach ein "ORDER BY points DESC" (Oder war es ASC?) hintendran und setz die Ergebnisse in eine Liste.


<ul>
<li>Bla</li>
<li>Bla</li>
<li>Bla</li>
</ul>

Dann bekommen die ja eh automatisch ne 1, 2, 3, etc. dran.

mithrandir
2006-05-19, 07:49:38
Und wenn keine Liste, dann vielleicht Schleifenzähler?

ich.com.sie.net
2006-05-19, 13:40:08
mithrandir[/POST]']Und wenn keine Liste, dann vielleicht Schleifenzähler?

Schleifenzähler? Wie sieht das Ganze dann aus?

Misda
2006-05-19, 16:12:16
Wenn keine Liste machst einfach vor jeden Namen ein "echo $i;" ...