31. august 2008 - 12:50Der er
18 kommentarer og 1 løsning
Optimering af kode (PHP)
Hejsa.
Jeg har lavet flg, som skal bruges til et cronjob. Jeg er dog lidt i tvivl om hvorvidt det her er smart, eller om det kan gøres smartere, altså så det måske kunne arbejde hurtigere, da der er en hel del brugere i min database :-)
require("../conn.inc.php");
$idag = date("d/m-Y");
$is = mysql_query("SELECT * FROM bank_cron WHERE date = '".$idag."'")or die(mysql_error()); if(mysql_num_rows($is)==0) {
$q = mysql_query("SELECT * FROM bank WHERE balance > 10")or die(mysql_error()); while($row = mysql_fetch_array($q)) {
mysql_query("UPDATE bank SET balance = '".$new_balance."' WHERE userid = '".$row['userid']."'")or die(mysql_error()); } mysql_query("UPDATE facebook_fa_bank_cron SET date = '".$idag."' WHERE id = '1'")or die(mysql_error());
Måske er det muligt, alt efter din struktur, at ændre --- $idag = date("d/m-Y");
$is = mysql_query("SELECT * FROM bank_cron WHERE date = '".$idag."'")or die(mysql_error()); --- til --- $is = mysql_query("SELECT * FROM bank_cron WHERE date = CURDATE()")or die(mysql_error()); ---
Dette kan måske også bruges senere, hvor du bruger $idag.
[OFFTOPIC] Det mener jeg også det er. Men har også selv brugt det i nogle tabeller. Hvad betyder det, sådan rent brugsmæssigt, at mysql har et ord reserveret? Har altid undret mig.
Reserverede ord burde vel ikke kunne fungere, da de har en eller anden funktion, som de i stedet udøver. Men jeg mente nu også, date burde være reserveret. Hm.
Jeg vidste ikke at "date" er et reserveret ord.. Den har jeg brugt mange gange. Men er det det samme som f.eks "by" ? Det har jeg nemlig aldrig kunne bruge
Bør man egentlig ikke undgå * i sql ?? Jeg ville nok rette: $is = mysql_query("SELECT * FROM bank_cron WHERE date = CURDATE()")or die(mysql_error()); if(mysql_num_rows($is)==0) {
til: $is = mysql_query("SELECT COUNT(id) FROM bank_cron WHERE date = CURDATE()")or die(mysql_error()); if(mysql_result($is,0)==0) {
Lukker her, skriv endelig hvis i vil have point :P
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.