Beste Sitedealers,
Al een aantal dagen ben ik bezig met het herscripten van mijn website en het toevoegen van een aantal nieuwe opties. Één van die opties is een soort van punten systeem dat gebaseerd is op een percentage dat hij uit een andere tabel haalt.
Probleem: Het probleem zit hem in het feit dat hij de "else" functie van mijn if statement niet goed weg schrijft in de database. Op dit moment krijg ik op $aa een "1" terug waar ik een "2" terug zou moeten krijgen in dit geval.
Staat boven in de <head>:
Het stuk script waar het probleem in zit:PHP Code:
$name = $_GET['name'];
$owner = $_GET['owner'];
$query = "SELECT * FROM `maps` WHERE `name` = '".$name."' ";
$result = @mysql_query($query);
$row = mysql_fetch_array($result);
PHP Code:
$i = $row['downloads'];
$teller = $i + 1 ;
$update = "UPDATE maps SET `downloads` = ".$teller." WHERE `name` = '".$name."' ";
$updateresult = @mysql_query($update);
$testzor = $row['owner'];
if ($owner == "" ) {
$points = $i + 1;
$update = "UPDATE maps SET `points` = ".$points." WHERE `name` = '".$name."' ";
$updateresult = @mysql_query($update);
} else {
$sql = " SELECT value FROM `users` where `username` = '".$testzor."' "; $result = (mysql_query($sql));
$aa = mysql_result($result, 'aantal');
$points = $aa * ($i + 1);
$update = "UPDATE maps SET `points` = ".$points." WHERE `name` = '".$name."' ";
$updateresult = @mysql_query($update);
};
Database tabellen die worden gebruikt:
- Users
username (wordt gebruikt in het else gedeelte van het if statement bij SELECT value)
value (Wordt gebruikt om de uiteindelijke $points te bereken in het else gedeelte)
- Maps
name (Naam van de map waar de gegevens van het record aan vast zitten)
owner (Wanneer deze naam er is dan is hij gelijk aan de username uit de users tabel)
downloads (Een teller die als basis wordt genomen voor $points in beide updates)
points (De record die wordt bepaald met het if statement en die dus in het else gedeelte niet goed reageert op de value waarde uit de users tabel)
Doel van het script: Het stukje code zou er voor moeten zorgen dat wanneer de $owner niet gevonden wordt in de Maps tabel (bij het record waar hij op dat moment is. Bijvoorbeeld domain.com/map/map1 waarbij map1 dan de $name is.) hij dan het aantal downloads pakt en hierbij 1 optelt (dit doet hij overigens al). Wanneer hij de $owner wel vind moet hij in de users tabel gaan zoeken naar de $value met dezelfde $username als $owner en vervolgens deze vermenigvuldigen met de downloads + 1.
Hopelijk kan iemand me hier mee helpen aangezien ik er al uren mee bezig ben geweest en ik er maar niet uit kom wat ik nu precies fout doe.
(P.S. is er een record type in MySQL waarmee je achter de komma kunt? Bijvoorbeeld 1.5 of 1.3?)
- [PHP/MySQL] Haalt niet de juist gegevens op
-
09-11-2010, 17:23 #1
- Berichten
- 418
- Lid sinds
- 16 Jaar
[PHP/MySQL] Haalt niet de juist gegevens op
Laatst aangepast door Thijs O : 09-11-2010 om 20:51
-
-
09-11-2010, 17:40 #2
- Berichten
- 1.031
- Lid sinds
- 17 Jaar
Re: [PHP/MySQL] Haalt niet de juist gegevens op
In je query gebruik je "value" maar in de mysql_results gebruik je "aantal"
Welke moet het zijn? maw hoe heet het veld in je database?
-
09-11-2010, 17:50 #3
- Berichten
- 418
- Lid sinds
- 16 Jaar
Re: [PHP/MySQL] Haalt niet de juist gegevens op
het moet value zijn, zal het meteen even testen met value.
edit: Heeft geen invloed gehad op de uitkomst.Laatst aangepast door Thijs O : 09-11-2010 om 19:59
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic