У меня есть таблица с именем books, в этой таблице будут храниться данные каждой книги. в каждой книге всего 5 страниц, и каждая страница имеет разные детали, принадлежащие одной и той же книге. название книги, хранящееся в столбце с именем «jalad», и страницы, хранящиеся в столбце с именем «sanad»
Я хочу, чтобы PHP позволял мне вставлять новую книгу после полного завершения вставки первой книги, которая состоит из пяти страниц, и в случае, если я ввел менее 5 страниц, я не смогу вставить новую книгу до завершения первой. Любая идея, пожалуйста. Я использовал этот код, но он не работает идеально. Пожалуйста, помогите.
Код:
<?php
// connect to the database
// $serverName = "SALARY_SERVER\SALARY_SERVER";
//$database = "roatb";
$serverName = "LENOVO";
$database = "tt";
$connectionInfo = array( "Database"=>$database );
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if ( $conn )
{
echo "Connection established.\n";
}
else
{
echo "Connection could not be established.\n";
die( print_r( sqlsrv_errors(), true));
}
$jalad1 = $_POST['jalad'];
$sanad2 = $_POST['sanad'];
$sql = "SELECT count(Sanad) as countnumber FROM books where Jalad='$jalad1' ";
$stmt = sqlsrv_query( $conn, $sql );
while($row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC)) {
$rowc= $row['countnumber'];
echo $rowc;
if ($rowc <=5) {
$sql = "INSERT INTO books (Jalad,Sanad)
VALUES ('$jalad1','$sanad2' )";
// echo $sql;
if (sqlsrv_query($conn, $sql)) {
echo "your data saved";
}
else {echo "error";}
}
else {
echo"you have to complete the page of the current book";
}
}
?>
Прочтите: Как я могу предотвратить внедрение SQL в PHP?
Вам нужно выбрать «jalad» последней загруженной книги. вы можете делать это, как хотите, но допустим, вы сохраняете значение столбца в переменной с именем $jalad_last
вам просто нужно сделать такое заявление if
if ($rowc == 0 || $rowc < 5 && $jalad1 == $jalad_last) {
YOUR INSERT CODE HERE
} elseif ($rowc == 5) {
echo 'this book is already completed';
} else {
echo 'you have to complete...';
}
В соответствии с руководством по вопросам, пожалуйста, не публикуйте изображения кода, данных, сообщений об ошибках и т. д. - скопируйте или введите текст в вопрос. Пожалуйста, зарезервируйте использование изображений для диаграмм или демонстрации ошибок рендеринга, вещей, которые невозможно точно описать с помощью текста.