Ok, het volgende.
Ik heb dus een soort van woordenboek. Hierin zit een overzicht met alle letters uit het alfabet. Op dit moment bevat elke letter een aparte pagina en in die pagina zit dan weer een mysql query die iets uit de database haalt. Wat ik dus graag zou willen, is dat zodra je op een letter klikt de pagina word aangemaakt en de desbetreffende woorden die bij de letter horen uit de database gehaald worden en worden getoond.
Het zou mooi zijn als hij dan ook met een melding komt als er geen woord(en) met die letter in de database staan/voorkomen.
Ik heb nog niet al te veel ervaring met php en mysql, maar dit lijkt me een mooi moment om het een en ander te leren en/of uit te zoeken. Maar aangezien ik geen idee heb hoe ik zoiets begin heb ik de hulp van jullie nodig. Wie zou me daar bij willen helpen? Of is zoiets niet mogelijk? Lijkt me sterk dat dit niet kan namelijk..
<?php
if(!isset($_GET['letter']))
{
/*hier tik je overzicht in
vb:
<a href="woordenboek.php?letter=a">-A-</a>
enz...
*/
}
else
{
/*
TABEL: (voorbeeld)
id (int 11)
letter (varchar 1)
woord(varchar 255)
*/
$query = mysql_query("SELECT * FROM woordenboek WHERE letter='".$_GET['letter']."' ORDER BY woord ASC");
//woorden weergeven
while($row = mysql_fetch_assoc($query))
{
echo $row['woord']."<br>";
}
/*
OUTPUT:
?letter=a
alle rijen selecteren met de letter 'a' van A-Z sorteren
weergeven
==>
An
Appel
...
<==
*/
}
?>
<?php
error_report("E_ALL");
if(!isset($_GET['letter']))
{
/*hier tik je overzicht in
vb:
<a href="woordenboek.php?letter=a">-A-</a>
enz...
*/
echo "-<a href=\"woordenboek.php?letter=a\">A</a>-";
}
elseif(isset($_GET['letter']))
{
/*
TABEL: (voorbeeld)
id (int 11)
letter (varchar 1)
woord(varchar 255)
*/
$query = mysql_query("SELECT * FROM woordenboek WHERE letter='".addslashes($_GET['letter'])."' ORDER BY woord ASC") or die(mysql_error());
//kijken of er iets is geselecteerd
if(mysql_num_rows($query) == 0)
{
echo "Er zijn nog geen woorden beschikbaar voor <strong>".$_GET['letter']."</strong>";
}
else
{
//woorden weergeven
while($row = mysql_fetch_assoc($query))
{
echo $row['woord']."<br>"; //moet hij weergeven
}
/*
OUTPUT:
?letter=a
alle rijen selecteren met de letter 'a' van A-Z sorteren
weergeven
==>
An
Appel
...
<==
*/
}
}
else
{
echo "fout in je script!";
}
?>
Beetje onnodig om bij elk woord nog eens apart de beginletter erbij te zetten...
$sQuery = "SELECT * FROM woordenboek WHERE woord LIKE '".addSlashes($_GET['letter'])."%' ORDER BY woord";
'".addSlashes($_GET['letter']."%' zorgt ervoor dat de beginletter $_GET['letter'] is.
Door het % teken haalt hij alle woorden op die beginnen met $_GET['letter'].
@stijn: ik heb al vanalles geprobeerd, maar ik krijg simpelweg niets te zien, ook geen foutmelding(en)
Of moet ik nog iets toevoegen aan het script? nee toch?
lol, na de vervanging van de error_reporting("E_ALL"); werkt ie!
thx voor de hulp, nu kan ik ff verder prutsen...
EDIT:
@stijn: nu zou ik graag willen dat het overzicht (met a b c d e etc..) constant in beeld blijft en dat je zodra je een letter aanklikt dat dat onder het overzicht word getoond..
<?php
/*hier tik je overzicht in
vb:
<a href="woordenboek.php?letter=a">-A-</a>
enz...
*/
if(IsSet($_GET['letter']))
{
/*
TABEL: (voorbeeld)
id (int 11)
letter (varchar 1)
woord(varchar 255)
*/
$query = mysql_query("SELECT * FROM woordenboek WHERE letter='".$_GET['letter']."' ORDER BY woord ASC");
//woorden weergeven
while($row = mysql_fetch_assoc($query))
{
echo $row['woord']."<br>";
}
/*
OUTPUT:
?letter=a
alle rijen selecteren met de letter 'a' van A-Z sorteren
weergeven
==>
An
Appel
...
<==
*/
}
?>
<?php
/*hier tik je overzicht in
vb:
<a href="woordenboek.php?letter=a">-A-</a>
enz...
*/
if(IsSet($_GET['letter']))
{
/*
TABEL: (voorbeeld)
id (int 11)
letter (varchar 1)
woord(varchar 255)
*/
$query = mysql_query("SELECT * FROM woordenboek WHERE woord LIKE '".$_GET['letter']."%' ORDER BY woord ASC") or die(MySQL_Error());
//woorden weergeven
while($row = mysql_fetch_assoc($query))
{
echo $row['woord']."<br>";
}
/*
OUTPUT:
?letter=a
alle rijen selecteren met de letter 'a' van A-Z sorteren
weergeven
==>
An
Appel
...
<==
*/
}
?>