Я новичок в программировании, веб-разработке и других вещах, поэтому для развлечения я создал базу данных всех своих дисков и DVD-дисков и создал страницу html с php для подключения к базе данных mysql, а затем кто-то вводит свое имя и выбирает год, и он отображает все фильмы того года выпуска. Все это делается локально. Однако по какой-то причине при запуске он не отображает все строки. Иногда это тянет только 1 ряд, иногда это тянет 2 или 3 ряда. Просто интересно, может кто-нибудь сказать мне, что не так. У меня есть два. php файла. Форма и процессор. Оператор select, который я использовал, прекрасно работает в консоли MySQL и правильно отображает все данные. Наконец, я знаю, что CSS можно было бы лучше использовать здесь с выравниваниями и границами таблицы, и т. Д. c., Но я сейчас не на этом сосредоточен.
Форма
<?php
//variables
$strHost = "localhost";
$strUser = "root";
$strPass = "";
$strDB = "movies";
$strYear = "";
$intYearMin = 1900;
$intYearMax = 2025;
$dblYearIncrement = 1;
$strYearOptions = "";
//populate dropdown list
for ($i=$intYearMin; $i<=$intYearMax; $i+=$dblYearIncrement) {
$strYearOptions .= "<option value=\"$i\">$i</option> \n";
}
?>
<!DOCTYPE hmtl>
<html>
<head>
<title>My Movie Listing: The Form</title>
<!-- Link style sheet link rel="stylesheet" href="../styles/styleDefault.css" /> -->
<link rel="stylesheet" type="text/css" href="./movies.css" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<script type="text/javascript">
function Start(){
document.getElementByID("txtName").focus();
}
</script>
</head>
<body onload="Start();">
<h1>
My Movies <br />
<img src="./filmreel1.png" alt="Film Reel" width="68" height="60" />
</h1>
<h2> Movie listing by year: </h2>
<form action="movies_1_proc.php" method="post" id="frmSale">
<ul>
<li>Your name: <input size="30" name="txtName" id="txtName" /></li>
<li>
Year:
<select name="Year">
<option value="xxx">Choose . . . </option>
<?php echo $strYearOptions; ?>
</select>
</li>
</ul>
<p class="centered">
<input type="submit" name="cmdSubmit" value="See What's Available" />
</p>
</form>
<body>
<html>
Процессор и отображение результатов
<?php
//initialization
$strHost = "localhost";
$strUser = "root";
$strPass = "";
$strDB = "movies";
//get data from html form
$dblMaxYear = $_POST['Year'];
$strName = $_POST['txtName'];
$strTableBlock = "";
//build sql string based on form data
$strSQL = "SELECT * FROM movies WHERE Year = $dblMaxYear ORDER BY IF(LEFT(title,2) = 'A ',
SUBSTRING(title FROM 3),
IF(LEFT(title,3) = 'An ',
SUBSTRING(title FROM 4),
IF(LEFT(title,4) = 'The ',
SUBSTRING(title FROM 5),
title)))";
//create dbms connection and open db
$strConn = mysqli_connect($strHost,$strUser,$strPass,$strDB);
//submit a query
$strResult= mysqli_query($strConn,$strSQL);
//process query
$arrRow = mysqli_fetch_assoc($strResult);
/*echo "<br />$strResult<br />";*/
while ($strRow = mysqli_fetch_array($strResult)) {
$strYear = $strRow['Year'];
$strRuntime = $strRow['Runtime'];
$strTitle = $strRow['Title'];
$strDirector = $strRow['Director'];
$strFormat = $strRow['Format'];
$strRating = $strRow['Rating'];
$strGenre = $strRow['Genre'];
$strRTscore = $strRow['RTscore'];
$strTableBlock .= "
<tr>
<td>$strYear</td><td>$strTitle</td><td>$strDirector</td><td>$strRuntime</td><td>$strFormat</td><td>$strRating</td><td>$strGenre</td><td>$strRTscore</td>
</tr> \n";
}
//wrapup database processing
mysqli_free_result($strResult);
mysqli_close($strConn) or die("Crash");
//output formatting
$strMaxYear = $dblMaxYear;
?>
<!DOCTYPE hmtl>
<html xmlns="http://w3.org/1999/xhtml">
<head>
<title>My Movies Listing: The Processor</title>
<!-- Link style sheet link rel="stylesheet" href="../styles/styleDefault.css" /> -->
<link rel="stylesheet" type="text/css" href="./movies.css" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<!--<style type="text/css">
table{
//margin:auto;
margin-left:auto;
margin-right:auto;
background-color:white;
}
.rightaling{
text-align:right;
}
</style>-->
</head>
<body>
<h1 align = "center">
My Movies <br />
<img src="./filmreel1.png" alt="Film Reel" width="68" height="60" />
</h1>
<h2 align = "center"> Movies From Year <?php echo $strMaxYear; ?> for <?php echo $strName; ?>:</h2>
<table border="2" align="center">
<tr><th>Year</th><th>Title</th><th>Director</th><th>Runtime</th><th>Format</th><th>Rating</th><th>Genre</th><th>RT%</th></tr>
<?php echo $strTableBlock ?>
</table>
<body>
<html>