Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как вставить данные массива в таблицу не попорядку
 
 автор: newcold   (02.04.2008 в 13:21)   письмо автору
 
 

Есть файл name.txt, через функцию - explode, данные строки преобразуются в массив.
Вопрос: как поместить эти данные в таблицу таким образом:

<table cellspacing="2" cellpadding="2" border="2">
<tr>
    <td>аргумент 1</td>
    <td>аргумент 2</td>
</tr>
<tr>
    <td colspan="2">аргумент 3</td>
</tr>
</table>

   
 
 автор: sim5   (02.04.2008 в 13:58)   письмо автору
 
   для: newcold   (02.04.2008 в 13:21)
 

Это и весь массив?

   
 
 автор: newcold   (02.04.2008 в 14:05)   письмо автору
 
   для: sim5   (02.04.2008 в 13:58)
 

вобщем так:
заполняется форма
<html>
<head>
    <title>Untitled</title>
</head>

<body><form action="1.php" method="post">
Название: <input type="Text" name="name" size="20">
Дата: <input type="Text" name="data" size="20">
Коментарий: <input type="Text" name="coment" size="20">
<input style="cursor:hand" type="submit" name="submit" value="отправить">
</form>
</body>
</html>

потом переходит на 1.php, там срабатывает скрипт:
<?
$file 
fopen ("name.txt","w"); 
$str $name."\t".$data."\t".$coment
if (!
$file

echo(
"Ошибка открытия файла"); 

else 

fputs $file$str); 

fclose ($file); 
?>


<? 
$f
=file("name.txt"); 
$fff=explode("\t",$f[0]); 
for (
$i=0;$i<count($fff);$i++) 
    echo 
$fff[$i]."<br>"
?> 


и выводит :
name
data
coment, а мне нужно:


<table cellspacing="2" cellpadding="2" border="0">
<tr>
    <td>name</td>
    <td>data</td>
</tr>
<tr>
    <td colspan="2">coment</td>
</tr>
</table>

вот...

   
 
 автор: sim5   (02.04.2008 в 14:12)   письмо автору
 
   для: newcold   (02.04.2008 в 14:05)
 

Оригинально! Ну чтобы голову не ломать, уберите \t при записи, замените на что либо из символов. Каждая запись это строка. При открытии файла, получите массив:
array(0=>'name:data:coment', 1=>....)
Далее, думаю, не сложно в цикле прописать таблицу в каждой итерации которого - explode() и вставить результат в прописанные ячейки.

   
 
 автор: Atheist   (02.04.2008 в 15:21)   письмо автору
 
   для: sim5   (02.04.2008 в 14:12)
 

sim5, во-первых, опять же почему ":", а не табуляция? Знак ":" встречается реже? И что ты предлагаешь, если двоеточие встретится в одной из ячеек?

   
 
 автор: sim5   (02.04.2008 в 15:25)   письмо автору
 
   для: Atheist   (02.04.2008 в 15:21)
 

Да не проблем, как хозяину нравится, пусть так и делает, но я бы не стал употреблять \t\r\n для этих целей.

   
 
 автор: Atheist   (02.04.2008 в 15:26)   письмо автору
 
   для: sim5   (02.04.2008 в 15:25)
 

Почему именно эти символы?

   
 
 автор: sim5   (02.04.2008 в 15:29)   письмо автору
 
   для: Atheist   (02.04.2008 в 15:26)
 

Мне так нравится :)

   
 
 автор: Atheist   (02.04.2008 в 15:35)   письмо автору
 
   для: sim5   (02.04.2008 в 15:29)
 

Так я не понимаю, почему вы все ему советуйте просто разбивать строку explode'ом. Было оговорено, что ячейки не могут содержать двоеточие, табуляцию или что-то еще?

   
 
 автор: sim5   (02.04.2008 в 15:36)   письмо автору
 
   для: Atheist   (02.04.2008 в 15:35)
 

Хорошо, не советую.

   
 
 автор: newcold   (02.04.2008 в 17:24)   письмо автору
 
   для: sim5   (02.04.2008 в 15:36)
 

Так как же мне всё таки в таблицу вставить???

   
 
 автор: sim5   (02.04.2008 в 17:37)   письмо автору
 
   для: newcold   (02.04.2008 в 17:24)
 

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

<table cellspacing="2" cellpadding="2" border="0">
<?  
$f
=file("name.txt");  //это у вас будет массив 
for ($i=0;$i<count($f); $i++)  {
 
$s=explode("\t",$f[$i]);   
 print 
"<tr> 
    <td>
$s[0]</td> 
    <td>
$s[1]</td> 
</tr> 
 <tr> 
    <td colspan=\"2\">
$s[2]</td> 
</tr>"
;
}
?>
</table>

   
 
 автор: newcold   (02.04.2008 в 17:47)   письмо автору
 
   для: sim5   (02.04.2008 в 17:37)
 

Спасибо большое!!!

   
 
 автор: Atheist   (02.04.2008 в 14:05)   письмо автору
 
   для: newcold   (02.04.2008 в 13:21)
 

> <td>аргумент 1</td>
> <td>аргумент 2</td>
> <td colspan="2">аргумент 3</td>

И где тут закономерность?

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования