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: 12 let
|
0