@santavits

Почему не работает условие else if?

Почему не работают условия else if

Вот сам код
$x = "мой текст";
$search="http";
$dub = mysql_query("SELECT (text) FROM `biznes` WHERE 1", $db);
$ret = mysql_fetch_array($dub);
if (strstr($x, $search)) {
    echo "Рекламный пост, пропускаем";
	mysql_query("INSERT INTO `biznes`(reklama) VALUES ('1')");
}else if ($ret == $x){
	mysql_query("INSERT INTO `biznes`(reklama) VALUES ('1')");
	}else{
	mysql_query("INSERT INTO `biznes`(foto,text) VALUES ('/images/$imge','$x')");
	echo "Занесли пост в базу";
}

Условия таковы
Значением $ret получаем выборку с базы данных, со всеми строками где нужно сверить текст
И так вот само условие
Если в тексте есть http, то делаем запись в базу данных с текстом "Рекламный пост, пропускаем"
Если нет, то проверяем, есть ли в базе текст который мы хотим добавить сейчас
Если не того, не того нет, то добавляем текст который у нас в значение $x

Ну вот, а получается так
Если в тексте есть http, то делаем запись в базу данных с текстом "Рекламный пост, пропускаем"
Если не того, не того нет, то добавляем текст который у нас в значение $x

т.е второе условие оно просто напросто пропускает.
  • Вопрос задан
  • 763 просмотра
Пригласить эксперта
Ответы на вопрос 3
А почему просто не сделать колонку unique? Зачем плодить в таблице пустые записи, если можно поставить 1 в поле reklama у единственного сообщения при ошибке добавления дубля... или увеличить на 1 - тогда будет счетчик спама )
Ответ написан
Комментировать
kot2566
@kot2566
Примерно так:
$sql =mysql_query ("SELECT 'text' FROM 'biznes' WHERE 'text'='text')";
if(mysql_num_rows($sql) < 0)
{  

mysql_query("INSERT INTO `biznes`(foto,text) VALUES ('/images/$imge','$x')");
}else {
    mysql_query("INSERT INTO `biznes`(reklama) VALUES ('1')"); 
}
Ответ написан
lokki00003
@lokki00003
Web developer
elseif пишется слитно
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы