Грамотная работа с массивами

phpusershik

Using PHP
Грамотная работа с массивами

Есть ли такая функция которая связывает Array и Select?
 

phpusershik

Using PHP
Нет у меня немножко другого типа см:
В первой странице это:

echo "<select size=\"1\" name=\"name[0]\">";
echo "<option name=\"name[0]\" value=\"\">Choose Description</option>";
$sql = "SELECT * FROM test ORDER by id";
$result = @mysql_query($sql,$db);
for ($i = 0; $i < @mysql_num_rows($result); $i++) {
$id = @mysql_result($result, $i, "id");
$des = @mysql_result($result, $i, "des");
$part = @mysql_result($result, $i, "part");
$pla = @mysql_result($result, $i, "pla");
$shel = @mysql_result($result, $i, "shel");
echo "<option name=\"name[0]\" value=\"$id\"> $id ||$part || $des</option>";
}
echo "</select>";
echo "</td><td><input type=\"text\" name=\"date[0]\"></td>";
Он написан на Ява скрипте ты можеш добавлять эту форму вместе взятых с селектом и инпутом соответсвено будет добавлятся и элементы в массив.
На вторую страницу посылаются два массива:
name [0] и date[0] .
А на второй странице:
foreach ($name as $value) {
$sql = "SELECT * FROM test where id=$value";
$result = @mysql_query($sql,$db);
for ($i = 0; $i < @mysql_num_rows($result); $i++) {
$id = @mysql_result($result, $i, "id");
$des = @mysql_result($result, $i, "des");
$part = @mysql_result($result, $i, "part");
$pla = @mysql_result($result, $i, "pla");
$shel = @mysql_result($result, $i, "shel");
}
for ($q=0; $q<count($date); $q++) {
$prisv=$date[$q];
$sql2 = "INSERT INTO temp (des,part,pla,shel,ndate) VALUES ('$des','$part','$pla','$shel','$prisv')";
$result2 = mysql_query($sql2);
}
но вот в чём трабл когда на первой странице выбрана только одна строка формы то он добавляет в базу temp всё соответственно и имена и ndate тоже. а когда два то он добавляет в базу четыре полей для первых двух ndate[1] а для других двух ndate[2].
 

phpusershik

Using PHP
о собаки это не проблема их можно и удалить а этим ведь проблема не решается.
 

phpusershik

Using PHP
Дело в том что он ошибок не выдает.
Здесь проблема не в ошибке а как дописать маленкую часть кода что бы он не добавлял к каждому выводду селекта из базы дополнительную ndate[n] то есть каждому селекту соответствующую одну ndate[n].
 

hash

Guest
Можно вот так:
function DisplaySelect($nm,$lb,$arr){
echo $lb."&nbsp;"
echo "<select name='".$nm."'>";
echo "<option selected value=''>неважно</option>";
while (list($name, $value) = each($arr)){
echo '<option value='.$value.'>'.$name.'</option>';
}
echo "</select>";
}
 

phpusershik

Using PHP
Originally posted by hash
Можно вот так:
function DisplaySelect($nm,$lb,$arr){
echo $lb."&nbsp;"
echo "<select name='".$nm."'>";
echo "<option selected value=''>неважно</option>";
while (list($name, $value) = each($arr)){
echo '<option value='.$value.'>'.$name.'</option>';
}
echo "</select>";
}
Это как я понял надо поставит в первую страницу. но у меня на первой странице идёт присвоение массивам элементов, так как он на яваскприте зделан в зависимости от того сколько полей формы будут созданы (формы создаются динамически) и на каждой какие значения будут выбраны они присваиваются массиву и пересылаются второй странице а вот там происходит путаница при ставке в БД.
А это $nm,$lb,$arr массив или переменные у тебя ?
 

Фанат

oncle terrible
Команда форума
hash
теперь ты видешь, сколько смысла давать готовый код без объяснений человеку, который не умеет писать на пхп?
 

SiMM

Новичок
Автор оригинала: phpusershik
Дело в том что он ошибок не выдает.
PHP FAQ: Ничего не работает! Что делать???, читать начиная со слов : 2. Отладка и поиск ошибок в своем алгоритме.
Но бывает так, что программа не вызывает ошибок, но все равно не работает, или работает не так, как надо.
 

Фанат

oncle terrible
Команда форума
SiMM
ему надо не про отладку читать
а самоучитель.
отладка помогает тем, кто представлячет, что должна делать его программа.
Здесь же человеку надо элементарно научиться писать программы
 

phpusershik

Using PHP
Originally posted by SiMM
Фанат, там, по ссылке, про это условие написано ;)
Постараюсь, сейчас всё с начала до конца опять отлаживать но может что-то получится. :-/

-~{}~ 30.09.04 15:22:

Originally posted by hash
Можно вот так:
function DisplaySelect($nm,$lb,$arr){
echo $lb."&nbsp;"
echo "<select name='".$nm."'>";
echo "<option selected value=''>неважно</option>";
while (list($name, $value) = each($arr)){
echo '<option value='.$value.'>'.$name.'</option>';
}
echo "</select>";
}
Спасибо что постарался помочь.
 

_RVK_

Новичок
[off]Всегда удивляли люди у которых > 100 сообщений на форуме,но задающие такие вопросы, буддто вчера слово PHP услышали[/off]
 

Фанат

oncle terrible
Команда форума
Diesel
он объяснял, что год назад брался, но забросил.
Хотя, конечно, у неого тип мышления неприспособленный к программированию, и лучше бы он не возвращался.
 

phpusershik

Using PHP
Originally posted by Фанат
Diesel
он объяснял, что год назад брался, но забросил.
Хотя, конечно, у неого тип мышления неприспособленный к программированию, и лучше бы он не возвращался.
А что тип мышления можно натренировать. И всё зависить от практики. Год тому назад ты на мои посты тоже каждый раз на форуме придирался и сейчас тоже. По моему тебе делать нечего......
 

Фанат

oncle terrible
Команда форума
да-да
ты совершенно прав.
это я виноват, только я, в твоих проблемах.
 

phpusershik

Using PHP
Originally posted by Фанат
да-да
ты совершенно прав.
это я виноват, только я, в твоих проблемах.
Ты не виноват. Но мышление тут ни причём. Каждым рано или поздно научится програмировать всё зависит от практики а не от мышления. :)
 
Сверху