Hallo Ihr Lieben,
ich habe seit ein paar Spieltagen das Ranglisten Addon für die PHP 7 Version im Einsatz.
Beim letzten Spieltag gab es jeweils zwei Tipper mit der selben Punktzahl. Leider wird nicht die korrekte Rangliste gesendet.
Nachfolgend mein Quelltext:
Quelltext:
<?php
header('Content-Type: text/html; charset=utf-8');
#########################################################################################
#
# Ranglistenmail Addon für BuLiTipp 4.x
# ranglisten_mail.php (Cronjob)
#
# Letzte Änderung: 09.02.2012
#
#########################################################################################
define("|","|");
# Include-Dateien einbinden
require_once("../include/database.inc.php");
require_once("../include/config.inc.php");
require_once("../include/functions.inc.php");
if($_GET['pw'] != $extern['pw'])
{
echo "Kein Login!";
}
elseif ($_GET['pw'] == $extern['pw'])
{
echo "Script Aufruf erfolgreich... <br><br>";
$datum = date("d.m.Y");
$uhrzeit = date("H:i");
echo $datum," - ",$uhrzeit," Uhr <br><br>";
// Connect zur Datenbank
$MYSQLI = mysqli_connect($db['server'],$db['user'],$db['pass'],$db['name']);
$query_spieltag = "SELECT *"
." FROM ". $tbl['precalc']
." WHERE type = 'user_ranking'"
." AND liga = ". $saison['liga']
." AND saison = '". $saison['jahr2'] ."'"
." ORDER BY spieltag DESC"
." LIMIT 0,1";
$result_spieltag = mysqli_query($MYSQLI, $query_spieltag);
$anzahl_spieltag = mysqli_num_rows($result_spieltag);
$fetch_spieltag = mysqli_fetch_array($result_spieltag);
$abgeschlossen = SpieltagFinished($fetch_spieltag['spieltag']);
if ($abgeschlossen)
{
$query_verschickt = "SELECT rangliste"
." FROM ". $tbl['precalc']
." WHERE liga = ". $saison['liga']
." AND saison = '". $saison['jahr2'] ."'"
." AND spieltag = ". $fetch_spieltag['spieltag'];
echo $query_verschickt;
$result_verschickt = mysqli_query($MYSQLI, $query_verschickt);
$anzahl_verschickt = mysqli_num_rows($result_verschickt);
$fetch_verschickt = mysqli_fetch_array($result_verschickt);
if ($fetch_verschickt['rangliste'] == '0')
{
$query_user = "SELECT user, email"
." FROM ". $tbl['user']
." WHERE aktiv = 1"
." AND ranglistenmail = 1"
." AND deleted = 0";
$result_user = mysqli_query($MYSQLI, $query_user);
$anzahl_user = mysqli_num_rows($result_user);
if ($anzahl_user == "0") {
echo "Ranglistenmail wird an keinen User verschickt. <br><br>";
} else {
echo "Ranglistenmail wird an $anzahl_user User verschickt. <br><br>";
}
while ($fetch_user = mysqli_fetch_array($result_user))
{
$query = "SELECT ran.user_id, ran.rang_2day, ran.tipps_2day, ran.pkt_2day, ran.user_name, ran.fav, "
." pre.saison, pre.liga, pre.spieltag"
." FROM ". $tbl['saison_ranking'] . " as ran"
." INNER JOIN ". $tbl['precalc'] ." as pre ON pre.id = ran.precalc_id"
." INNER JOIN ". $tbl['user'] ." as usr ON usr.id = ran.user_id"
." WHERE pre.liga = ". $saison['liga']
." AND pre.saison = '". $saison['jahr2'] ."'"
." AND pre.spieltag = ". $fetch_spieltag['spieltag']
." ORDER BY ran.pkt_2day DESC";
$result = mysqli_query($MYSQLI, $query);
$anzahl = mysqli_num_rows($result);
$empfaenger = $fetch_user['email'];
$betreff = $CONFIG['SITENAME'] ." | Rangliste | ". $fetch_spieltag['spieltag'] .". Spieltag";
$from = "From: ". $support['absender'] ."\n";
$from .= "Content-Type: text/html\n";
$text = "Hallo ". $fetch_user['user'] .", <br /> <br />
in dieser eMail findest du die Rangliste nach dem <strong>". $fetch_spieltag['spieltag'] .". Spieltag</strong>:
<br /> <br /> <hr />";
$text .= "<table>
<tr>
<td style='width: 50px; text-align: center;'><strong>Platz</strong></td>
<td style='width: 200px;'><strong>Name</strong></td>
<td style='width: 15px; text-align: center;'><strong>Punkte</strong></td>
</tr>";
while ($fetch = mysqli_fetch_array($result))
{
$text .= "<tr>";
$text .= "<td style='text-align: center;'>". $fetch['rang_2day'] ."</td>";
$text .= "<td>". $fetch['user_name'] ."</td>";
$text .= "<td style='text-align: center;'>". $fetch['pkt_2day'] ."</td>";
$text .= "</tr>";
}
$text .= "</table>";
$text .= "<br /> <br /> <hr />";
$text .= "<i>Diese eMail wurde automatisch von <a href='". $CONFIG['URL'] ."'>". $CONFIG['URL'] ."</a> erstellt. Solltest du sie unerwartet bekommen haben, dann lösche und ignoriere sie bitte.</i>";
mail($empfaenger, $betreff, $text, $from);
echo "Versendet an: $empfaenger <br>";
}
$update_precalc = "UPDATE ". $tbl['precalc']
." SET rangliste = '1'"
." WHERE liga = ". $saison['liga']
." AND saison = '". $saison['jahr2'] ."'"
." AND spieltag = ". $fetch_spieltag['spieltag'];
$result_update_precalc = mysqli_query($MYSQLI, $update_precalc);
} else {
echo "Die Rangliste wurde für diesen Spieltag bereits verschickt." . $tbl['precalc'];
}
}else {
echo "Spieltag noch nicht abgeschlossen. Keine Ranglistenmail versendet.";
}
}
?>
Vielen Dank im Voraus für eure Hilfe.
Gruß
Flo