Я работаю над установочным кодом для настройки вашей учетной записи. У меня есть оператор IF, если total_not < = 40 он ничего не должен делать, потому что вы достигли максимальных уведомлений. Но это не работает, как я могу это исправить?Если оператор не работает, если максимум достигнут
Код:
<?php
// Set the database access information (add your own database credentials below)
xxxxx
// Connect to the database
$dbc = @mysqli_connect ($db_host, $db_user, $db_password, $db_name) OR die ('Could not connect to MySQL: ' . mysqli_connect_error());
// Check for shout removal
// Check for shout submission
if(isset($_POST['submit']))
{
// Empty error array
$error = array();
// Check for a shout
if(empty($_POST['email']))
{
$error[] = "Oeps! Er is iets fout gegaan!";
}
// If there are no errors, insert shout into the database.
// Otherwise, display errors.
if(sizeof($error) == 0)
{
// Clean data
$mijn_les = $_POST['mijn_les'];
$email = mysqli_real_escape_string($dbc, $_POST['email']);
// Insert shout
$query = "UPDATE users SET user_email = '$email', user_tid = '$mijn_les' WHERE user_name = '{$_SESSION['user_name']}'";
$result = @mysqli_query($dbc, $query) or die('Query failed: ' . mysqli_error($dbc));
// Display confirmation
echo "<div class='alert alert-success'>
<strong>Gelukt!</strong> Je account is ingesteld! <a href='../signin.php?logout' class='alert-link'>Klik hier</a> om opnieuw in te loggen!
</div>";
$hide = "style='display: none;'";
$num_rows = $result->num_rows;
if($num_rows <= 40)
{
$send_not = "INSERT INTO notif (send_to, grav_url, send_by, notif_text) VALUES ('{$_SESSION['user_name']}', 'http://www.gravatar.com/avatar/a72776fb2702ba915e2327618414bb15', 'Admin', 'Leraar Setup compleet! U kunt nu onze website gebruiken!')";
$not_add = @mysqli_query($dbc, $send_not) or die('Query failed: ' . mysqli_error($dbc));
}
} else {
// Display error message
foreach($error as $value)
{
echo "<div class='alert alert-danger'>
<strong>Oeps!</strong> Er is iets mis gegaan! Probeer het opnieuw!
</div>";
}
}
}
?>
'num_rows': получает количество строк в наборе результатов, что означает результат обновления, который никогда не будет'> = 40' и эта вставка запрос будет выполняться каждый раз «INSERT INTO notif». Чтобы исправить это, вы должны добавить 'select count (id_notif) из notif where ...', а затем вы можете использовать значение 'num_rows' –
' num_rows' получает количество строк из 'select', вы' update 'ING. Попробуйте 'affected_rows'. Но похоже, что это будет только «1». – AbraCadaver
@ Симо сделать это благодаря мужчине! –