Avatar billede techboy992 Praktikant
03. november 2012 - 08:14 Der er 4 kommentarer og
1 løsning

check credits funktion og saet status viker ikke

Jeg har foelgende script:

/** get url id **/
//$id = isset($_GET['id']) ? $_GET['id'] : '';
$result = mysql_query ("SELECT * FROM links LIMIT $num_displayed");
while ($row = mysql_fetch_array($result))
$id = $row["linkid"];

//get campain
//Get campain name
$result = mysql_query ("SELECT * FROM links Where linkid='$id'");
while ($row = mysql_fetch_array($result))
$campain = ($row["campain"]);


//Get awaible credits
$result = mysql_query ("SELECT * FROM campains Where campain='".$campain."'");
while ($row = mysql_fetch_array($result))
$credits = ($row["credits"]);

// check credits and set status
$limited = '4';
if ($credits > $limited){
mysql_query("UPDATE links SET status = '1' WHERE campain ='".$campain."'");
}
elseif ($credits < $limited){
mysql_query("UPDATE links SET status = '0' WHERE campain ='".$campain."'");
}
//list links
$result = mysql_query ("SELECT * FROM links WHERE status ='1' LIMIT $num_displayed");
while ($row = mysql_fetch_array($result))
echo '<center><font size="3">| <a href="java script:Popup(\'http://www.awc24h.com/test/newsys/Model/click.php?id='.$row["linkid"].'\')">Click me-'.$row["linkid"].'</a> |</font></center>';
mysql_close($con);

Den opdaterer ikke rigtigt hvis jeg bytter 1 og 0 rundt vil den gerne vise links der har mindre credits end $limited men vil ikke saette dem der har stoerre til status 1

Det er som om den kun tjekker det sidste link i databasen
Avatar billede techboy992 Praktikant
03. november 2012 - 08:24 #1
der er 2 campains 1 med credits og 1 der ikke har nogen
Avatar billede majbom Novice
03. november 2012 - 09:28 #2
du henter alle rækker fra "Links", så er det jo meget naturligt at det kun er den sidste der bliver benyttet?

i øvrigt er der ingen grund til at sætte glyffer rundt om tal i din sql-query
Avatar billede techboy992 Praktikant
03. november 2012 - 10:58 #3
er meningen at den skal tjekke alle linkene og opdatere dem foer den bygger listen af links
Avatar billede techboy992 Praktikant
03. november 2012 - 11:21 #4
Loesningen er:

/** get url id **/
//$id = isset($_GET['id']) ? $_GET['id'] : '';
$result = mysql_query ("SELECT * FROM links limit 1");
while ($row = mysql_fetch_array($result))
$id = $row["linkid"];

//get campain
//Get campain name
$result = mysql_query ("SELECT * FROM links Where linkid='$id' ");
while ($row = mysql_fetch_array($result))
$campain = ($row["campain"]);


//Get awaible credits
$result = mysql_query ("SELECT * FROM campains Where campain='".$campain."'");
while ($row = mysql_fetch_array($result))
$credits = ($row["credits"]);

// check credits and set status
$limited = '4';
if ($credits > $limited){
mysql_query("UPDATE links SET status = '1' WHERE campain ='".$campain."'");
}
elseif ($credits < $limited){
mysql_query("UPDATE links SET status = '0' WHERE campain ='".$campain."'");
}
$id++;

//list links
// Edit this number to however many links you want displaying
$num_displayed1 = 500 ;
$result = mysql_query ("SELECT * FROM links WHERE status =1 LIMIT $num_displayed1");
while ($row = mysql_fetch_array($result))
echo '<center><font size="3">| <a href="java script:Popup(\'http://www.awc24h.com/test/newsys/Model/click.php?id='.$row["linkid"].'\')">Click me-'.$row["linkid"].'</a> |</font></center>';
mysql_close($con);
Avatar billede techboy992 Praktikant
03. november 2012 - 11:32 #5
Troede jeg det var problem hvus jeg aendre campain fror et link saetter den ikke til 0 hvor der ikke er credit, men opdaterer fint til status 1 hvor der er credits
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
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

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