|
|
|
| Добрый день, у меня есть пара вопросов по книге представленной на сайте:
1).Операторы цикла/ While
<?
$var = 7;
$i = 0;
while(++$i <= $var)
{
echo($i);
echo('<br>');
if($i==3)break;
}
?>
Почему в окне браузера появятся цифры от 1 до 5, а не от 1 до 3?
2). Функции поиска в тексте:
1. substr() - почему в примере результатом является символ "w", а не 2 символа "wо"?
Это опечатка?
Это не все вопросы :), но я подумала, что легче будет разобраться на примерах, один из которых тут же возник:)
Вот, например, такая задачка:
Даны 3 таблицы, правая часть которых идентична, но ежемесячно меняется; текст левой части различен - потому, собственно, таблиц 3, но этот текст никогда не меняется - его один раз ввели и все. Каждый месяц приходится 3 раза проделывать одну и ту же работу: вставлять одну и ту же информацию в правую часть всех 3 таблиц, что не очень удобно.
Необходимо средствами PHP создать одну таблицу, и единожды (а не трижды) вводить данные в правую ее часть, а в левую ссылки что ли дать на содержимое...? - не знаю...
Мне не хотелось бы видеть готовый вариант ответа!!! Я плохо разбираюсь в языке, но очень хочу научиться - мне нужна помощь советами, чтобы каждый шаг решения я поняла!
Заранее спасибо!!!!
P.S. Хочу добавить, что PHP - мой первый язык программирования. Знаю HTML и CSS
P.P.S. Простите за неудачное название темы - лишь сейчас прочла правила форума:( | |
|
|
|
|
|
|
|
для: Veresk
(14.09.2007 в 13:50)
| | 1.
<?php
$var = 7;
$i = 1;
while($i <= $var) {
echo $i;
echo '<br>';
if($i==3)break;
$i++;
}
|
2. Потому что 6 символ - запятая. От шестого символа взять далее 2 сивола (пробел и буква w) - так и получается, ведь пробел - тоже символ | |
|
|
|
|
|
|
|
для: mihdan
(14.09.2007 в 17:05)
| | вы что в асе договорились здесь обсудить этот вопрос?
какой еще пример с САБСТР? | |
|
|
|
|
|
|
|
для: bronenos
(14.09.2007 в 17:51)
| | :)) не встревайте bronenos, это по книге представленной на сайте, пусть молодые поговорят :) | |
|
|
|
|
|
|
|
для: sim5
(14.09.2007 в 17:54)
| | ой... че то не заметил этой фразы))))
(я кстати тоже не старый) | |
|
|
|
|
|
|
|
для: bronenos
(14.09.2007 в 18:04)
| | >я кстати тоже не старый
Ну тогда отбивайте :) | |
|
|
|
|
|
|
|
для: Veresk
(14.09.2007 в 13:50)
| | Извиняюсь, видимо вас обидела шутка? Грешно обижать дам, каюсь.
>Вот, например, такая задачка:
Ну это будет зависить от того, какой это текст и кто, и куда его вносит. Если это простой текст, вносит его администратор сайта, и вносится он в базу, то просто на странице, которая выводит эти таблицы, нужно обратиться к базе и получить этот текст, присвоить его переменной и поместь эту переменную в соответствующие ячейки таблиц, например:
<?php
$text = "Значение текста полученное из бызы.";
?>
<TABLE><TR><TD><?php echo $text ?></TD></TR></TABLE>
// и так в остальные таблицы
|
Автоматом текст РНР ни откуда не возьмет, вам в любом случае нужно его будет вносить, а вот получать и вставлять его в указанное вами место - это он исполнит.
Если текст сложный, типа табличные данные, то возможно потребуется форматирование его - разнести его по ячейкам таблицы и т.п., тогда возможно потребется получить этот текст в виде массива. Ну это так, к примеру. | |
|
|
|
|
|
|
|
для: sim5
(14.09.2007 в 19:14)
| | Спасибо за отклики:)))))
Отдельное спасибо mihdan и sim5 :)
Что же делать молодым и неопытным ? - приходится беспокоить мудрецов детскими вопросами ;)
Да, sim5, действительно, я недостаточно ясно изложила задачу - иправляюсь.
Вот моя таблица, вернее, пример таблицы:
<body>
<table border="1">
<tr>
<td width="500" align="center">Название<td width="0">
<td width="74" align="center">Номер
</td>
</tr>
</table>
<table border="1">
<tr>
<td width="500">Параграф 1
<td>
<td width="10"><a href="">1</a></td>
<td width="10"><a href="">2</a></td>
<td width="10"><a href="">3</a></td>
<td width="10">4</td>
<td width="10">5</td>
</tr>
</table>
<table border="1">
<tr>
<td width="500">Параграф 2
<td>
<td width="10"><a href="">1</a></td>
<td width="10"><a href="">2</a></td>
<td width="10"><a href="">3</a></td>
<td width="10">4</td>
<td width="10">5</td>
</tr>
</table>
<table border="1">
<tr>
<td width="500">Параграф 3
<td>
<td width="10"><a href="">1</a></td>
<td width="10"><a href="">2</a></td>
<td width="10"><a href="">3</a></td>
<td width="10">4</td>
<td width="10">5</td>
</tr>
</table>
</body>
|
Левая колонка (Название и Параграфы и Номер) на 3 языках; правые столбцы являются ссылками на pdf-файлы - эти столбцы одинаковы для всех трех таблиц. Спасибо, приблизительно представляю себе каким образом разобраться с линками (буду пробовать), а вот что делать с левой частью, которая должна быть на соответствующем языке?
Спасибо. | |
|
|
|
|
|
|
|
для: Veresk
(14.09.2007 в 22:29)
| | Только меня не называйте мудрецом, я любитель :)
Вот эта ошибка видимо просто при копировании получилась?:
<td width="500" align="center">Название<td width="0">
должно быть
<td width="500" align="center">Название</td>
|
Вообще же у вас не таблица, а 4 отдельных таблицы с пятью ячейками каждая (3 последних), поэтому не понятно. Видимо вы говорите не о столбцах, а о левой таблице, средней таблице и правой, каждая из которых содержит одну и ту же информацию но на разных языках?
Да все очень просто - постоянную информацию заносите сразу. Правда, если такой информации много и на многих страницах, то лучше использовать шаблоны, я так думаю, тогда в РНР-обработчике вы будете определять изменяемое содержимое и передавать его в подключаемый шаблон в виде переменных (но это так, к слову, на будующее:)).
В общем делаете то же самое, о чем и ранее говорилось - через админ панель вводите содержание на трех языках для изменяемой части таблиц, заносите в базу и т.д. Эти данные вы всегда можете получить в последствии, сделав запрос к базе (этим и будет заниматься РНР, автоматически, при каждом запросе страницы), получить три переменных (каждая из которых сответсвует одному из языков) и поместить их в нужные ячейки таблиц.
Проблемы с языками решает использование в ваших страницах и базе данных кодировки в UTF.
Если вы это как пример и нужно более простое, то вы можете просто загружать на сервер (через FTP) три изменяемых файла, каждый на своем языке, а уже РНР-скрипт будет брать эти файлы (имена их могут отражать язык содержания, например), и помещать в соответствующую таблицу (ячейку таблицы). Можно так поступить, можно и через админа редактировать/добавлять эти файлы.
Вообще же, постановкой задач и способом их реализации должны заниматься исключительно вы, а форум вам поможет найти ошибку, подсказать более "удачное" решение и т.п. Я это к тому, что вы можете наизусть выучить все функции РНР, знать для чего каждая из них служит, но если вы не будете иметь понимания о том как их применить (поставить задачу и определиться с инструментами для ее решения), тогда "заучивание наизусть" зря.
Для изучения РНР, установите сервер на свой компьютер, для возможности запуска и отладки скриптов (Денвера будет достаточно), пользуйтесь мануалом по РНР, а так же книгами, например, которые предлагает SoftTime. Я тоже пользуюсь этими книгами, могу сказать что книги хорошие. У них только один недостаток - нет картинок, поэтому они не так привлекательны как журнал "Мурзилка", но полезные!
Если в этот топик заглянет cheops (Симдянов И.В.), а он это видимо сделает обязательно (работа у него такая), то он вам посоветует более конкретную литературу, ибо он я вляется одним из авторов этих книг.
Начиная с малого, двигайтесь к большому, я вам желаю успехов, а форум поможет. | |
|
|
|
|
|
|
|
для: Veresk
(14.09.2007 в 13:50)
| |
<?php
$var = 7;
$i = 1;
while($i <= $var) {
echo $i;
echo '<br>';
if($i==3)break;
$i++;
}
//if($i==3) break;
|
http://php.net/break | |
|
|
|
|