Is there anyway to make this faster?
Code: Select all
$username = mysql_real_escape_string($_SESSION['username']);
if(isset($_POST['reference'])){
$reference = $_POST['reference'];
$non_letters = array(':', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '-');
if (substr($reference, 0, 1) == '1' || substr($reference, 0, 1) == '2' || substr($reference, 0, 1) == '3') {$space_book = substr($reference, 0, 1);} else {$space_book = '';}
$book_name = rtrim($space_book . str_replace($non_letters, '', $reference));
$chapter_number = substr($reference, strlen($book_name) + 1, strpos($reference, ':') - strlen($book_name) - 1);
if(strpos($reference, '-') !== false) {
$first_verse = substr($reference, strpos($reference, ':') + 1, strpos($reference, '-') - strpos($reference, ':') - 1);
$last_verse = substr($reference, strpos($reference, '-') + 1, strlen($reference) - strpos($reference, '-') - 1);
for ($verse_number = $first_verse; $verse_number <= $last_verse; $verse_number++){
$get_verse = mysql_query("SELECT * FROM esv WHERE book = '$book_name' AND chapter = '$chapter_number' AND verse = '$verse_number'");
while($row = mysql_fetch_array($get_verse)){$esv_book = $row['book']; $esv_type = $row['type']; $esv_testament = $row['testament']; $esv_book_index = $row['book_index']; $esv_chapter = $row['chapter']; $esv_verse = $row['verse']; $esv_content = $row['content'];}
$duplicate = mysql_query("SELECT * FROM verses_$username WHERE book = '$book_name' AND chapter = '$chapter_number' AND verse = '$verse_number'");
if(mysql_num_rows($get_verse) != 0){
if(mysql_num_rows($duplicate) != 0){
$added = 1;
}
else{
mysql_query("INSERT INTO verses_$username (testament, type, book, book_index, chapter, verse, content, date) VALUES ('$esv_testament', '$esv_type', '$esv_book', '$esv_book_index', '$esv_chapter', '$esv_verse', '$esv_content', now())");
$stat = mysql_query("SELECT * FROM stats");
while ($row = mysql_fetch_array($stat)) {$total_verses = $row['total_verses'] + 1;}
mysql_query("UPDATE stats SET total_verses = $total_verses");
}
}
else{
$not_a_verse = 1;
}
}
}
else{
$verse_number = substr($reference, strpos($reference, ':') + 1, strlen($reference) - strpos($reference, ':') - 1);
$get_verse = mysql_query("SELECT * FROM esv WHERE book = '$book_name' AND chapter = '$chapter_number' AND verse = '$verse_number'");
while($row = mysql_fetch_array($get_verse)){$esv_book = $row['book']; $esv_type = $row['type']; $esv_testament = $row['testament']; $esv_book_index = $row['book_index']; $esv_chapter = $row['chapter']; $esv_verse = $row['verse']; $esv_content = $row['content'];}
$duplicate = mysql_query("SELECT * FROM verses_$username WHERE book = '$book_name' AND chapter = '$chapter_number' AND verse = '$verse_number'");
if(mysql_num_rows($get_verse) != 0){
if(mysql_num_rows($duplicate) != 0){
$added = 1;
}
else{
mysql_query("INSERT INTO verses_$username (testament, type, book, book_index, chapter, verse, content, date) VALUES ('$esv_testament', '$esv_type', '$esv_book', '$esv_book_index', '$esv_chapter', '$esv_verse', '$esv_content', now())");
$stat = mysql_query("SELECT * FROM stats");
while ($row = mysql_fetch_array($stat)) {$total_verses = $row['total_verses'] + 1;}
mysql_query("UPDATE stats SET total_verses = $total_verses");
}
}
else{
$not_a_verse = 1;
}
}
}
if(isset($_GET['delete_verse'])) {
$verse_id = $_GET['delete_verse'];
mysql_query("DELETE FROM verses_$username WHERE id = $verse_id");
$stat = mysql_query("SELECT * FROM stats");
while ($row = mysql_fetch_array($stat)) {$total_verses = $row['total_verses'] - 1;}
mysql_query("UPDATE stats SET total_verses = $total_verses");
}