login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Hoe selectief selecteren uit Mysql database

Offline PatrickG - 20/04/2007 11:16
Avatar van PatrickGNieuw lid Hallo,

Ik heb een vraagje, hoe zorg ik ervoor dat als ik een tabel selecteer ik ervoor zorg dat hij alleen het laatst geschreven laat zien.

Ik ben bezig met een systeem waarbij ik online de prijs per uur kan veranderen, maar ik wil natuurlijk niet dat als ik zeg:

  1. <?php
  2. mysql_connect("localhost", "root", "blablabla");
  3. mysql_select_db("mysql");
  4.  
  5. $res = mysql_query("SELECT kostenperuur FROM uurprijs");
  6. while ($obj = mysql_fetch_object($res)) {
  7. echo $obj->kostenperuur." ";
  8. }
  9. ?>


Dat hij dan het volgende laat zien:
  1. 10 12 100 200


Als ik dan klaar ben met het selecteren van de laatst geschreven float, hoe zorg ik er dan voor dat ik die automatisch toevoeg tot $uurprijs; op een andere pagina?

Bij voorbaad dank!

8 antwoorden

Gesponsorde links
Offline Mad_Mike - 20/04/2007 11:23
Avatar van Mad_Mike PHP beginner Snap de vraag niet helemaal. Maar als je alleen het laatst toegevoegde item wilt zal je de resultaten moeten sorteren op een bepaald veld (bijv tijdstip als je dat ook opslaat, of id) En dan ook nog een LIMIT 1 om maar 1 resultaat te selecteren 
Offline WumTol - 20/04/2007 11:23
Avatar van WumTol PHP beginner
  1. $res = mysql_query("SELECT kostenperuur FROM uurprijs ORDER BY ?id? DESC LIMIT 0,1");
Offline Mad_Mike - 20/04/2007 11:25
Avatar van Mad_Mike PHP beginner @ hierboven, dan sorteer je alleen op de kostenperuur. Die volgorde kan afwijken van de volgorde wanneer deze zijn toegevoegd. Daarom is het handiger om ook een tijdstip op te slaan zodat je daarop kunt sorteren.
Offline PatrickG - 20/04/2007 11:45 (laatste wijziging 20/04/2007 11:50)
Avatar van PatrickG Nieuw lid Wummetjeeee ken je me nog van Fifaeurope?

Anyway, ik heb het nu zover dat dit mijn tabel zou zijn
  1. pid kosten per uur
  2. 1 4.25
  3. 2 200
  4. 3 3.25


Wat ik nu dus alleen ngo nodig heb is een manier om te sorteren op id en dan niet dat 1 bovenaankomt maar 3 en dat ik dan LIMIT 1 kan doen.

als ik nu zeg SORT BY pid LIMIT 1, krijg ik namelijk 4.25 te zien..

Heb het al gevonden, hartstikke bedankt voor het sturen naar de goede richting;-)
Offline Mad_Mike - 20/04/2007 11:47
Avatar van Mad_Mike PHP beginner ORDER BY pid DESC
ORDER BY pid ASC (= default waarde)

see the difference yourself 
Offline PatrickG - 20/04/2007 11:53 (laatste wijziging 20/04/2007 11:53)
Avatar van PatrickG Nieuw lid Vraag 2: Ik zit nu op de andere pagina, daar is de vraag hoe ik ervoor zorg dat ik van dit (uitkomst een getal):
  1. <?php
  2. mysql_connect("localhost", "root", "fadsfasd");
  3. mysql_select_db("mysql");
  4.  
  5. $res = mysql_query("SELECT kostenperuur FROM uurprijs ORDER BY pid DESC LIMIT 1");
  6. while ($obj = mysql_fetch_object($res)) {
  7. echo $obj->kostenperuur." ";
  8. }
  9. ?>


maak $uurprijs = uitkomst dat getal.. Ben er al tijdje mee bezig maar wil nog niet echt lukken..
Offline Mad_Mike - 20/04/2007 12:04
Avatar van Mad_Mike PHP beginner
  1. <?php
  2. mysql_connect("localhost", "root", "fadsfasd");
  3. mysql_select_db("mysql");
  4.  
  5. $res = mysql_query("SELECT kostenperuur FROM uurprijs ORDER BY pid DESC LIMIT 1");
  6. $obj = mysql_fetch_object($res);
  7. $uurprijs = $obj->kostenperuur;
  8. ?>


Aangezien je LIMIT 1 hebt, hoef je geen while te gebruiken aangezien er maximaal maar 1 resultaat is.
Offline PatrickG - 20/04/2007 12:10
Avatar van PatrickG Nieuw lid Tis me weer gelukt, wel raar dat elke keer als ik helemaal vast zit en ik post het hier, het me toch zelf lukt.:o

Het zal trouwens neit op de meest nette manier zijn etc maar hij doet het:cool:
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.23s