Manuelle og semi-automatiske strategier for identitetsstyring virker - lige indtil nogen beder om dokumentation. For at undgå denne fare har DKTV taget kontrol over sin identitets- og adgangsstrategi.
Slettet bruger
20. november 2004 - 23:16#1
UPDATE tabel SET rating=rating+8, nbr_votes=nbr_votes+1 WHERE...
Jeg kan ikke forstå det ikke virker. Jeg har denne PHP funktion:
if(mysql_num_rows(mysql_query("SELECT * FROM shoprating WHERE shopname='$shopname' AND town='$town'")) > 0) { mysql_query("UPDATE shoprating SET rating='rating+$rating', nbr_votes='nbr_votes+1' WHERE shopname='$shopname' AND town='$town'") or die(mysql_error()); } else { mysql_query("INSERT INTO shoprating(shopname, town, rating, sector, nbr_votes) VALUES('$shopname', '$town', '$rating', '$sector', '1')"); }
Hvis jeg indtaster et shopnavn og by, som allerede eksisterer, laver den alligevel en ny tupel ?!
Synes godt om
Slettet bruger
20. november 2004 - 23:34#3
Prøv at lave
if(mysql_num_rows(mysql_query("SELECT * FROM shoprating WHERE shopname='$shopname' AND town='$town'")) > 0)
om til
$sql = "SELECT * FROM shoprating WHERE shopname='$shopname' AND town='$town'"; echo $sql; if(mysql_num_rows(mysql_query($sql)) > 0)
Så er der en chance for at se om din sql indeholder det du tror den gør.
Din test viser fejlen, men jeg fatter ikke hvor den sker:
SELECT * FROM shoprating WHERE shopname='Hvidberg' AND town='Randers '
Der er et mellemrum efter Randers...
Jeg har så kigget i min bynavne tabel, og ganske rigtigt. Der er et mellemrum efter hvert bynavn. Det er noget skidt... Men så kan jeg vel bruge LIKE $bynavn% i stedet for :) ?!?!
Ja, det er netop det, der er problemet. I min bytabel er der mellemrum efter hvert bynavn.. Kan jeg på en eller anden smart måde fjerne det sidste mellemrum i bynavnet i hver post i tabellen ?
OK, din trim var en vinder. Nu er vi tilbage ved en anden problematik:
mysql_query("UPDATE shoprating SET rating='rating+$rating', nbr_votes='nbr_votes+1' WHERE shopname='$shopname' AND town='".trim($town)."'") or die(mysql_error());
Den sætter rating og nbr_votes til 0, 0. Den skulle lægge $rating og 1 til de værdier.
Synes godt om
Slettet bruger
21. november 2004 - 09:46#12
Du skal fjerne dine plinger
mysql_query("UPDATE shoprating SET rating=rating+$rating, nbr_votes=nbr_votes+1 WHERE shopname='$shopname' AND town='".trim($town)."'") or die(mysql_error());
Der er stadig berørte rækker på 0, men pyt med det. Du har forlængst løst mit oprindelige problem... -Resten er jo ren kosmetik :))
Synes godt om
Slettet bruger
21. november 2004 - 21:45#20
Mystisk..det fungerer her hos mig :/
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.