вернуть и сравнить значение наибольшего числа php mysql

0

Правильно, я буду предельно конкретным здесь. Сначала я расскажу о том, что мне нужно, то, что я сделал, - я обычно могу ухаживать за ними, поэтому помните, что я только спрашиваю, как мой мозг жарится!

  1. У меня есть таблица в моей базе данных - нам нужно только знать, что у нее есть эти поля (пол - мужчина или женщина, макет - 0 или 1)

  2. Я хочу найти наиболее часто используемый макет (0 или 1) для мужчин - я сделал это:

    $result = mysqli_query($conn, "SELECT layout,COUNT(*) as num FROM style where gender = 'male' group by layout order by num DESC LIMIT 1" );

  3. Я хочу проверить, является ли возвращаемый результат (так чаще всего) 0 или 1, поэтому я могу использовать это в IF заявлении (пока я просто использую эхо-тест)

Извините, если это очень тривиально, или если я что-то пропустил - если вам нужна дополнительная информация, дайте мне знать.

  • 0
    Добавьте данные примера (поместите их на sqlfiddle.com или db-fiddle.com). Добавьте таблицу данных ascii (форматированный текст) в виде ожидаемых результатов на основе данных примера.
  • 0
    Смотрите stackoverflow.com/help/someone-answers
Теги:
count

3 ответа

0
Лучший ответ

Ваш код подходит для определения того, предпочитают ли мужчины макет 0 или 1, вам просто нужно посмотреть на выходное значение:

$result = mysqli_query($conn, "SELECT layout, COUNT(*) as num 
                               FROM style
                               WHERE gender = 'male' 
                               GROUP BY layout 
                               ORDER BY num DESC 
                               LIMIT 1" );
$row = mysqli_fetch_assoc($result);
if ($row['layout'] == 0)
    echo "males prefer layout 0";
else
    echo "males prefer layout 1";
  • 0
    Большое спасибо, ты, красавчик, - это была одна из тех вещей, где я ходил кругами! Я вижу, что я извлекал результат как массив bloomin 'как плеб - прекрасно работает
  • 0
    Не беспокойтесь, рад помочь. Я точно знаю, что вы имеете в виду.
Показать ещё 1 комментарий
0
$resultResource = mysqli_query($conn, 'SELECT layout,COUNT(*) as num FROM style where gender = "male"');

while ($row = mysqli_fetch_assoc($resultResource)){ 
  $maleCount = $row['num'];
}

$resultResource = mysqli_query($conn, 'SELECT layout,COUNT(*) as num FROM style where gender = "female"');

while ($row = mysqli_fetch_assoc($resultResource)){ 
  $femaleCount = $row['num'];
}

if ($femaleCount > $maleCount){
    //more females in database
}elseif($femaleCount < $maleCount){
    //more males in database
}else{
    //same amount of both;
}
  • 0
    Вы смешиваете MySQLi и MySQL API, что не очень хорошо. MYSQL_ASSOC - это константа из MySQL API, а не MySQLi API
  • 0
    Я не знал, что! я исправлю.
Показать ещё 1 комментарий
0

PHP:

$DTB->new mysqli($Mysql_Server,$Mysql_User,$Mysql_Password,$Mysql_Database);
$Layout0=($DTB->query("SELECT layout FROM style WHERE gender ='male' AND layout=0 "))->num_rows;
$Layout1=($DTB->query("SELECT layout FROM style WHERE gender ='male' AND layout=1 "))->num_rows;
IF ($Layout0>$Layout1){
  ...
  }
  • 0
    Почему функция QUERY(..) в UPPERCASE ? я не могу вспомнить, чтобы MySQLi API имел функции в верхнем регистре, там все в нижнем регистре ..
  • 0
    Извините, «запрос» правильный :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню