for ($i = 1; $i < 6; $i++) :
$txt = $dom->createTextNode($name[$i]); // вот тут надо name1,name2...
endfor;
Спустя 1 час, 51 минута, 27 секунд (20.02.2010 - 13:38) Гость_Дмитрий написал(а):
Не, вы не поняли, мне не надо прибавить к тексту что находится в nam1.name2.name3 число +1 +2 и +3 . В мой ПХП файл c другой программы приходит текст, который потом позначается как name1,name2,name3 тоесть вот вид такой :
тиаких name у меня много, дальше, у меня идет цикл for
это всеровно что я напишу вместо цикла
Вот и есть моя проблема !
$name1 = $_GET['name1']; // пийом текста, в name1
$name2 = $_GET['name2'];
$name3 = $_GET['name3'];
тиаких name у меня много, дальше, у меня идет цикл for
for ($i = 1; $i < 6; $i++) :
$txt = $dom->createTextNode($name[$i]); //неправельный
endfor;
это всеровно что я напишу вместо цикла
$txt = $dom->createTextNode($name1);
$txt = $dom->createTextNode($name2);
$txt = $dom->createTextNode($name3);
...
$txt = $dom->createTextNode($nameN);
Вот и есть моя проблема !
Спустя 51 минута, 51 секунда (20.02.2010 - 14:30) sergeiss написал(а):
Цитата (Гость_Дмитрий @ 20.02.2010 - 14:38) |
$name1 = $_GET['name1']; // пийом текста, в name1 $name2 = $_GET['name2']; $name3 = $_GET['name3']; |
Тогда вообще всё просто
$name=array();
foreach( $_GET as $k => $v )
{
if( substr( $k, 0, 4) == 'name' )
$name[$k]=$v;
}
И тут даже могуть "пропуски" в нумерации. Главное, что через GET передаются какие-то параметры, имена которых начинаются на 'name'.
Только потом, лучше, используй цикл не for, а foreach.
Спустя 42 минуты, 47 секунд (20.02.2010 - 15:13) John_761 написал(а):
<html>
<head>
</head>
<body>
<form id="nameArea" method="post" action="">
<input type="text" name="name1"/>
<input type="button" name="addField" value="addField" onclick="addFieldName()"/>
<input type="submit" name="go" value="Go"/>
</form>
</body>
</html>
<script language="javascript">
//глобальная переменная-счетчик
i = 1;
function addFieldName()
{
i++;
var name = document.createElement('input');
var br = document.createElement('br');
name.type = 'text';
name.name = 'name' + i;
var form = document.getElementById('nameArea');
if (form)
{
form.appendChild(br);
form.appendChild(name);
}
}
</script>
$go = isset($_POST['go']) ? TRUE : FALSE;
if ($go) :
$array = array();
foreach ($_POST as $key => $p) :
if (stristr($key, 'name') !== FALSE)
$array[] = $p;
endforeach;
$dom = new DOMDocument('1.0','utf-8');
$all = $dom->createElement('all');
$name = $dom->createElement('name');
$predmet = $dom->createElement('predmet');
$dom->appendChild($all);
$root = $dom->getElementsByTagName('all')->item(0);
$root->appendChild($name);
$nameElement = $root->getElementsByTagName('name')->item(0);
for ($i = 0; $i < count($array); $i++) :
$txt = $dom->createTextNode($array[$i]);
$predmet = $dom->createElement('predmet');
$nameElement->appendChild($predmet)->appendChild($txt);
endfor;
$dom->save('testing.xml');
$str = $dom->saveXML();
endif;
Спустя 6 часов, 35 минут, 11 секунд (20.02.2010 - 21:48) Гость_Дмитрий написал(а):
Не кто так правильно и не сказал )
Даже в php.ru не нашел вот к примеру надо что бы $p с циклом менялось на $p1,$p2,$p3 но так, не получается, сколько бы я не эксперементировал :
Словом, вместо того что бы писать так :
Даже в php.ru не нашел вот к примеру надо что бы $p с циклом менялось на $p1,$p2,$p3 но так, не получается, сколько бы я не эксперементировал :
for ($i = 1; $i <= 10; $i++) {
$p = $_GET['p'.$i]; //даже были такие варианты $p[$i]
Словом, вместо того что бы писать так :
$p1 = $_GET['p1'];можно просто, сделать цикл, но как ? помогите ктото !
$p2 = $_GET['p2'];
$p3 = $_GET['p3'];
...
$p4 = $_GET['p4'];
//хоть до $p1000
Спустя 32 минуты, 2 секунды (20.02.2010 - 22:20) John_761 написал(а):
Зачем создавать миллион переменных если все можно просто занести в массив ??
Спустя 31 минута, 7 секунд (20.02.2010 - 22:51) sergeiss написал(а):
А мой пример ты видел, пробовал, думал над ним? Рабочий, кстати, на все 100%... Тут в теме, чуть выше.
Спустя 22 минуты, 30 секунд (20.02.2010 - 23:13) sergeiss написал(а):
Цитата (PHPprogramer @ 21.02.2010 - 00:09) |
Для этого в for'е пишем $p.$i, а здесь $_GET['p'].$i будет к полученным данным присоединятся 1 - 5, в итоге мы получи: |
ЁПРСТ!!!!!!!!!!!!!!!!!!!!
Ну ты хотя бы попробуй ввести этот код, а потом советуй его. Второй Попов нашелся, понимаешь ли...
И не забудь потом написать на форуме, куда тебя пошлёт ПХП!
Спустя 10 минут, 48 секунд (20.02.2010 - 23:24) sergeiss написал(а):
Цитата (PHPprogramer @ 21.02.2010 - 00:15) |
Так я сначала его ввел, проверил, написал. |
То есть, ты хочешь сказать, что $_GET['p'].$i (при $i равном 1) эквивалентно $_GET['p1']????
И что ПХП "типа понял, что ты имел ввиду"???
PS. И ты также "свято уверен", что $p.$i равноценно $p1 (при $i==1)???
"Афигеть, дайте два!" (с)
Спустя 9 минут, 7 секунд (20.02.2010 - 23:33) Гость_Дмитрий написал(а):
sergeiss, у каждого свои методы . А твой точно работает ? просто еще не разбирал, ищу легче методы )
Спустя 6 минут, 29 секунд (20.02.2010 - 23:40) Гость_Дмитрий написал(а):
Кстате, на счет array . Можете навести пример, к примеру вот пришел текст в 'name' . Слова, разделены через кому, я так понял тут split есть в php ? ) Так вот , Этот текст в котором к примеру 100 слов разделенных через кому и, 30 слов поместить в name1, 30 в name2 и тд.
Спустя 50 секунд (20.02.2010 - 23:41) sergeiss написал(а):
Цитата (Гость_Дмитрий @ 21.02.2010 - 00:33) |
sergeiss,у каждого свои методы. А твой точно работает ? |
Это не мой метод, а просто здравый метод
Но ты не читай, что пишет PHPprogramer в этой теме. Он то ли травы обкурился какой-то (очень "забористой"), то ли пЫва много выпил...
Спустя 1 минута, 43 секунды (20.02.2010 - 23:42) sergeiss написал(а):
Цитата (Гость_Дмитрий @ 21.02.2010 - 00:40) |
Кстате, на счет array . Можете навести пример, к примеру вот пришел текст в 'name' . Слова, разделены через кому, я так понял тут split есть в php ? ) Так вот , Этот текст в котором к примеру 100 слов разделенных через кому и, 30 слов поместить в name1, 30 в name2 и тд. |
Не split, а explode. И лучше не в name1, name2 и т.д. помещать, а в элементы массива Тем более, что в ПХП с массивами работать ну очень удобно. Несравнимо удобнее, чем в Си, например. Хотя и медленнее, чем в Си
Спустя 7 минут, 18 секунд (20.02.2010 - 23:50) Winston написал(а):
Цитата (sergeiss @ 20.02.2010 - 22:41) |
Он то ли травы обкурился какой-то (очень "забористой"), то ли пЫва много выпил... |
Ненадо ненадо, я никогда не курил и не курю. А насчет пива, так я даже шампанское не пью. Так что я некурящий - трезвенник. А тот маразм, что я написал я удалю.
Спустя 13 часов, 11 минут, 29 секунд (21.02.2010 - 13:01) Гость_Дмитрий написал(а):
Цитата (sergeiss @ 20.02.2010 - 20:42) |
Не split, а explode. И лучше не в name1, name2 и т.д. помещать, а в элементы массива Тем более, что в ПХП с массивами работать ну очень удобно. Несравнимо удобнее, чем в Си, например. Хотя и медленнее, чем в Си |
Наведите пример пожалуйста ! Да, и что бы не в name1,name2... а в массив.
Спустя 2 часа, 39 минут, 59 секунд (21.02.2010 - 15:41) sergeiss написал(а):
Цитата (Гость_Дмитрий @ 21.02.2010 - 14:01) |
Наведите пример пожалуйста ! Да, и что бы не в name1,name2... а в массив. |
Я уже приводил пример в этой теме. См. выше.