Een order by statement samen met een where clause

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Bart

Bart

23/05/2008 11:42:00
Quote Anchor link
Beste mensen,

Momenteel zit ik met een probleem. Ik heb een website in php gemaakt voor mijn dvd collectie, zodat vrienden kunnen zien welke dvd's ik heb.

Nu heb ik een aantal pagina's gemaakt;

- Op 1 pagina worden alle dvd's weergegeven. Hier heb ik geen problemen om de dvd's op naam te sorteren (oplopend en aflopend) Ik gebruik dan ook geen where clause.
- Dan heb ik een pagina, waar een selectie gemaakt kan worden, bijvoorbeeld dat mensen de dvd's kunnen zien die bijvoorbeeld uit 2006 komen met het genre actie. De dvd's worden goed weergegeven, alleen ik kan geen sorteer commando gebruiken (order by in de query)

Hoe kan ik ervoor zorgen dat ik een where en order by statement in 1 query kan toepassen?

Want als ik dan bijvoorbeeld de "titel" op "aflopend" wil sorteren, zodra de selectie is gemaakt, dan wordt er gemeld dat er geen dvd's zijn gevonden. De selectie wordt dan verwijderd.

Hieronder staat de code waar geen problemen mee zijn, omdat hier geen selectie wordt gemaakt:

-weergeven.php-

<html>
<head>
<title>DVD's weergeven</title>
</head>
<body>
<A HREF="selectie.php"><b>Ga terug</b></A>
<br>
<br>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
33
34
35
36
37
38
39
40
<?php
include "connect.php";

if(isset($_GET['sortby']))
    {

    switch($_GET['sortby'])
        {
        case
'titel': $sorteer = 'titel'; break;
        case
'jaar': $sorteer = 'jaar'; break;  
        default:
$sorteer = 'titel'; break;
        }
    }

else
    {
    $sorteer = 'titel';
    }

$manier = (isset($_GET['updown']) && $_GET['updown'] == 'DESC') ? 'DESC' : 'ASC';

$query = "SELECT * FROM `dvdrecord` ORDER BY ".$sorteer." ".$manier;
$sql = mysql_query($query) or die ( mysql_error( ) );

echo "<center><table border='1' width='100%' bordercolor='black'>";
echo "<tr><td><b>Titel ";
echo "<A HREF='?sortby=titel&updown=DESC'><img src='omlaag.jpg' align='top'></a>";
echo "&nbsp";
echo "<A HREF='?sortby=titel&updown=ASC'><img src='omhoog.jpg' align='top'></a>";
echo "</td><td><b>Jaar";
echo "&nbsp";
echo "<A HREF='?sortby=jaar&updown=DESC'><img src='omlaag.jpg'></a>";
echo "&nbsp";
echo "<A HREF='?sortby=jaar&updown=ASC'><img src='omhoog.jpg'></a>";
echo "</td><td><b><center>Genre 1</center></td><td><b><center>Genre 2</center></td><td><b><center>Genre 3</center></td><td><b><center>Genre 4</center></td><td><b><center>Genre 5</center></td><td><b><center>Genre 6</center></td><td><b><center>Genre 7</center></td></tr>";
while($record = mysql_fetch_object($sql))
{

    $info = "$record->info";
    echo "<A HREF='$info'> ";
    echo "<tr><td>".$record->titel."</td><td><center>".$record->jaar."</td></center><td><center>".$record->genre1."</td></center><td><center>".$record->genre2."</td></center><td><center>".$record->genre3."</td></center><td><center>".$record->genre4."</td></center><td><center>".$record->genre5."</td></center><td><center>".$record->genre6."</td></center><td><center>".$record->genre7."</td></center>";
}

echo "</table></center>";
?>

</body>
</html>

De onderstaande code is de pagina waar de selectie gemaakt wordt (kan hier naar gekeken worden?):

-selectie.php-

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
include('connect.php');
$keuze= $_POST ["genremenu"];
?>

