es sind zumindest 4 werte (0,1,2,3)
hi,
ich möchte max. 3 einträge aus der datenbank addiert bekommen. bei meiner abfrage werden immer alle addiert:![]()
cuPHP-Code:function mannschaft_erg($w, $r, $m) {
include("erg-db/erg_db.php");
$erg_mannschaft = mysql_query("SELECT SUM(e_punktzahl) FROM tbl_ergebnisse WHERE e_wertung = '$w' AND e_turnier_nr = '$r' AND e_verein = '$m' LIMIT 0,3",$db);
echo mysql_result($erg_mannschaft, $q, $a);
}
hallmi
Wo ist mein Bier ?!
es sind zumindest 4 werte (0,1,2,3)
in eile kam er,
in schwarzem gewand,
aus den tiefen des waldes,
ein einsamer mann, ein geschoepf der freiheit,
ein geschoepf ohne furcht,
doch alle nannten sie ihn nur T O D
es geht auch nicht,wenn ich limit auf 0,2 setze oderso.....
wie würdest du/ihr es denn machen um nur 3 einträge zu addieren?
cu
hallmi
Wo ist mein Bier ?!
@HoRnominatoR
Wenn du das auf das LIMIT Statement beziehst liegst du falsch.
LIMIT bekommt als ersten Parameter die erste erste betroffene Zeile und als zweiten
Parameter die Länge.
(Datensätze 1,2,3,4: SELECT ~ LIMIT 0,3 = 1,2,3 ; SELECT ~ LIMIT 1,3 = 2,3,4)
COUNT führt allerdings eine Addition über die ganze Spalte durch, unabhängig von
LIMIT..
The truth You hear may not be the truth You think it is
und wie mach ich das nun in meinem beispiel?? weil bei mir werden alle datensätze mit der wertung 'm' zusammengefasst, das sind insgesamt 5,aber es sollen ja nur 3 addiert werden....muss man das was anderes als LIMIT nehmen?? oder was mach ich nur falsch...![]()
cu
hallmi
Wo ist mein Bier ?!
soweit ich weiß, kannst du das über limit garnicht machen, weil (wie vorgänger es schon sagte) sich das auf was anderes bezieht.
wirst wohl die werte, welche du brauchst selectieren müssen. einen fetch_array oder raw drüber lassen und dann die ersten 3 addieren
oder verstehe ich das ganze vorhaben nicht? (schon recht spät, oder früh)
Ich bin bereit, meinem Schöpfer gegenüberzutreten.
Ob mein Schöpfer ebenso bereit ist, diese Begegnung über sich ergehen zu lassen, ist eine andere Sache.
hi,
der gedankengang ist genau der richtige.
cu
hallmi
Wo ist mein Bier ?!
hi,
mit folgendem script werden mir zwar 3 einträge ausgelesen, aber nicht vom größten zum kleinsten geordnet....aber anfür sich sollten diese doch durch ORDER BY e_punktzahl DESC vom größten zum kleinsten geordnet werden?!
und hier das ganze script dieser datei:PHP-Code:function mannschaft_erg($w, $r, $m) {
include("erg-db/erg_db.php");
$erg_mannschaft = mysql_query("SELECT e_punktzahl FROM tbl_ergebnisse WHERE e_wertung = '$w' AND e_turnier_nr = '$r'
AND e_verein = '$m' ORDER BY e_punktzahl DESC LIMIT 0,4",$db);
echo mysql_result($erg_mannschaft, '1', $a1);
echo mysql_result($erg_mannschaft, '2', $a1);
echo mysql_result($erg_mannschaft, '3', $a1);
}
cuPHP-Code:<?
if (!isset($t)) $t='1';
$sj = date ("Y",time());
$sqlab2 = "select * FROM tbl_turniere where t_sportjahr = '$sj'";
$res2 = mysql_query($sqlab2, $db);
while ($row = mysql_fetch_array($res2)) {
echo "<a href='?wertung=$wertung&sj=$sj&t=$row[t_id]'>$row[t_name]</a>";
echo " | ";
}
echo "<br><br>";
$erg_head = mysql_query("SELECT * FROM tbl_vereine order by v_name asc",$db);
while ($row_head = mysql_fetch_array($erg_head)) {
echo "<table border=1 width=500px><tr><td width=200px><strong>$row_head[v_name]</strong></td><td><strong>Punkte</strong></td><td><strong>Wertung</strong></td></tr>";
$erg_cont = mysql_query("SELECT * FROM tbl_ergebnisse where e_sportjahr = '$sj' and e_verein = '$row_head[v_id]' and e_turnier_nr = '$t' order by e_wertung desc",$db);
while ($row_cont = mysql_fetch_array($erg_cont)) {
$res2 = mysql_query("select * FROM tbl_schuetzen where s_id = '$row_cont[e_schuetze]'", $db);
$schuetze = mysql_result($res2, $q,"s_name").", ".mysql_result($res2, $q,"s_vorname");
echo "<tr><td width=150px>$schuetze</td><td>$row_cont[e_punktzahl]</td><td width=150px>"; if ($row_cont[e_wertung]=="m") {echo "Mannschaft";} else {echo "Einzel";} echo "</td></tr>";
}
echo mannschaft_erg(m, $t, $row_head['v_id']);
echo "</table><br><br>";
}
?>
hallmi
Wo ist mein Bier ?!
hi,
okay,ich habs nun...war ein leichtsinnsfehler:
bei der ausgabe muss ich natürlich bei 0 anfangen und nicht bei 1:
vorher:PHP-Code:echo mysql_result($erg_mannschaft, '0', $a1);
echo mysql_result($erg_mannschaft, '1', $a1);
echo mysql_result($erg_mannschaft, '2', $a1);
--------------------------------------------------------------------PHP-Code:echo mysql_result($erg_mannschaft, '1', $a1);
echo mysql_result($erg_mannschaft, '2', $a1);
echo mysql_result($erg_mannschaft, '3', $a1);
nun noch was anderes:
wie kann ich das denn nun am besten mit zwischenergebnissen machen. nach der 1. runde gibt es ja auch die ersten mannschaftsergebnisse. nun möchte ich,dass ab der 2. Runde auch ein zwischenergebnis (mannschaftergebnis aus den vorherigen runden + das aktuelle ergebnis) ausgegeben wird.
cu
hallmi
Wo ist mein Bier ?!
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)