I have this Query, I need it to pull a report of the registrants, but the report i get keeps duplicating the registrants on the result.
SELECT DISTINCT * FROM registrants WHERE (paid='Y' AND course_id = '$course_info[0]' AND course_date = '$course_info[1]')
Can anyone tell me what is doing that?
Вот остальная часть кода !!! Мы хотим получить результаты зарегистрированных регистраторов. Но когда вы создаете отчет, он дает нам то же самое; позволяет говорить 8 регистраций один раз, затем два раза, затем три и так далее и так далее, пока не будет показан каждый регистранта по крайней мере 8 разПродолжить получать повторяющиеся результаты в моем отчете
$course_report = $_POST['course_report'];
$course_info = explode('~',$course_report);
$course_info[0]; // course_id
$course_info[1]; // course_date
$select = "SELECT DISTINCT * FROM registrants WHERE (paid='Y' AND course_id = '$course_info[0]' AND course_date = '$course_info[1]')";
$result = mysql_query($select);
while($row = mysql_fetch_assoc($result))
{
$course = $row['course'];
$coursedate = $row['course_date'];
$export = mysql_query($select);
$fields = mysql_num_fields($export);
// Get header
for ($i = 0; $i < $fields; $i++) {
$header .= mysql_field_name($export, $i) . "\t";
}
// Get rows
while($row = mysql_fetch_row($export)) {
$line = '';
foreach($row as $value) {
if ((!isset($value)) OR ($value == "")) {
$value = "\t";
} else {
$value = str_replace('"', '""', $value);
$value = '"' . $value . '"' . "\t";
}
$line .= $value;
}
$data .= trim($line)."\n";
}
Вы проверили таблицу, чтобы увидеть, уникальны ли записи? Или вы знаете, что есть дубликаты, и вы хотите удостовериться, что возвращенные записи различаются на основе 'paid',' course_id' и 'course_date'? Используя '*', вы основываете различие на * каждом столбце в строке *, а не только на трех, которые у вас есть в вашем ограничении. –
Мы хотим получить результаты от регистраторов, которые заплатили плату за курс. Вот остальная часть кода, может быть, вы можете увидеть что-то в нем, что приводит к тому, что результат дублирует результат, когда он экспортируется в Excel. Извините за несколько комментариев, но код слишком длинный, чтобы вписаться в один. – Campos39
$ course_report = $ _POST ['course_report']; $ course_info = explode ('~', $ course_report); $ course_info [0]; // course_id $ course_info [1]; // course_date $ select = "SELECT DISTINCT * FROM registeristrants WHERE (paid = 'Y' AND course_id = '$ course_info [0]' AND course_date = '$ course_info [1]')"; $ result = mysql_query ($ select); – Campos39