[PHP] N00b: Mysql resultaat "filteren"

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik ben al enkele dagen druk bezig om enkele gegevens uit een resultaat van een select statement (mysql) te filteren en dit terug te geven aan een flash app. Hoe het met flash werkt weet ik, maareuh ik krijg het filteren niet aan de gang.

Mijn code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php require ("dbconn.php");
#header("Cache-control: private");

$teller=0; $error=0; $found=0; $max=0;

$query = "SELECT * FROM SCORETABEL ORDER BY time DESC";
$result = mysql_query($query) or die ("Er kan geen verbinding gemaakt worden met de database!");
$query_result_handle = mysql_query($query) or die ("Aanvraag mislukt, tabel bestaat niet!");
$error = mysql_num_rows($result) or die ("&Status=nOk");
#mysql_store_result($result);
$query_result = mysql_fetch_array($result);
$found=mysql_num_fields($result);

if ($found<10)
{
$max=($found-1);
}

if ($error!=0)
{
while($teller!=$max)
{
 $name=$query_result[teller]->name;
 $time=$query_result[teller]->time;
 echo "&naam=$name";
 echo "&tijd=$time";
 echo "$name->name[teller]";
         #echo "$time[teller]";
         $teller=($teller+1);
      }
  }
?>


Ik heb al gestoeid met mysql_fetch_object e.d. maar ik krijg het niet aan de gang. Wie kan me helpen met de simpele stomme fout die ik maak?

Acties:
  • 0 Henk 'm!

  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

Wat wil je precies filteren?
Meestal zorg je dat je query de gewenste resultaten oplevert.

Who is John Galt?


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Met de query haal ik alle gegevens uit de database, maar momenteel wil ik alleen de velden name en time apart retourneren (in een later tijdstip wil ik ook nog makkelijk andere gegevens eruit kunnen filteren)

Ik zou dit wellicht wel op kunnen lossen met meerdere select statements maar dat vind ik niet erg netjes!

Acties:
  • 0 Henk 'm!

  • Sybr_E-N
  • Registratie: December 2001
  • Laatst online: 17-09 22:12
Als je slim bent dan ga je filteren in je SQL query en niet in je PHP code. De database is daarvoor gemaakt PHP niet.

Acties:
  • 0 Henk 'm!

  • Bigs
  • Registratie: Mei 2000
  • Niet online
Hmm volgens mij moet jij eens een basiscursusje SQL doen, want je denkt nu veel te ingewikkeld ;)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
hmm ik heb een paar cursusjes oracle achter de rug (in een ver grijs verleden btw) ;)

ik kan natuurlijk wel een select voor de name doen en dan de bijbehorende time selecten, maar dat zijn 2 queries, ik wil het eigenlijk met 1 query doen en de rest voor php laten regelen... ik d8 dat dat kon...?

Acties:
  • 0 Henk 'm!

Verwijderd

Ik denk dat je door dit te lezen een heel eind komt. Vooral als je deze pagina even gaat toepassen op je eigen code ;)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hmmm ja dat kan ik natuurlijk wel doen, maar ik niet dat dat gaat werken. Omdat ik de gegevens terug moet geven aan een flash applicatie, moet ik de waarden van name en time apart retourneren... anders werkt het niet...

/me vind C++ toch makkelijker :D

Acties:
  • 0 Henk 'm!

  • tfk__66
  • Registratie: September 2002
  • Laatst online: 20-08 09:51

tfk__66

OS1: Fedora Linux, OS2: W10

Verwijderd schreef op 22 December 2002 @ 14:39:
Met de query haal ik alle gegevens uit de database, maar momenteel wil ik alleen de velden name en time apart retourneren (in een later tijdstip wil ik ook nog makkelijk andere gegevens eruit kunnen filteren)

Ik zou dit wellicht wel op kunnen lossen met meerdere select statements maar dat vind ik niet erg netjes!
Dit is juist wel netjes. :) Je moet het zo zien: je haalt nu alle gegevens op uit de tabel SCORETABEL, deze is nu misschien niet zo groot maar dat kan veranderen.

Verder kan dit problemen opleveren als de database op een andere locatie staat dan de website, elke keer dat je zo'n handeling uitvoert zal alle data uit die tabel over het lijntje gaan en dat is niet echt efficiënt te noemen.

De beste methode is, in dit geval, toch meerdere sql-statements te gebruiken waarin je precies de afgepaste hoeveelheid data ophaalt. Wanneer je weer wat nodig hebt pak je wederom de afgepaste hoeveelheid, etc., etc.

GA-Z170XP-SLI - i7 6700K 4.0GHz - 16GB DDR3 - Corsair 300R Wnd - Corsair CX750M - AMD 7950 3GB

Pagina: 1