J'ai le morceau de code suivant pour faire une chose, la plus importante étant de configurer la boucle principale à partir de laquelle nous allons récupérer le contenu de la base de données (en fonction des conditions). Ces conditions sont: si nous regardons une catégorie - si nous regardons un ID - si nous regardons ou pas (la première page) - si le mot de passe d'admin/username la combinaison est utilisée (pour la suppression/l'édition). Les réponses sont saisies (si nous regardons un ID) toutes les entrées qui ont un parent de l'ID appelé. $ quickinfo est utilisé pour paramétrer des choses comme des balises META (titre, mots-clés, etc.)Optimisation de requête PHP/MYSQL
Ma seule question (actuelle) étant: est-ce efficace? Si non, pourquoi pas.
$selection = "ID,CONTENT,IP,SUBJECT,CATEGORY,APPROVED,DATE,PARENT,
PASSWORD,USERNAME,THANKS,DISAPPROVE,IPS,BUMPS";
$id = strip_tags($id);
$category = strip_tags($category);
$threads = mysql_query("SELECT COUNT(*) FROM $board") or die();
list($threadsTotal) = mysql_fetch_row($threads);
$threadsTotal_pages = ceil($threadsTotal/$POSTSPERPAGE);
$threadsPage = intval(@$_GET["page"]);
if (0 == $threadsPage)
{
$threadsPage = 1;
}
$threadsStart = $POSTSPERPAGE * ($threadsPage - 1);
$threadsMax = $POSTSPERPAGE;
if ($category > "" && $id == ""
&& $passw != <ONE MISTAKE HERE> $adminPass
&& $username != <ANOTHER MISTAKE HERE> $adminID)
{
$threads = mysql_query("SELECT $selection FROM $board WHERE PARENT=0
AND CATEGORY='$category'
ORDER BY ID DESC LIMIT $threadsStart, $threadsMax");
}
if ($category == "" && $id == "" &&
$passw !== <NOT EQAULS DOES NOT REQUIRE TWO EQUAL SIGNS AGAIN>
$adminPass && $username != <AND AGAIN> $adminID)
{
$threads = mysql_query("SELECT $selection FROM $board WHERE PARENT=0
ORDER BY ID DESC LIMIT $threadsStart, $threadsMax");
}
// PLEASE CHECK THE NOT EQUALS FUTHER ON....
if ($id > "" && $passw != $adminPass && $username != $adminID)
{
$threads = mysql_query("SELECT $selection FROM $board WHERE PARENT=0
AND ID=$id LIMIT 1");
$quickinfo = mysql_query("SELECT COUNT(*) FROM $board") or die();
$quickinfo = mysql_query("SELECT ID,CONTENT,SUBJECT,CATEGORY,USERNAME FROM
$board WHERE PARENT=0 AND ID=$id LIMIT 1");
$replies = mysql_query("SELECT COUNT(*) FROM $board") or die();
$replies = mysql_query("SELECT $selection FROM $board WHERE PARENT=$id
ORDER BY ID ASC");
while (list($ID, $CONTENT, $SUBJECT, $CATEGORY, $USERNAME) =
mysql_fetch_row($quickinfo))
{
$threadID = $ID;
$threadContent = $CONTENT;
$threadSubject = $SUBJECT;
$threadCategory = $CATEGORY;
if ($USERNAME > "")
{
$threadAuthor = $USERNAME;
}
elseif ($USERNAME == "")
{
$threadAuthor = "Anonymous";
}
}
} // That is the end of your if
if ($passw == $adminPass && $username == $adminID)
{
$threads = mysql_query("SELECT $selection FROM $board ORDER
BY APPROVED DESC LIMIT $threadsStart,
$threadsMax");
}
Pourriez-vous rendre le code plus lisible en utilisant la barre d'espace et quelques touches d'entrée stratégiques. c'est-à-dire que je peux le lire serait l'utilisation de la barre de défilement horizontale. –
J'espère que c'est un peu mieux que l'original. – Matt