уважаемые профи! у меня есть файл с 1000 строк с информацией о продукции (скажем название модели, размеры, цвет, изображение) мне нужно эту информацию вывести на сайт. как мне это сделать средствами РHP?
есть разграничительные значения в самой строке: знак " | " : Модель1|размер1|изображение1|цвет1| Модель2|размер2|изображение2|цвет2| Модель3|размер3|изображение3|цвет3| ...... Заранее спасибо за ответ!
Спасибо! а как мне сделать, чтобы их вывести в виде такой таблицы: ------------------------------------------- название модели | Цвет | размеры | _______________________________ : И З О Б Р А Ж Е Н И Е : ______________________________:
У тебя разграничитель есть! Только вот с таким файлом придется сделать текстовую переменную для накопления элемента таблицы! Пример: PHP: <? $count = 1; $file = fopen ("1.txt","r"); print "<table>"; while ($data = fgetcsv ($file, 1000, "|")) { $num = count ($data); $count++; $a=""; for ($i=0; $i < $num; $i++) { $a.="<tr>"; if($i<>2){ $a.="<td>$data[$i]</td>"; } } print $a."</tr><tr><td><img src=$data[2]></td></tr>";; } print "</table>"; fclose ( $file ); ?> Содержание файла 1.txt: Код (Text): Модель1|размер1|изображение1|цвет1| Модель2|размер2|изображение2|цвет2| Модель3|размер3|изображение3|цвет3|
Можно уточнить, как именно должна выглядеть строка в файле 1.txt? Код (Text): f-2001|37|f-2001.gif|Black| так, или я не верно понял? Спасибо.
PHP: <? $count = 1; $file = fopen ("1.txt","r"); print "<table cellpadding=2 cellspacing=0>"; while ($data = fgetcsv ($file, 000, ",")) { $num = count ($data); $count++; $a="</tr><tr><td><img width=154 height=195 src=$data[0].gif></td></tr>"; for ($i=0; $i < $num; $i++) { $a.="<tr>"; if($i<>3){ $a.="<td bgcolor=#BB5555> $data[$i]</td>"; } } print $a."<tr><td><br></td></tr>";; } print "</table>"; fclose ( $file ); ?> Вот значит помаячил... картинка сверху, текст внизу, оптимизировал 1.txt. Теперь достаточно вбить только модель (имя картинки = модель), размер и цвет. Код (Text): f-2001, размер: M, Красный f-2009, размер: L, вишневый f-2019, размер: XL, черный Только хотелось бы не писать каждый раз «размер:». Как можно в начале второй переменной после запятой присвоить «размер:» а M,L,XL добавлялось уже из файла?
информация в файле выдается в таком виде: Модель1|размер1|изображение1-1|цвет1-1| Модель1|размер1|изображение1-2|цвет1-2| Модель1|размер1|изображение1-3|цвет1-3| Модель2|размер2|изображение2-1|цвет2-1| Модель2|размер2|изображение2-2|цвет2-2| .... ... как мне вывести в виде таблице только те строки, где не повторяется первая строка?
Ну я как не волшебник тупо сделал так. PHP: <table> <tr> <td> <? $count = 1; $file = fopen ("1.txt","r"); print "<table>"; while ($data = fgetcsv ($file, 1000, "|")) { $num = count ($data); $count++; $a=""; for ($i=0; $i < $num; $i++) { $a.="<tr>"; if($i<>4){ $a.="<td>$data[$i]</td>"; } } print $a."</tr><tr><td><img src=$data[2]></td></tr>";; } print "</table>"; fclose ( $file ); ?> </td> <td> <? $count = 1; $file = fopen ("2.txt","r"); // второй файл print "<table>"; while ($data = fgetcsv ($file, 1000, "|")) { $num = count ($data); $count++; $a=""; for ($i=0; $i < $num; $i++) { $a.="<tr>"; if($i<>4){ $a.="<td>$data[$i]</td>"; } } print $a."</tr><tr><td><img src=$data[2]></td></tr>";; } print "</table>"; fclose ( $file ); ?> </td> </tr> </table> Гыы Ну это действительно тупо и не удобно, так что вопрос еще открыт
а второй файл за чем? твой скрипт выдает информацию в один столб. как сделать так, чтобы выходило в виде таблице по 6 шт на каждую страницу (2 строки по 3 шт.)? заранее благодарен
1. Это не мой скрипт 2. Три скрипта, три файла (1.txt 2.txt 3.txt) = три столбца; В каждом файле *.txt вводишь две строки инфы о товаре = две строки на странице. Итого: 3 столбца, 2 строки. Если тебе не хочется каждый файл отдельно открывать и вбивать туда инфу, то можешь сделать один *.php файл для их редактирования. PHP: <!-- Этот скрипт так же надо ввести 3 раза и указать изменяемых 3 файла. --> <form method="post"> <textarea name="basa" cols="38" rows="7"> <? echo file_get_contents("basa.txt") ?></textarea> <br><input type="submit" value="Сохранить"> </form> <?php if (isset($_POST["basa"])) { $bs = $_POST["basa"].""; $file = fopen("basa.txt", "w"); if (fwrite($file, $bs)) echo "<p>Данные сохранены</p>"; else echo "<p>Ошибка при записи данных</p>"; fclose($file); } ?> *.txt лучше обзывать еще и буквами, пример: basa1.txt basa2.txt Я вот вообще создал 3 каталога и пронумеровал их, в каждом одинаковые файлы *.php и файлы *.txt имеют одно и тоже имя. Файлы *.php для изменения базы вывожу айфреймами в общий файл для администрированеия.