<html>
<head></head>
<body>
<table border='1' width='100%'>
<tr>
<td width='33%'>
<strong><em>Zoek een DVD op genre EN jaar:<br><br></em></strong>
<strong><em>Kies een genre:<br><br></em></strong>
<form name='form' method='POST' action='selectie2.php'>
<select name="genremenu">
<OPTION VALUE="" SELECTED></OPTION>
<OPTION VALUE="Actie">Actie</OPTION>
<OPTION VALUE="Avontuur">Avontuur</OPTION>
<OPTION VALUE="Biografie">Biografie</OPTION>
<OPTION VALUE="Cabaret">Cabaret</OPTION>
<OPTION VALUE="Comedie">Comedie</OPTION>
<OPTION VALUE="Documentaire">Documentaire</OPTION>
<OPTION VALUE="Drama">Drama</OPTION>
<OPTION VALUE="Familie">Familie</OPTION>
<OPTION VALUE="Fantasie">Fantasie</OPTION>
<OPTION VALUE="Geschiedenis">Geschiedenis</OPTION>
<OPTION VALUE="Horror">Horror</OPTION>
<OPTION VALUE="Kinderfilm">Kinderfilm</OPTION>
<OPTION VALUE="Misdaad">Misdaad</OPTION>
<OPTION VALUE="Musical">Musical</OPTION>
<OPTION VALUE="Muziek">Muziek</OPTION>
<OPTION VALUE="Mysterie">Mysterie</OPTION>
<OPTION VALUE="Natuurfilm">Natuurfilm</OPTION>
<OPTION VALUE="Oorlog">Oorlog</OPTION>
<OPTION VALUE="Romantiek">Romantiek</OPTION>
<OPTION VALUE="Science Fiction">Science Fiction</OPTION>
<OPTION VALUE="Sport">Sport</OPTION>
<OPTION VALUE="Tekenfilm">Tekenfilm</OPTION>
<OPTION VALUE="Thriller">Thriller</OPTION>
<OPTION VALUE="Western">Western</OPTION>
</SELECT>
<br><br>

<strong><em>Kies een jaar:<br><br></em></strong>
<input type='text' name='jaar' size='4'>
<br>
<br>
<input type='submit' name='Submit' value='verzenden'>
</form>
</td>
<td width='33%'>
<strong><em>Zoek een DVD op genre:<br><br><br><br></em></strong>
<strong><em>Kies een genre:<br><br></em></strong>
<form name='form' method='POST' action='selectiegenre.php'>
<select name="genremenu">
<OPTION VALUE="" SELECTED></OPTION>
<OPTION VALUE="Actie">Actie</OPTION>
<OPTION VALUE="Avontuur">Avontuur</OPTION>
<OPTION VALUE="Biografie">Biografie</OPTION>
<OPTION VALUE="Cabaret">Cabaret</OPTION>
<OPTION VALUE="Comedie">Comedie</OPTION>
<OPTION VALUE="Documentaire">Documentaire</OPTION>
<OPTION VALUE="Drama">Drama</OPTION>
<OPTION VALUE="Familie">Familie</OPTION>
<OPTION VALUE="Fantasie">Fantasie</OPTION>
<OPTION VALUE="Geschiedenis">Geschiedenis</OPTION>
<OPTION VALUE="Horror">Horror</OPTION>
<OPTION VALUE="Kinderfilm">Kinderfilm</OPTION>
<OPTION VALUE="Misdaad">Misdaad</OPTION>
<OPTION VALUE="Musical">Musical</OPTION>
<OPTION VALUE="Muziek">Muziek</OPTION>
<OPTION VALUE="Mysterie">Mysterie</OPTION>
<OPTION VALUE="Natuurfilm">Natuurfilm</OPTION>
<OPTION VALUE="Oorlog">Oorlog</OPTION>
<OPTION VALUE="Romantiek">Romantiek</OPTION>
<OPTION VALUE="Science Fiction">Science Fiction</OPTION>
<OPTION VALUE="Sport">Sport</OPTION>
<OPTION VALUE="Tekenfilm">Tekenfilm</OPTION>
<OPTION VALUE="Thriller">Thriller</OPTION>
<OPTION VALUE="Western">Western</OPTION>
</SELECT>
<br><br>

<br>
<br>
<input type='submit' name='Submit' value='verzenden'>
</form>
</td>
<td width='33%'>
<strong><em>Zoek een DVD op jaar:<br><br><br><br></em></strong>
<form name='form' method='POST' action='selectiejaar.php'>
<strong><em>Kies een jaar:<br><br></em></strong>
<input type='text' name='jaar' size='4'>
<br><br>
<br>
<br>
<input type='submit' name='Submit' value='verzenden'>
</form>
</td>
</tr>
</table>


