| Autor | Zpráva | ||
|---|---|---|---|
| FEIL Profil |
Chcel by som sa opýtať prečo vo verzií 7.01.01 my nasledovný skript funguje a v 7.02.xx nefunguje.
$vypis = dbarray(mysql_query("SELECT * FROM liga_hleda WHERE liga='".$_GET["id"]."'"));
if ($vypis["liga"] == $_GET["id"]) {
$kontrolka = "0";
$hleda_result = mysql_query("SELECT * FROM liga_hleda WHERE liga='".$_GET["id"]."'");
while($hleda = mysql_fetch_array($hleda_result)){
$hodina = Date("H");
$minuta = Date("i");
if ($hodina >= $hleda["hod"] && $minuta > $hleda["min"] ) { $result = mysql_query("DELETE FROM liga_hleda WHERE id='".$hleda["id"]."'"); } Ked uplynie čas zadaný v hľadaní v 7.02 sa vôbec nevykoná zmazanie hľadania. Stále sa uskutoční výpis. |
||
| AM_ Profil |
#2 · Zasláno: 17. 4. 2012, 15:29:25
v tomhle kódu jsou jen čistě funkce PHP bez použití čehokoli z PHPFusion. Dokonce se ani nic nevypisuje, takže jestli se uskuteční nějaký výpis, je to spíš divné.
Když se na to ale teď dívám - problém bude podstatně jednodušší :) co když v databázi je čas "8:30" a aktuální čas je "9:20"? pak rozhodně neplatí, že minuta > hleda[min], přitom už ale čas 8:30 uplynul. Několik dalších poznámek: - MySQL databáze má datový typ "TIME", který je rozhodně vhodnější pro ukládání data, než ukládat zvlášť hodinu a minutu. - co dělá funkce dbarray()? to samé, co mysql_fetch_array() (a má zmást nepřítele) ? |
||
| FEIL Profil |
#3 · Zasláno: 17. 4. 2012, 21:18:13
Celkovo to vyzerá takto:
// kontroluji jestli je clen registrovan v dane lize
$kontrola = dbarray(mysql_query("SELECT * FROM liga_users WHERE id='".$userdata["user_id"]."' AND liga='".$_GET["id"]."'"));
/*if ($kontrola["liga"] != $_GET["id"]) { echo "<center><tr><td>V tejto lige niesi zaregistrovaný.</td></tr></center>"; }
else {*/
// kontroluje jestli liga existuje
$vypis = dbarray(mysql_query("SELECT * FROM liga_hleda WHERE liga='".$_GET["id"]."'"));
if ($vypis["liga"] == $_GET["id"]) {
$kontrolka = "0";
$hleda_result = mysql_query("SELECT * FROM liga_hleda WHERE liga='".$_GET["id"]."'");
while($hleda = mysql_fetch_array($hleda_result)){
$hodina = Date("H");
$minuta = Date("i");
if ($hodina >= $hleda["hod"] && $minuta > $hleda["min"] ) { $result = mysql_query("DELETE FROM liga_hleda WHERE id='".$hleda["id"]."'"); }
else {
if ($hleda["aktivni"] == "1") {
$kontrolka = "1";
$enemy = dbarray(mysql_query("SELECT * FROM liga_users WHERE id='".$userdata["user_id"]."' AND liga='".$_GET["id"]."'"));
$enemyklan = dbarray(mysql_query("SELECT * FROM liga_klany WHERE id='".$enemy["klan_id"]."'"));
echo " <tr>
<td>".$hleda["klan"]."</td>
<td>".$hleda["body"]."</td>
<td>".$hleda["cas"]."</td>
<td>";if ($hleda["server"] == "1") { echo "Máme"; } else { echo "Nemáme"; } echo "</td>
<td>".$hleda["mapa"]."</td>
<td><form action='".BASEDIR."liga/?page=prijmout+hledani&id=".$_GET["id"]."' method='post'>AM: „Když se na to ale teď dívám - problém bude podstatně jednodušší :) co když v databázi je čas "8:30" a aktuální čas je "9:20"? pak rozhodně neplatí, že minuta > hleda[min], přitom už ale čas 8:30 uplynul.“ V tomto máš pravdu toho som si nevšimol tým pádom podmienka neplatí hlavne ked je tam AND |
||
|
Časová prodleva: 14 let
|
|||
0