Nano Hash - криптовалюты, майнинг, программирование

Использование PHP для зацикливания и записи строк в таблицу

Это продолжение более раннего вопроса, который был начат здесь:

Разделить диапазон дат в отдельные ячейки в CSV, Excel или электронной таблице

Посоветовавшись с парой разработчиков, я решил превратить это в решение PHP/MySql вместо решения Excel VBA. Вот в чем проблема. Я полный новичок в PHP. Я могу кодировать html и css (именно поэтому я отклонился от решения Excel/VBA), но я начинаю немного косить после прочтения слишком большого количества PHP. Я надеюсь, что вы можете помочь.

Вот проблема:

У меня есть стол с автозапчастями. Каждая автомобильная деталь соответствует годовому диапазону. Для каждой части мне нужен список (строка) для каждого года в диапазоне. Например, глушитель для Ford Mustang может соответствовать 1972–1977 годам выпуска. В настоящее время в таблице это все одна строка данных. Мне нужна одна строка данных для каждого года в диапазоне, который соответствует глушителю. В этом примере таблица будет увеличиваться с одной строки до шести, каждая строка будет содержать год, когда деталь соответствует модели.

Мне сказали «написать цикл», сделайте это для меня. Я пытался. Я выдернул волосы. Сделал больше исследований на PHP.net и попробовал еще раз. Если вы можете помочь мне двигаться в правильном направлении с этой проблемой, я был бы очень признателен!

Вот код, который создал таблицу:

`enter code here`
<?php
$result = mysqli_query($con,"SELECT * FROM xxxxxxxxxxxx");
echo "<table border='1'>
<tr>
<th>ItemNo</th>
<th>Description</th>
<th>Model</th>
<th>YearBeg</th>
<th>YearEnd</th>
<th>YearRangeCount</th>
</tr>";
while($row = mysqli_fetch_array($result)) {
echo "<tr>";
echo "<td>" . $row['ItemNumber'] . "</td>";
echo "<td>" . $row['Description'] . "</td>";
echo "<td>" . $row['Model'] . "</td>";
echo "<td>" . $row['YearBeg'] . "</td>";
echo "<td>" . $row['YearEnd'] . "</td>";
echo "<td>" . $row['YearRange'] . "</td>";
echo "</tr>";
}
echo "</table>";
mysqli_close($con);
?>
08.09.2014

  • В чем проблема, которую вы получаете? Вы уверены, что имена ваших столбцов в базе данных верны? Чтобы решить вашу проблему, вы можете заменить $result на $result = mysqli_query($con, $query) or die ("Error in query: $query. ".mysql_error());, чтобы показать ошибку, если таковая имеется. 09.09.2014
  • @Bijan ("Error in query: $query. ".mysql_error()); должен быть mysqli_error($con) - эти два API не смешиваются. 09.09.2014

Ответы:


1

Просто сделайте еще один цикл внутри вашего while, который проходит каждый год в диапазоне, например

while($row = mysqli_fetch_array($result)) {
    for ($year = $row['YearBeg']; $year <= $row['YearEnd']; ++$year) {
        echo "<tr>";
        echo "<td>" . $row['ItemNumber'] . "</td>";
        echo "<td>" . $row['Description'] . "</td>";
        echo "<td>" . $row['Model'] . "</td>";
        echo "<td>" . $year . "</td>";
        echo "</tr>";
    }
}
08.09.2014
  • Это было решением. Я добавил код, и он работал точно так, как описано. Спасибо. Для всех, кто заинтересован, я добавил новую таблицу с обновленным кодом в качестве примера результата с правильным ответом: musclecarpartsdirect .com/twwoodward/ 09.09.2014
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..