MySQL+PHP (podmienka)

Programovacie jazyky, rady, poradňa...
mastermind
VIP
VIP
Používateľov profilový obrázok
Príspevky: 4810
Registrovaný: 09 feb 2005, 13:17

Príspevok od používateľa mastermind »

nemas ukonceny ten INSERT pred tym selectom.
takze pridaj tam " a bude to
Fata! ChaoS
Star
Star
Používateľov profilový obrázok
Príspevky: 650
Registrovaný: 12 apr 2006, 20:23
Bydlisko: Tvrdošovce
Kontaktovať používateľa:

Príspevok od používateľa Fata! ChaoS »

Mockrát dík, potom som si tam ešte našiel pár chýb, ale teraz mi zas píše chybu viď hore
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in
Ale ten dotaz nie je chybný, tabuľka je správne zaradená, tak isto aj taký riadok v tom existuje celé som ten dotaz viackrát prezrel a nevidím v tom chybu predsa mi to píše.
mastermind
VIP
VIP
Používateľov profilový obrázok
Príspevky: 4810
Registrovaný: 09 feb 2005, 13:17

Príspevok od používateľa mastermind »

parameter mysql_num_rows nie je sql poziadavka ale mysql resource.
teda najprv musis vykonat mysql_query a az potom mysql_num_rows
Fata! ChaoS
Star
Star
Používateľov profilový obrázok
Príspevky: 650
Registrovaný: 12 apr 2006, 20:23
Bydlisko: Tvrdošovce
Kontaktovať používateľa:

Príspevok od používateľa Fata! ChaoS »

No takže po testovaní som prišiel na jednu dosť veľkú chybu

Kód: Vybrať všetko

$sql="SELECT * FROM Ncounter_log WHERE day_time='$day_time'";
$result=mysql_query($sql);
$Tcount=mysql_num_rows($result);
if ("23:59" == $itstime):
$sql="INSERT INTO Ncounter_day (counter_name,visits,day_time) VALUES ('$counter_name','$Tcount','$day_time')";
mysql_query($sql);
endif;
Táto časť mi slúži na výpočet celkovej náštevnosti cez jeden deň, lenže to nepracuje a ja asi aj viem prečo, lebo tam kde mám tú podmienku, že ak "23:59" == $itstime, no v podstate v tej podmienke nieje chyba, lenže tá podmienka sa vykonáva, len vtedy, keď niekto načíta stránku! Ak mám pravdu, tak ako by som to mohol spraviť tak aby sa ten zápis INSERT INTO vykonal presne o 23:59 každý deň? Pls poradte a vopred díky :wink:
gwixt
Addict
Addict
Používateľov profilový obrázok
Príspevky: 3912
Registrovaný: 24 sep 2005, 16:50
Bydlisko: Trash-Can

Príspevok od používateľa gwixt »

:arrow: cron
Fata! ChaoS
Star
Star
Používateľov profilový obrázok
Príspevky: 650
Registrovaný: 12 apr 2006, 20:23
Bydlisko: Tvrdošovce
Kontaktovať používateľa:

Príspevok od používateľa Fata! ChaoS »

No stiahol som si z-cron a zatial som neprišiel nato ako by som pomocou toho pridal niečo do MySQL DB :? Nevedel by si mi povedať, že ako sa to má nejaký tut slovne, že kde nájdem miesto kde môžem doplniť MySQL pripojenie, bo nejak to neviem nájsť.

PS: Ak niečo zafajknem alebo odfajneknem tak výkon je 100% a zamrzne mi ten z-cron.
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Vytvor si nejaký php subor. Ten potom pomocou napr. lynx alebo wget "stiahneš" (lynx spustíš pomocou cron). Ten skript urobí to uloženie tej návštevnosti.
Ja by som to aj tak riešil inak. Prvá návšteva cez deň by spôsobila, že by sa tá návštevnosť uložila.
Fata! ChaoS
Star
Star
Používateľov profilový obrázok
Príspevky: 650
Registrovaný: 12 apr 2006, 20:23
Bydlisko: Tvrdošovce
Kontaktovať používateľa:

Príspevok od používateľa Fata! ChaoS »

Existuje niečo také, čo vypíše včerajší dátum? Rok, mesiac, deň???
sundevil
VIP
VIP
Používateľov profilový obrázok
Príspevky: 4169
Registrovaný: 18 mar 2005, 12:03
Bydlisko: BA

Príspevok od používateľa sundevil »

Fata! ChaoS napísal:Existuje niečo také, čo vypíše včerajší dátum? Rok, mesiac, deň???
aktualny, len das den - 1 , nie?
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Pozri si príklady: strtotime
Fata! ChaoS
Star
Star
Používateľov profilový obrázok
Príspevky: 650
Registrovaný: 12 apr 2006, 20:23
Bydlisko: Tvrdošovce
Kontaktovať používateľa:

Príspevok od používateľa Fata! ChaoS »

sundevil, sprostý až tak niesom, ale vieš keď bude 01. tak to potom bude 00 :?
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Fata! ChaoS napísal:sundevil, sprostý až tak niesom, ale vieš keď bude 01. tak to potom bude 00 :?
A tú funkciu strtotime si už pozrel? Sú tam príklady, ako sa robí presne to, čo potrebuješ.
Fata! ChaoS
Star
Star
Používateľov profilový obrázok
Príspevky: 650
Registrovaný: 12 apr 2006, 20:23
Bydlisko: Tvrdošovce
Kontaktovať používateľa:

Príspevok od používateľa Fata! ChaoS »

Pozrel pozrel, ale potom som prišiel na jednoduchší spôsob z tvojho prípevku, lenže jedna vec mi v tom neficí viď:

Kód: Vybrať všetko

$sql="SELECT * FROM Ncounter_log WHERE day_time='$day_time'";
$result=mysql_query($sql);
$Tcount=mysql_num_rows($result);
$sql="SELECT * FROM Ncounter_day WHERE day_time='$day_time'";
$result=mysql_query($sql);
$Dcount=mysql_num_rows($result);
if ($Dcount == "1"):
   $sql="UPDATE Ncounter_day SET counter_name='$counter_name',visits=$Tcount WHERE day_time=$day_time";
   mysql_query($sql);
endif; 
if ($Dcount == "0"):
   $sql="INSERT INTO Ncounter_day (counter_name,visits,day_time) VALUES ('$counter_name','$Tcount','$day_time')";
   mysql_query($sql);
endif;
Neviem si tam nájsť žiadnú chybu a chyba je v tom UPDATE, lebo mi to nechce updatovať nové riadky mi vytvára, ale neupdatuje mi počet náštev to prečo? Ja som si tam chybu nenašiel. Aj som pozrel, že Dcount obsahuje "1", ale update sa nevykoná :(
gwixt
Addict
Addict
Používateľov profilový obrázok
Príspevky: 3912
Registrovaný: 24 sep 2005, 16:50
Bydlisko: Trash-Can

Príspevok od používateľa gwixt »

ved ludia omg si ten dotaz vyskusajte v phpMyAdminovi a ono vam to vypise co mate zle :roll: :roll:

btw tu hodnotu date_time mas mat v apostrofoch :roll:
Fata! ChaoS
Star
Star
Používateľov profilový obrázok
Príspevky: 650
Registrovaný: 12 apr 2006, 20:23
Bydlisko: Tvrdošovce
Kontaktovať používateľa:

Príspevok od používateľa Fata! ChaoS »

No veď ja som do kódu pripísal
echo mysql_error();
ale nič mi nevypísalo, no skúsim to s tým, čo si poradil, potom napíšem, že či šlo.
PS: Myslel si day_time, nie?!
gwixt
Addict
Addict
Používateľov profilový obrázok
Príspevky: 3912
Registrovaný: 24 sep 2005, 16:50
Bydlisko: Trash-Can

Príspevok od používateľa gwixt »

tak este raz

"ved ludia omg si ten dotaz vyskusajte v phpMyAdminovi a ono vam to vypise co mate zle :roll: :roll:

btw tu hodnotu date_time mas mat v apostrofoch :roll:"
Fata! ChaoS
Star
Star
Používateľov profilový obrázok
Príspevky: 650
Registrovaný: 12 apr 2006, 20:23
Bydlisko: Tvrdošovce
Kontaktovať používateľa:

Príspevok od používateľa Fata! ChaoS »

Prečo to píšeš ešte raz? A keď sú tam premmené tak to nemôžem vyskúšať v phpmyadminovi a chyba bola tam kde si to písal, že trebalo dať $day_time do apostrofov aj ke´d si napísal date_time, no a už to fičí takže dík a fakt nechápem prečo si to písal ešte raz :lol:,no neva. Môžte locknúť :lock:
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Premenné nevadia. V originálnom skripte nepoužiješ mysql_query. Stačí keď si dáš to QUERY zobraziť (napr. echo) a potom to dáš do phpMyAdmin.
Ale keď to zobrazuje chyby v phpMyAdmin, malo by to chyby zobrazovať aj v tom skripte.
gwixt
Addict
Addict
Používateľov profilový obrázok
Príspevky: 3912
Registrovaný: 24 sep 2005, 16:50
Bydlisko: Trash-Can

Príspevok od používateľa gwixt »

pisal som to este raz lebo si to evidentne nepochopil aj ked tam bola odpoved :wink:

a pisal som HODNOTU (stlpca) date_time .. teda to co davas za = .. a to je v tvojom pripade php premenna $date_time :wink:
Napísať odpoveď