Avatar billede ewax Nybegynder
24. april 2012 - 13:24 Der er 3 kommentarer og
1 løsning

JQuery/PHP link cheker

Hej eksperter

Jeg er kommet til en udfordring jeg ikke kan gennemskue

Jeg har en database med ca 2500 posts

Hver af disse posts har et link der skal tjekkes engang imellem

For at gøre dette så smertefrit som muligt har jeg lavet et php script der tjekker det for mig, ved at få et id i en querystring
sys_check.php?id=x

Jeg kunne godt tænke mig at kunne automatisere dette med et tryk på en knap der gennemgik alt

Hvis jeg laver det hele i et script vil det tage en evighed og php opsætningen vil melde fejl pga for lang execution time

Jeg er forholdsvis ny på jquery området, kan dog de mest basale ting og arbejder på at lære det :-)

----

Mit problem er at lave en selvkørende jquery funktion der kører en load af gangen pr id, og efter hinanden. den skal vende tilbage med resultat om det gik godt eller skidt. men sys_check.php retunerer hhv. 1=virker 2=broken

Den må gerne tælle sammen x antal virker, x antal broken.


Er det noget der kan lade sig gøre???

Mvh. Michael
Avatar billede ewax Nybegynder
24. april 2012 - 13:40 #1
..fortsat

Den skal tage alle rows fra databasen, så man skal nok oprette et array da der sorteres på de sidst checkede først

id eksempel

66 -> sys_check.php?id=66 -> retuner data -> næste
212 -> sys_check.php?id=212 -> retuner data -> næste
8 -> sys_check.php?id=8 -> retuner data -> næste
342 -> sys_check.php?id=342 -> retuner data -> næste
--||--

sys_check.php
finder status på om linket virker, retunerer hhv. 1=virker, 2=broken. den opdater samtidig databasen med de nødvendige ting
Avatar billede inteeeL Nybegynder
24. april 2012 - 20:10 #2
Hvorfor Jquerye? PHP kan uden problemer kører 2500 poster igennem, medmindre din PHP-opsætning ikke er særlig godt sat op. Det kunne jo se sådan her ud - super simpelt:
<?php

$result = mysql_query("SELECT link FROM table");
while( $row = mysql_fetch_assoc( $result)) {
    $link = ( @file_get_contents( $row['link']) ? 1 : 2);
    mysql_query("UPDATE table SET link=$link");
}

$cnt_working_links = mysql_num_rows( mysql_query("SELECT link FROM table WHERE link=1");
$cnt_broken_links = mysql_num_rows( mysql_query("SELECT link FROM table WHERE link=2");

?>
Avatar billede ewax Nybegynder
25. april 2012 - 09:30 #3
Jeg har lavet det i php, jeg vil have det lavet med et dynamisk flot interface i jquery :-)

Af hvad jeg har læst mig til skal man lave det af et array, der splittes med each() der benytter load() som returnerer resultatet. kan bare ikke få sat det sammen
Avatar billede ewax Nybegynder
06. september 2012 - 13:30 #4
Jeg fik det løst

Lukker ned her
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester