login  Naam:   Wachtwoord: 
Registreer je!
 Forum
Zoeken  Regels  Help
Categorieën > PHP & SQL

Gegevens uit database halen

mik38 – 31/08/2010 13:14
Ik heb een tabel met hierin een overzicht van diëten (280) en een gemiddeld cijfer per dieet. Zie de website www.tipsbijafvallen.nl onderaan.

Nu wil ik deze gemiddelden plaatsen achter de naam van het dieet. Voorheen heb ik dat opgelost door achter elk dieet een aparte selectie aan te roepen zoals bijvoorbeeld:
$gemiddelde = mysql_query("SELECT gemiddelde FROM dieet WHERE dieet = 'montignac'").

Aangezien hierdoor 280 keer een selectie werd gemaakt was mijn provider niet blij. Nu wil ik 1 keer een selectie maken en hier 280 gebruik van maken, maar als ik doe:
$gemiddelde = mysql_query("SELECT gemiddelde FROM dieet")
dan komt alles onder elkaar te staan en kan ik niet willekeurig een rij selecteren.

Ik ben vrij nieuw met php en kan geen oplossing bedenken voor dit probleem. Ook niets gevonden op internet.

Heeft iemand misschien een bruikbare oplossing ?



7 antwoorden

Gesponsorde links

Button – 31/08/2010 14:15
Citaat:
$gemiddelde = mysql_query("SELECT gemiddelde FROM dieet")
dan komt alles onder elkaar te staan en kan ik niet willekeurig een rij selecteren.


Wat bedoel je met: alles onder elkaar te staan? Ik begrijp niet goed wat er niet lukt.

mik38 – 31/08/2010 19:10
Als ik dan bijvoorbeeld invoer:

echo "$a[0]"; Dan krijg ik het gemiddelde van het eerste dieet.
Gebruik ik een while lus, dan krijg ik eerst het gemiddelde van het eerste dieet, dan het 2e dieet etc.

Maar ik wil beginnen met het gemiddelde van het 4e dieet, dan het 7e dieet etc. Dus zelf bepalen waar ik welk gemiddelde plaats.

Hopelijk zo goed uitgelegd ?

PcFreak – 31/08/2010 19:26
  1. echo " dieet 1 ".$a['1']." ";
  2. echo " dieet 2 ".$a['2']." ";



zoiets dan?

jaronneke – 31/08/2010 20:10 (Laatst gewijzigd op 31/08/2010 20:10)
  1. <?php
  2. $query = mysql_query("SELECT balbla FROM blabla ORDER BY blabla ASC");
  3. while($result = mysql_fetch_assoc($query))
  4. {
  5. echo $result['dieet'].'<br />';
  6. }
  7. ?>


mik38 – 31/08/2010 20:30
Bedankt dat jullie me willen helpen. Helaas is dit niet wat ik bedoel. Ik vind het lastig om het begrijpelijk uit te leggen.

In kolom 1 heb ik de naam van het dieet
In kolom 2 heb ik het aantal beoordelingen
In kolom 3 heb ik de gemiddelde beoordeling.

Vervolgens onder elkaar 280 rijen met diëten, beoordelingen en gemiddelden.

In mijn overzicht op de website staan deze diëten in een andere volgorde (gerubriceerd).

De vraag is dus, hoe ik de rijen met één select opdracht uit de database kan halen en deze vervolgens in mijn overzicht kan plaatsen.

Voorheen gebruikte ik de opdracht:
SELECT gemiddelde FROM `dieet` WHERE dieet = 'Montignac' als het om Montignac ging. Deze opdracht heb ik zo 280 keer gegeven, bij elk dieet, maar dat gaf een enorme belasting.

Gebruik ik de while lus, dan ben ik verplicht om de rubricering los te laten en dat wil ik niet.



Button – 31/08/2010 21:59 (Laatst gewijzigd op 31/08/2010 21:59)
Als je nu in plaats van alleen het gemiddelde uit de db te halen, ook de naam van het dieet er uit haalt:

  1. SELECT naam, gemiddelde FROM dieet



Vergelijk dan gewoon de naam van het dieet in de tabel met de naam van het dieet uit de database gehaald en plaats dat gemiddelde naast die naam. Enkel een WHERE (zoals in SQL), maar dan in PHP. (Dit kan wel een kostbaar werkje worden als je alle namen met elkaar moet gaan vergelijken om de juiste te vinden, maar het reduceert het SQL werk tot 1 query.)

mik38 – 01/09/2010 08:01
Dat lijkt me een mooie oplossing. Zou je mij de php code van WHERE kunnen geven ? Ik moet ik dan 280 keer doen, maar dat is geen probleem.

Bedankt weer vast.

Gesponsorde links

Dit onderwerp is gesloten.
Actieve forumberichten:

© 2002-2012 Sitemasters.be - Regels - Gehost door: Vircon - Laadtijd: 0.088s