#php #mysql #sql
#php #mysql #sql
Вопрос:
Я использую приведенный ниже код для выбора элементов и использую переменную $result для подсчета. если их меньше 1, будет указано добавить больше, а если их больше 5, будет указано просмотреть все. Это работает менее чем для 1, но не более чем для 5. Я все делаю правильно?
//Запрос
$sql = "SELECT id, name, why, date_time
FROM tabs
WHERE p_id = '$pid'
ORDER BY id
LIMIT 0, 5";
$result = mysql_query($sql);
$query = mysql_query($sql) or die ("Error: ".mysql_error());
if ($result == "") {
echo "";
}
echo "";
$rows = mysql_num_rows($result);
if($rows == 0) {
print("");
} elseif($rows > 0) {
while($row = mysql_fetch_array($query)) {
$name = $row['name'];
$w = nl2br($row['why']);
$y = $row['date_time'];
print("echoing contents here");
}
}
if(mysql_num_rows($result) > 5) {
echo "view all";
}
if(mysql_num_rows($result) < 1) {
echo "add one";
} ?>
Комментарии:
1. Что выводится для стандартного примера?
Ответ №1:
if(mysql_num_rows($result) > 5) {
echo "view all";
}
if(mysql_num_rows($result) < 1) {
echo "add one";
}
Должно быть
if($rows > 5) {
echo "view all";
}
if($rows < 1) {
echo "add one";
}
Поскольку вы исчерпали результирующий набор в предыдущем mysql_fetch_array()
цикле