2013-04-01 2 views
0

У меня были проблемы с этим в течение довольно долгого времени! У меня есть «Ref» в базе данных, которая показывает, какие пользователи отправляются, а «varvade_antal» показывает, сколько я набирал. Я хочу, чтобы все пользователи, которые набраны более 0 для данной даты, пока мой код так:Получите, сколько пользователей указало других пользователей за определенную дату.

<?php 

    $sql = "SELECT * FROM users WHERE date >= '2013-03-01' AND date < '2013-04-29' + INTERVAL 1 DAY"; 
    $result = mysql_query($sql) or die(mysql_error()); 

    while($row = mysql_fetch_array($result)){ 


    if($row['ref'] == '0') { 

    } else { 

    $sd = "SELECT * FROM users WHERE id = '{$row['ref']}'"; 
    $df = mysql_query($sd) or die(mysql_error()); 

    while($dfs = mysql_fetch_array($df)){ 


     echo "{$dfs['firstname']}: {$dfs['varvade_antal']} st<br>"; 

    }}} 
?> 

Теперь он получает, сколько экземпляр я завербован, но он показывает дубликаты этого, что-то вроде этого:

Johan завербовали 6 человек Йохан завербовали 6 человек Johan были набраны 6 человек Йохан завербовали 6 человек Йохан завербовали 6 человек Йохан завербовали 6 человек

Итак, когда вы набрали 6 человек, он также распечатал 6 раз! Но это не должно быть так. Помоги мне?

+0

пытался DISTINCT? – Dino

+0

> 'поэтому он должен также распечатать 6 раз!' Должен или не должен? –

+0

О, извините, не стоит! – Johan

ответ

0

Используйте этот запрос с DISTINCT

$sql = "SELECT DISTINCT * FROM users WHERE date >= '2013-03-01' AND date < '2013-04-29' + INTERVAL 1 DAY"; 
+0

Отличительные не работают – Johan

+0

Извините, теперь это работает! Спасибо – Johan

+0

Если он работает, то примите ответ ... :) –

Смежные вопросы