<A HREF="weergeven.php"><b>Laat alle DVD's weergeven</b></A>
<br>
<A HREF="index.php"><b>Ga terug naar de index pagina</b></A>
</body>
</html>

De onderstaande code is de pagina waar de selectie wordt uitgevoerd en de selectie mooi in een tabel wordt weergeven:

-selectie2.php-

<html>
<head>
<title>DVD's weergeven</title>
</head>
<body>
<A HREF="selectie.php"><b>Ga terug</b></A>
<br>
<br>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<?php
$keuze
=     $_POST["genremenu"];
$jaar=        $_POST["jaar"];
$genre1=    $_POST["genremenu"];
$genre2=    $_POST["genremenu"];
$genre3=    $_POST["genremenu"];
$genre4=    $_POST["genremenu"];
$genre5=    $_POST["genremenu"];
$genre6=    $_POST["genremenu"];
$genre7=    $_POST["genremenu"];
include "connect.php";

if(isset($_GET['sortby']))
    {

    switch($_GET['sortby'])
        {
        case
'titel': $sorteer = 'titel'; break;
        case
'jaar': $sorteer = 'jaar'; break;  
        default:
$sorteer = 'titel'; break;
        }
    }

else
    {
    $sorteer = 'titel';
    }

$manier = (isset($_GET['updown']) && $_GET['updown'] == 'DESC') ? 'DESC' : 'ASC';

$query="SELECT * FROM dvdrecord where jaar = '$jaar' AND genre1 = '$genre1' OR jaar = '$jaar' AND genre2 = '$genre2' OR jaar = '$jaar' AND genre3 = '$genre3' OR jaar = '$jaar' AND genre4 = '$genre4' OR jaar = '$jaar' AND genre5 = '$genre5' OR jaar = '$jaar' AND genre6 = '$genre6' OR jaar = '$jaar' AND genre7 = '$genre7' ORDER BY ".$sorteer." ".$manier;
$sql = mysql_query($query) or die ( mysql_error( ) );

if (mysql_fetch_object($sql) == 0)
{

    echo "<br>";
    echo "<br>";
    echo "Er zijn geen dvd's gevonden van dit jaar: ";
    echo "<b>$jaar</b>";
    echo "<br>";
    echo "met het volgende genre: ";
    echo "<b>$keuze</b>";
}

else
{

    echo "<center><table border='1' width='100%' bordercolor='black'>
    <tr><td><b>Titel "
;
    echo "<A HREF='?sortby=titel&updown=DESC'><img src='omlaag.jpg' align='top'></a>";
    echo "&nbsp";
    echo "<A HREF='?sortby=titel&updown=ASC'><img src='omhoog.jpg' align='top'></a>";
    echo "</td><td><b><center>Jaar</center></td><td><b><center>Genre 1</center></td><td><b><center>Genre 2</center></td><td><b><center>Genre 3</center></td><td><b><center>Genre 4</center></td><td><b><center>Genre 5</center></td><td><b><center>Genre 6</center></td><td><b><center>Genre 7</center></td></tr>";
    while($record = mysql_fetch_object($sql))
    {

        $info = "$record->info";
        echo "<A HREF='$info'> ";
        echo "<tr><td>".$record->titel."</td><td><center>".$record->jaar."</td></center><td><center>".$record->genre1."</td></center><td><center>".$record->genre2."</td></center><td><center>".$record->genre3."</td></center><td><center>".$record->genre4."</td></center><td><center>".$record->genre5."</td></center><td><center>".$record->genre6."</td></center><td><center>".$record->genre7."</td></center>";
    }

    echo "</table></center>";
}

?>

</body>
</html>

Dus het probleem dat ik heb:
Hoe kan ik ervoor zorgen dat ik een order by clause samen met een where clause kan uitvoeren, zodat de selectie nog steeds blijft? Niet dat als ik wil sorteren op naam, dat de selectie weggaat.

Alvast bedankt!

Greetz,

Bart
 
PHP hulp

PHP hulp

22/11/2024 06:24:55
 
Jacco Engel

Jacco Engel

23/05/2008 11:46:00
 

23/05/2008 11:49:00
Quote Anchor link
wil je best helpen alleen om welk stukje code gaat het? (alleen de query die je wilt uitvoeren die niet goed gaat)
 
Jelle Posthuma

Jelle Posthuma

23/05/2008 11:51:00
Quote Anchor link
"SELECT kolomnaam FROM tabelnaam WHERE kolomnaam = 'waarde' ORDER BY anderekolomnaam"

Nederlands:

Selecteer kolomnaam vanuit tabelnaam waar de kolomnaam de waarde 'waarde' heeft en sorteer de rest op anderekolomnaam.
 
Jelmer -

Jelmer -

23/05/2008 11:58:00
Quote Anchor link
de rest = de resultaten :)
 

23/05/2008 11:58:00
Quote Anchor link
ja en dan eventueel de methode nog standaard wordt ASC uitgevoerd

Je gebruikt backticks in je sql query deze kan je beter weg halen, daarnaast je gebruikt de functie fetch_object. fetch_array en fetch_assoc werken sneller. Nog iets je maakt vrij lange query's met AND en OR gebruik dan ook ( ) eromheen nu kan je die code amper lezen.

edit:

in je query wil je overal het zelfde jaar hebben waarom zet je dat er 10x in? je kan ook gewoon (jaar = '$jaar') AND (genre = 'iets' OR genre = 'nog iets' OR genre = 'nog iets') gebruiken in dat geval is stuk duidelijker..
Gewijzigd op 01/01/1970 01:00:00 door
 
Bart

Bart

23/05/2008 12:07:00
Quote Anchor link
Pascal schreef op 23.05.2008 11:49:
wil je best helpen alleen om welk stukje code gaat het? (alleen de query die je wilt uitvoeren die niet goed gaat)


om dit stukje:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
if(isset($_GET['sortby']))
    {

    switch($_GET['sortby'])
        {
        case
'titel': $sorteer = 'titel'; break;
        case
'jaar': $sorteer = 'jaar'; break;  
        default:
$sorteer = 'titel'; break;
        }
    }

else
    {
    $sorteer = 'titel';
    }

$manier = (isset($_GET['updown']) && $_GET['updown'] == 'DESC') ? 'DESC' : 'ASC';

$query="SELECT * FROM dvdrecord where jaar = '$jaar' AND genre1 = '$genre1' OR jaar = '$jaar' AND genre2 = '$genre2' OR jaar = '$jaar' AND genre3 = '$genre3' OR jaar = '$jaar' AND genre4 = '$genre4' OR jaar = '$jaar' AND genre5 = '$genre5' OR jaar = '$jaar' AND genre6 = '$genre6' OR jaar = '$jaar' AND genre7 = '$genre7' ORDER BY ".$sorteer." ".$manier;
?>


en dit stukje:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
echo "<center><table border='1' width='100%' bordercolor='black'>
    <tr><td><b>Titel "
;
    echo "<A HREF='?sortby=titel&updown=DESC'><img src='omlaag.jpg' align='top'></a>";
    echo "&nbsp";
    echo "<A HREF='?sortby=titel&updown=ASC'><img src='omhoog.jpg' align='top'></a>";
    echo "</td>

?>


klopt het onderste stukje?
Gewijzigd op 01/01/1970 01:00:00 door Bart
 
Bart

Bart

23/05/2008 12:09:00
Quote Anchor link
Pascal schreef op 23.05.2008 11:58:
ja en dan eventueel de methode nog standaard wordt ASC uitgevoerd

Je gebruikt backticks in je sql query deze kan je beter weg halen, daarnaast je gebruikt de functie fetch_object. fetch_array en fetch_assoc werken sneller. Nog iets je maakt vrij lange query's met AND en OR gebruik dan ook ( ) eromheen nu kan je die code amper lezen.

edit:

in je query wil je overal het zelfde jaar hebben waarom zet je dat er 10x in? je kan ook gewoon (jaar = '$jaar') AND (genre = 'iets' OR genre = 'nog iets' OR genre = 'nog iets') gebruiken in dat geval is stuk duidelijker..


nee dat kan niet, want een film kan bij mij 7 genres bevatten
Gewijzigd op 01/01/1970 01:00:00 door Bart
 

23/05/2008 12:19:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
$query = "SELECT * "
       . "FROM dvdrecord "
       . "WHERE (jaar = '".$jaar."') "
       . "AND ("
       . "genre1 = '".$genre1."' "
       . "OR genre2 = '".$genre2."' "
       . "OR genre3 = '".$genre3."' "
       . "OR genre4 = '".$genre4."' "
       . "OR genre5 = '".$genre5."' "
       . "OR genre6 = '".$genre6."' "
       . "OR genre7 = '".$genre7."') "
       . "ORDER BY ".$sorteer." ".$manier.";";


zou gewoon moeten werken alleen die * lijkt me niet nodig?


if (mysql_fetch_object($sql) == 0)

zou moeten zijn mysql_num_rows($sql)
Gewijzigd op 01/01/1970 01:00:00 door
 
Bart

Bart

23/05/2008 12:20:00
Quote Anchor link
Pascal schreef op 23.05.2008 11:49:
wil je best helpen alleen om welk stukje code gaat het? (alleen de query die je wilt uitvoeren die niet goed gaat)


de query wordt wel goed uitgevoerd, alleen als ik dan op sorteren klik, dan gaat de selectie, die dan van de dvd's is gemaakt weg. Dus de tabel wordt dan leeggemaakt.
 
Bart

Bart

23/05/2008 12:21:00
Quote Anchor link
Pascal schreef op 23.05.2008 12:19:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
$query = "SELECT * "
       . "FROM dvdrecord "
       . "WHERE (jaar = '".$jaar."') "
       . "AND ("
       . "genre1 = '".$genre1."' "
       . "OR genre2 = '".$genre2."' "
       . "OR genre3 = '".$genre3."' "
       . "OR genre4 = '".$genre4."' "
       . "OR genre5 = '".$genre5."' "
       . "OR genre6 = '".$genre6."' "
       . "OR genre7 = '".$genre7."') "
       . "ORDER BY ".$sorteer." ".$manier.";";


zou gewoon moeten werken alleen die * lijkt me niet nodig? je roept alleen titel op..


if (mysql_fetch_object($sql) == 0)

zou moeten zijn mysql_num_rows($sql)


ja klopt dat was fout if (mysql_fetch_object($sql) == 0)
Gewijzigd op 01/01/1970 01:00:00 door Bart
 

23/05/2008 12:23:00
Quote Anchor link
dan gaat er iets mis want je zegt eerst doet ie het wel en als je daarna op dezelfde pagina komt niet? zet error_reporting eens aan wat voor fouten komen er allemaal naar boven?

edit: niet dubbel posten krijg je gezeur mee, is het nu opgelost?
Gewijzigd op 01/01/1970 01:00:00 door
 
Mark PHP

Mark PHP

23/05/2008 12:26:00
Quote Anchor link
Bart schreef op 23.05.2008 12:09:
nee dat kan niet, want een film kan bij mij 7 genres bevatten
Oei, normaliseren maar!
 

23/05/2008 12:31:00
Quote Anchor link
Snap alleen niet waarom je niet gewoon een extra tabbel maakt die je genre noemt en vervolgens hier de genre's in zet. En je maakt ook een koppel tabbel waarin je de albums zet met daarbij bij welke genre's ze horen..
 
Bart

Bart

23/05/2008 12:35:00
Quote Anchor link
Pascal schreef op 23.05.2008 12:23:
dan gaat er iets mis want je zegt eerst doet ie het wel en als je daarna op dezelfde pagina komt niet? zet error_reporting eens aan wat voor fouten komen er allemaal naar boven?

edit: niet dubbel posten krijg je gezeur mee, is het nu opgelost?


nee het is nog niet opgelost :s
volgens mij bedoelen jullie iets anders, dan dat ik bedoel :p
als ik wil sorteren (dus een tabel)

|titel ^v|jaar ^v|genre1|genre2|genre3|genre4|genre5|genre6|genre7|
-----------------------------------------------------------------------------------
|300 |2006 |actie |drama |oorlog | | | | |

en dan als ik op het pijltje ^ naast "titel" klik dan wordt de tabel leeggemaakt, omdat de query:

