2015-07-24 3 views
0

Я очень жалею об этом паршивом коде. В любом случае у меня есть форма, где я могу выбирать значения, которые варьируются от 5 до 50, и я сравниваю эти значения с $ pacote. Для каждого другого значения, найденного в базе данных для $ pacote, я хочу создать новую строку в моей таблице html («Pacote xx horas») »и отобразить это значение в столбцах, где он должен появиться. В моем примере, который я установил значения 10 (для 3 конкретных столбцов таблицы html -> Aeroboero AB-115, Cessna 172K и Cessna 172SP) и 25 (для 1 колонки). Это то, что я получил, и то, что я хочу получить. Я пробовал много разных вещей, но побежал из идейСоздание html-таблицы из sql с помощью php

Пример изображения: enter image description here

... <more code above> ... 

for ($pacote = 5; $pacote <= 50; $pacote = $pacote + 5) { 

    $priceQuery = mysql_query("SELECT * FROM precos_hora WHERE Pacote1_horas = $pacote"); 
    $priceQuery1 = mysql_query("SELECT Pacote1_horas FROM precos_hora"); 

    while($row = mysql_fetch_assoc($priceQuery)) { 

     if (is_null($priceQuery)) { 
      echo ""; 
     } else {  
      echo "<tr>"; 
      echo "<td>Pacote ".$pacote." horas</td>"; 

      while($row = mysql_fetch_assoc($priceQuery1)) { 

       if ($priceQuery = $pacote) { 

        echo "<td>R$ ".$row['Pacote1_horas']."</td>"; 
       } else { 
        echo "<td>&nbsp;</td>"; 

       } // CLOSE ELSE // 
      } // CLOSE WHILE // 

      echo "</tr>"; 

     } // CLOSE ELSE // 
    } // CLOSE WHILE // 
} // CLOSE FOR // 
+0

«(is_null ($ priceQuery)) {« test используется для генерации нового для каждого найденного в запросе значения (это первый столбец в таблице html -> «Pacote xx horas»). Что касается вашего предложения «if ($ row ['Pacote1_horas]] $ pacote) {«, я уже пробовал это, потому что это действительно правильный тест, но я не получил того, что ожидал. Я все равно поработаю над этим. Спасибо за ваш ответ. –

ответ

0

Я думаю, что ваш вопрос эта строка if ($priceQuery = $pacote) { Это присваивает значение $pacote к $priceQuery, которые всегда будут оценивать по т rue, поэтому часть «else» никогда не будет запущена.

Для оценки 2 переменных .. ..и нужно оценить приращающееся число $pacote с результатами запроса $priceQuery. Это, где ваша проблема. В догадке, я бы сказал, что вам нужно что-то вроде:

if ($row['Pacote1_horas'] == $pacote) { 

Кроме того, вы, вероятно, не нужен тест if (is_null($priceQuery)) { .. Вы в то время как цикл перебирает каждый возвращается записью из запроса, поэтому не так много проверки точки, это NTLL, потому что это никогда не будет.

Наконец, вы должны подумать об изменении своих функций mysql_* на mysqli_*, поскольку прежний метод теперь устарел и уязвим для SQL-инъекции.