2016-01-31 2 views
0

Таблица показывает каждый урок пять раз (количество уроков запроса). Я хочу, чтобы каждый отображался один раз в соответствии с инструкцией If else. Что не так с моим кодом, пожалуйста?

<?php 
    $query = mysql_query("SELECT index_no, lesson FROM c8_lessons_list WHERE index_no ='456'"); 

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

     if ($row['lesson'] == "Reproductive system 01a") 
    { 
    echo 'Reproductive system 01a Completed '; 
    } 
    else 
    { 
    echo '<a href="file:///D|/CC-Gate/localhost">Reproductive system 01a</a>'; 
    } 
} 

?> 



<?php 



    $query = mysql_query("SELECT index_no, lesson FROM c8_lessons_list WHERE index_no ='456'"); 

      while ($row = mysql_fetch_array($query)) { 
    if ($row['index_no'] !== '456' && $row['lesson'] !== "Fertilisation  process") { // this is redundant as your query handles this 
     echo '<a href="file:///D|/CC-Gate/localhost">Fertilisation process</a>'; 
    } else { 
     echo 'Fertilisation process Completed'; 
    } 
} 
?> 

Этот код работает:

<?php 

     $query = mysql_query("SELECT index_no, lesson FROM c8_lessons_list WHERE index_no ='456'"); 

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

     if ($row['index_no'] !== '456' && $row['lesson'] !== "pregnancy") { // this is redundant as your query handles this 
      echo '<a href="file:///D|/CC-Gate/localhost">pregnancy</a>'; 
     } else { 
     echo 'pregnancy Completed '; 
     } 
     } 
?> 

<?php 
    $query = mysql_query("SELECT index_no, lesson FROM c8_lessons_list WHERE index_no ='456'"); 

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

     if ($row['lesson'] == "Birth process") 
     { 
      echo 'Birth process Completed '; 
     } 
     else 
     { 
      echo '<a href="file:///D|/CC-Gate/localhost">Birth process </a>Birth process Completed '; 
     } 
    } 
?> 
+0

«Репродуктивная система 01а», сколько уроков доступны в таблице и урок «Репродуктивная система 01a» только один раз показывают правильное? –

+2

НЕ используйте 'mysql_ * ', он был удален и больше не будет работать. Используйте 'PDO' [ссылка] (http://php.net/manual/en/book.pdo.php) или' MySQLi' [ссылка] (http://php.net/manual/en/book.mysqli. php). – Tom

ответ

0

Вы, скорее всего, имеют одинаковые строки с одинаковым index_no Сколько результатов делает этот запрос показать?

SELECT index_no, count(index_no) as duplicate FROM c8_lessons_list WHERE index_no ='456' GROUP BY index_no 

Вы должны дедупликации (удаление старых строк), а затем добавить уникальный индекс ключа для index_no

===

EDIT:

Ну, в комментариях вы положили, что у вас есть ошибка в этой строке, где mysqli требует 2 параметра ...

$query = mysqli_query("SELECT index_no, lesson FROM c8_lessons_list WHERE index_no ='456' && lesson='Reproductive system 01a'"); 

Tha T, так как в MySQL я вы должны ссылаться на подключение, например:

$sql = $mysqli->query("SELECT index_no, lesson FROM c8_lessons_list WHERE index_no ='456' && lesson='Reproductive system 01a'") or die (mysqli_errro($mysqli)); 

Где $mysqli это соединение, например, это:

$mysqli = @mysqli_connect($db_host, $db_user, $db_pass, $db_name) or die("Server Overloaded. Please try again in a few moments!"); 
+0

Я просто хочу, чтобы код отображал «урок завершен» или отображал гиперссылку урок, если она еще не закончена. Получение ошибки «Предупреждение: mysqli_query() ожидает как минимум 2 параметра, 1 задано в H: \ xampp \ htdocs \ bps_register \ BPS_menu_fadinglink_test01.php в строке 68 Предупреждение: mysqli_fetch_array() ожидает, что параметр 1 будет mysqli_result, null указан в H: \ xampp \ htdocs \ bps_register \ BPS_menu_fadinglink_test01.php в строке 71 – Jimmy

+0

Это код, который имеет проблему, которую я не могу понять. "$ Query = mysqli_query (" SELECT index_no, lesson FROM c8_lessons_list WHERE index_no = '456 '&& less = = Репродуктивная система 01a' '); в то время как ($ строка = mysqli_fetch_array ($ запрос)) { \t , если ($ строка [ 'index_no'] == '456' && $ строки [ 'урок'] == "репродуктивная система 01a") \t { echo 'Репродуктивная система 01a Completed'; } \t прочее \t { echo 'Reproductive system 01a'; }} "" – Jimmy

+0

Что происходит при выполнении запроса: 'SELECT index_no, lesson FROM c8_lessons_list WHERE index_no = '456' && lesson = 'Репродуктивная система 01a'' из phpmyadmin или другого инструмента администрирования? – peixotorms

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