SELECT * FROM dvdrecord where (jaar = '$jaar' AND genre1 = '$genre1') OR (jaar = '$jaar' AND genre2 = '$genre2') OR (jaar = '$jaar' AND genre3 = '$genre3') OR (jaar = '$jaar' AND genre4 = '$genre4') OR (jaar = '$jaar' AND genre5 = '$genre5') OR (jaar = '$jaar' AND genre6 = '$genre6') OR (jaar = '$jaar' AND genre7 = '$genre7') ORDER BY ".$sorteer." ".$manier;

op 1 of andere manier niet meer wordt uitgelezen, dus dan haalt ie de tabel leeg :s
 
Bart

Bart

23/05/2008 12:39:00
Quote Anchor link
Pascal schreef op 23.05.2008 12:23:
dan gaat er iets mis want je zegt eerst doet ie het wel en als je daarna op dezelfde pagina komt niet? zet error_reporting eens aan wat voor fouten komen er allemaal naar boven?

edit: niet dubbel posten krijg je gezeur mee, is het nu opgelost?



hij geeft de foutmelding:

Notice: Undefined index: genremenu in C:\wamp\www\selectie2.php on line 11

maar dat kan geen kwaad
Gewijzigd op 01/01/1970 01:00:00 door Bart
 
Frank -

Frank -

23/05/2008 12:51:00
Quote Anchor link
Quote:
|titel ^v|jaar ^v|genre1|genre2|genre3|genre4|genre5|genre6|genre7|

Tip: Ga normaliseren, jouw huidige datamodel lijkt helemaal nergens op. Daar kun je nauwelijks wat mee, vooral debuggen en het zoeken van workarounds zul jij je mee bezig gaan houden. En dat is met een goed datamodel nergens voor nodig.

Steek er nu wat extra tijd in, dat verdien je straks dubbel en dwars weer terug.
 
Bart

Bart

23/05/2008 12:52:00
Quote Anchor link
pgFrank schreef op 23.05.2008 12:51:
Quote:
|titel ^v|jaar ^v|genre1|genre2|genre3|genre4|genre5|genre6|genre7|

Tip: Ga normaliseren, jouw huidige datamodel lijkt helemaal nergens op. Daar kun je nauwelijks wat mee, vooral debuggen en het zoeken van workarounds zul jij je mee bezig gaan houden. En dat is met een goed datamodel nergens voor nodig.

Steek er nu wat extra tijd in, dat verdien je straks dubbel en dwars weer terug.


het heeft niets met normaliseren te maken

dat heb ik allang al goed uitgezocht
 
Bart

Bart

23/05/2008 13:05:00
Quote Anchor link
Pascal schreef op 23.05.2008 12:31:
Snap alleen niet waarom je niet gewoon een extra tabbel maakt die je genre noemt en vervolgens hier de genre's in zet. En je maakt ook een koppel tabbel waarin je de albums zet met daarbij bij welke genre's ze horen..


pascal, zal ik anders mijn website ff naar je email sturen in een rar bestand met de database erbij, zodat je ffies naar mijn probleem kan kijken??
 
Joren de Wit

Joren de Wit

23/05/2008 13:08:00
Quote Anchor link
Quote:
het heeft niets met normaliseren te maken

dat heb ik allang al goed uitgezocht

Oh ja? Dan ben je toch ergens goed de fout in gegaan. Het datamodel dat je nu gebruikt is namelijk hardstikke fout en zal alleen maar voor bugs zorgen. Dit is vragen om problemen en zorgt voor vele uren extra werk om hier allemaal lapmiddelen voor te verzinnen als je eenmaal op het punt gekomen bent dat je je datamodel eigenlijk niet meer kunt veranderen.

Simpele queries zoals bijvoorbeeld het ophalen van alle titels die het genre 'actie' hebben wordt een drama. Dit kan bij jou namelijk in 1 van de 7 genre kolommen zitten terwijl die gegevens in een goed genormaliseerde database gewoon in 1 kolom te vinden zijn. En dit is nog maar een heel eenvoudig voorbeeldje...

Volg de tip van Frank op en ga eerst eens (goed) normaliseren, daarmee bespaar je jezelf in de toekomst een hoop frustratie.
 
Bart

Bart

23/05/2008 13:11:00
Quote Anchor link
hoe kan ik dat dan oplossen als een titel 7 genres heeft? dan moet ik het tog op deze manier wel doen?
 

Pagina: 1 2 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.