
Dear diary,
$alphadisplay = $_GET[alphadisplay];
$genredisplay = $_GET[genredisplay];
$newsdisplay = $_GET[newsdisplay];
$selection = $_POST[selection];
$searchgenre = $_POST[searchgenre];
$searchauteur = $_POST[searchauteur];
$searchemail = $_POST[searchemail];
$mois = $_POST[mois];
$jour = $_POST[jour];
$annee = $_POST[annee];
$searchdatatype = $_POST[searchdatatype];
$searchsize = $_POST[searchsize];
$searchorder = $_POST[searchorder];
$kbsize = $_POST[kbsize];
$descorder = $_POST[descorder];
MYSQL_connect("localhost","narudiary","keitarooo") or die(" Aïe! Impossible de se connecter à la base. Si le problème persiste, il faut contacter Axel (code d'erreur 405).");
//MYSQL_connect("localhost",root,'') or die(" Aïe! Impossible de se connecter à la base. Si le problème persiste, il faut contacter Axel (code d'erreur 405).");
@mysql_select_db("narudiary") or die(" Arg! Unable to select the database. If the problem persists, I should contact Axel (error code 402).");
//L'ordre d'affichage par défaut
$order = "ff.title";
//Le contenu par défaut de la clause FROM
$queryfrom = "fanfic ff,genre g,chapter chp,author aut,author_fanfic a_f";
//Le contenu par défaut de la clause WHERE
$querywhere = "ff.genre=g.numgenre AND chp.numfanfic=ff.numfanfic AND a_f.numfanfic=ff.numfanfic AND aut.numauthor=a_f.numauthor";
//Le contenu par défaut de la clause GROUP BY (utile pour éviter les répétitions)
$group = "ff.numfanfic";
//au cas ou le display alphabétique est utilisé
if ($alphadisplay != "")
{
switch($alphadisplay)
{
case "[A-Z]":
break;
case "[0-F]":
$querywhere = "$querywhere AND ff.title BETWEEN \"0%\" AND \"G%\"";
break;
case "[G-L]":
$querywhere = "$querywhere AND ff.title BETWEEN \"G%\" AND \"M%\"";
break;
case "[M-R]":
$querywhere = "$querywhere AND ff.title BETWEEN \"M%\" AND \"S%\"";
break;
case "[S-Z]":
$querywhere = "$querywhere AND ff.title BETWEEN \"S%\" AND \"Z%\"";
break;
}
}
//au cas ou le display auteurs est utilisé
if ($authordisplay != "")
{
switch($authordisplay)
{
case "[A-Z]":
break;
case "[0-F]":
$querywhere = "$querywhere AND aut.name BETWEEN \"0%\" AND \"G%\"";
break;
case "[G-L]":
$querywhere = "$querywhere AND aut.name BETWEEN \"G%\" AND \"M%\"";
break;
case "[M-R]":
$querywhere = "$querywhere AND aut.name BETWEEN \"M%\" AND \"S%\"";
break;
case "[S-Z]":
$querywhere = "$querywhere AND aut.name BETWEEN \"S%\" AND \"Z%\"";
break;
}
}
//au cas où le display genre est utilisé
if(($genredisplay != "")and($genredisplay !="All"))
{
$querywhere = "$querywhere AND g.genre=\"$genredisplay\"";
}
//au cas où le display new est utilisé
if($newsdisplay == "1")
{
$queryfrom = "$queryfrom,new n";
$querywhere = "$querywhere AND n.numfanfic=ff.numfanfic";
}
//au cas où le champ titre a été renseigné
if ($selection != "")
{
$querywhere = "$querywhere AND ff.title LIKE \"%$selection%\"";
}
//au cas ou le champ type est renseigné
if (($searchgenre != "All") and ($searchgenre != ""))
{
$querywhere = "$querywhere AND g.genre=\"$searchgenre\"";
}
//au cas où le champ searchauteur est renseigné
if ($searchauteur != "")
{
$querywhere = "$querywhere AND aut.name LIKE \"%$searchauteur%\"";
}
//au cas où le champ searchmail est renseigné
if ($searchemail != "")
{
$querywhere = "$querywhere AND aut.email LIKE \"%$searchemail%\"";
}
if ($mois == "") $mois = 1;
if ($jour == "") $jour = 1;
if ($jour > 31) $jour = 31;
if ($mois > 12) $mois = 12;
$ficdate = "$année-$mois-$jour";
if ($searchdatetype == "before")
{
$querywhere = "$querywhere AND chp.chapdate <= \"$ficdate\"";
}
if ($searchdatetype == "after")
{
$querywhere = "$querywhere AND chp.chapdate >= \"$ficdate\"";
}
if ($searchsize == "less")
{
$querywhere = "$querywhere AND chp.size <= \"$kbsize\"";
}
if ($searchsize == "more")
{
$querywhere = "$querywhere AND chp.size >= \"$kbsize\"";
}
if ($searchorder == "date") $order = "chp.chapdate";
if ($searchorder == "size") $order = "chp.size";
if ($searchorder == "auteur") $order = "aut.name";
if ($searchorder == "title") $order = "ff.title";
if ($descorder == "decroiss")
{
$orderdesc = "DESC";
if ($searchorder == "default")
$order = "ff.title DESC, chp.numchap";
}
$myquery = "SELECT ff.numfanfic,ff.title,ff.homepage,ff.desceng, g.genre FROM $queryfrom WHERE $querywhere GROUP BY $group ORDER BY $order";
//print "Requête: $myquery ";
$queryresult = MYSQL_QUERY($myquery) or die(" Arg! Unable to execute the query. If the problem persists, I should contact Axel (error code 412)");
$numrows = MYSQL_NUM_ROWS($queryresult);
if ($numrows == 0)
{
print " Hmmm... The options I used didn't give any result... Maybe I should change them and try again?
";
}
else
{
print " Today I have found $numrows fanfics like I wanted! Great, ne?
";
}
Print"
";
$i1=0;
while ($i1 < $numrows)
{
$numfanfic = mysql_result($queryresult,$i1,"ff.numfanfic");
$ficname = mysql_result($queryresult,$i1,"ff.title");
$descfrench = mysql_result($queryresult,$i1,"ff.desceng");
$homepage = mysql_result($queryresult,$i1,"ff.homepage");
$genre = mysql_result($queryresult,$i1,"g.genre");
PRINT" | $ficname | ";
//création de la requête pour les auteurs
$myqueryauthor="SELECT * FROM author aut,author_fanfic a_f WHERE a_f.numfanfic=$numfanfic AND a_f.numauthor=aut.numauthor";
$queryauthorresult=mysql_query($myqueryauthor) or die(" Aïe! Impossible d'exécuter la requête. Si le problème persiste, il faut contacter Axel (code d'erreur 412)");
$numrowsauth=mysql_num_rows($queryauthorresult);
$i2=0;
//afficher le ou les auteurs
if ($numrowsauth!=0)
{
print "";
while ($i2 < $numrowsauth)
{
$name=mysql_result($queryauthorresult,$i2,"aut.name");
$numauthor=mysql_result($queryauthorresult,$i2,"aut.numauthor");
print "$name | ";
$i2++;
}
}
//création de la requête pour les chapitres
$myquerychapter="SELECT * FROM chapter chp WHERE chp.numfanfic=$numfanfic";
$querychapterresult=mysql_query($myquerychapter) or die(" Aïe! Impossible d'exécuter la requête. Si le problème persiste, il faut contacter Axel (code d'erreur 412)");
$numrowschap=mysql_num_rows($querychapterresult);
$i2=0;
//on recueille les infos de la première ligne pour tester si c'est un one-shot(numchap=0) ou pas
$size=mysql_result($querychapterresult,$i2,"chp.size");
$numchap=mysql_result($querychapterresult,$i2,"chp.numchap");
$chapurl=mysql_result($querychapterresult,$i2,"chp.fileurl");
$chaplabel=mysql_result($querychapterresult,$i2,"chp.label");
$chapdate=mysql_result($querychapterresult,$i2,"chp.chapdate");
print "";
if($numchap==0)
{
if ($size != 0)
{
Print "Read ($size Kb)";
}
else
{
Print "Read";
}
if ($chapdate != "0000-00-00")
{
$annee = substr($chapdate,0,4);
$mois = substr($chapdate,5,2);
$jour = substr($chapdate,8,2);
Print " - $mois/$jour/$annee";
}
}
else
{
if ($size != 0)
{
Print "$chaplabel ($size Kb)";
}
else
{
Print "$chaplabel";
}
if ($chapdate != "0000-00-00")
{
$annee = substr($chapdate,0,4);
$mois = substr($chapdate,5,2);
$jour = substr($chapdate,8,2);
Print " - $jour/$mois/$annee";
}
$i2++;
while ($i2 < $numrowschap)
{
$size=mysql_result($querychapterresult,$i2,"chp.size");
$numchap=mysql_result($querychapterresult,$i2,"chp.numchap");
$chapurl=mysql_result($querychapterresult,$i2,"chp.fileurl");
$chaplabel=mysql_result($querychapterresult,$i2,"chp.label");
$chapdate=mysql_result($querychapterresult,$i2,"chp.chapdate");
if ($size != 0)
{
Print " $chaplabel ($size Kb)";
}
else
{
Print " $chaplabel";
}
if ($chapdate != "0000-00-00")
{
$annee = substr($chapdate,0,4);
$mois = substr($chapdate,5,2);
$jour = substr($chapdate,8,2);
Print " - $mois/$jour/$annee";
}
$i2++;
}
}
Print " | ";
if($genre != "")
{
print "Genre: $genre";
}
Print " $descfrench";
print " | ";
//affichage de la homepage de la fic et pas forcément de l'auteur
if ($homepage != "")
{
print "| $homepage";
}
print " |
";
$i1++;
}
?>
Naru Narusegawa
The AFME (Asuka Fanfiction Management Engine) is an original creation of Axel Terizaki and OrcRys. If you are interested by implementing this system in your web site, please contact Axel
include ('../footer.inc');
?>
|