[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Работа с выпадающими списками
novi4ek
HELP. Все коды на Jave написаны. А у меня через ПХП. Но млин ошибку дает. Я уже перепробовал несколько вариантов. В чем дело?
КОД: crying.gif
<?php
// Устанавливаем соединение с базой данных
require_once("config.php");

// Начало HTML-формы
echo "<form method=post>";

// Формируем первый выпадающий список
$query = "SELECT * FROM catalogs";
$cat = mysql_query($query);
if(!$cat) exit(mysql_error());
// Если имеется хотя бы одна запись
// формируем выпадающий список
if(mysql_num_rows($cat) > 0)
{
echo "<select name=id_catalog onchange='this.form.submit()'>";
echo "<option value=0>Не имеет значения</option>";
while($catalog = mysql_fetch_array($cat))
{
if($catalog['id_catalog'] == $catalog['id_catalog']) $selected = "selected";
else $selected = "";
echo "<option value=$catalog[id_catalog] $selected>$catalog[name]</option>";
}
echo "</select>";
}

// Проверяем является ли параметр id_catalog числом
if(preg_match("|^[\d]+$|",$_POST['id_catalog']));
{
// Формируем второй выпадающий список
$query = "SELECT * FROM products
WHERE id_catalog = $catalog[id_catalog]";
// ORDER BY name";
$prd = mysql_query($query);
if(!$prd) exit(mysql_error());
// Если в текущем каталоге имеется хотя бы
// одна товарная позиция формируем выпадающий список
if(mysql_num_rows($prd) > 0)
{
echo "<select name=id_product onchange='this.form.submit()'>";
while($product = mysql_fetch_array($prd))
{
echo "<option value=$product[id_product]>$product[name]</option>";
}
echo "</select>";
}
}

// Конец HTML-формы
echo "</form>";
?>

Ошибка:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 2

Ответте пожалуйста, господа программисты.



Спустя 1 час, 41 минута, 20 секунд (27.01.2008 - 12:38) disc написал(а):
Откуда берется $catalog[id_catalog] ?
Скорее всего ошибка здесь
Код
$query = "SELECT * FROM products
WHERE id_catalog = $catalog[id_catalog]";

потому, как не передается никакое значение.
Если стоит проверка на
Код
if(preg_match("|^[\d]+$|",$_POST['id_catalog']));

то я думаю стоит заменить и в условии вышеуказанного запроса на это значение.

Спустя 21 час, 41 минута, 56 секунд (28.01.2008 - 10:20) novi4ek написал(а):
if(preg_match("|^[\d]+$|",$_POST['id_catalog']));
проверяет является ли параметр id_catalog числом
я пробовал так везде вместо $catalog[id_catalog] ставил $_POST['id_catalog']

то есть вместо запроса
$query = "SELECT * FROM products
WHERE id_catalog =$catalog[id_catalog]
ставил
$query = "SELECT * FROM products
WHERE id_catalog =$_POST['id_catalog']

тогда он ругается на синтаксис, блин.

я к вечеру вывешу структуру таблицы
попробуйте кто-нибудь прогнать этот код. А то я вроде бы попробовал много разных вариантов. И кажется в конец запутался.

Спустя 1 час, 24 минуты, 59 секунд (28.01.2008 - 11:45) Andrew написал(а):
Цитата(novi4ek @ 28.1.2008, 10:20) [snapback]32735[/snapback]
ставил
$query = "SELECT * FROM products
WHERE id_catalog =$_POST['id_catalog']

тогда он ругается на синтаксис, блин.

я бы так написал:
$query = "SELECT * FROM products WHERE id_catalog =".$_POST['id_catalog'];

Спустя 1 год, 10 месяцев, 17 дней, 7 часов, 15 минут, 16 секунд (15.12.2009 - 19:01) Гость_Sanek написал(а):
Скажите пожалуйста как из выпадающего списка занести данные в бд????
Я уже голову сломал за целый день.....

Спустя 1 час, 45 минут, 23 секунды (15.12.2009 - 20:46) VolCh написал(а):
Отправить формой и обработать как обычный POST запрос?

Спустя 1 час, 56 минут, 45 секунд (15.12.2009 - 22:43) Guest написал(а):
Спасибо что откликнулись,я уже сделал у меня просто было слишком много лишнего!!!!! user posted image

Спустя 58 минут, 42 секунды (15.12.2009 - 23:42) Guest написал(а):
rolleyes.gif

Спустя 2 дня, 21 час, 15 минут, 58 секунд (18.12.2009 - 20:57) Guest написал(а):
Помогите пожалуйста!
Не могу ни как вытащить переменную 'kod_tip_oborud' из этого кода:

function tip($a2)
{
$b2 = isset($_POST['tip_oborud'])?$_POST['tip_oborud']:NULL;
if($a2 == $b2)
return 'selected="selected"';
}
$result1 = mysql_query("SELECT * FROM tip_oborud where kod_oborudfk='".$_POST['oborudovanie']."'")or die(mysql_error());
echo "<select name=\"tip_oborud\" onchange=\"document.getElementById('frm').submit();\" >
<option id=\"kod_tip_oborud\" value='null'>- Выберите тип -</option>";
while($name= mysql_fetch_array($result1))
echo "<option ",tip($name['kod_tip_oborud'])," value='",$name['kod_tip_oborud'],"'>",$name['naim_tip_oborud'],"</option>\r\n ";
$p=$_POST['kod_tip_oborud'];
echo " </select> ";
echo"</table>";

Спустя 7 минут, 47 секунд (18.12.2009 - 21:05) Guest написал(а):
Через POST не получается , пробовал вот так:$p=$_POST['kod_tip_oborud'];

Спустя 34 минуты, 8 секунд (18.12.2009 - 21:39) VolCh написал(а):
у тебя в select name="tip_oborud", а вытащить пытаешься $_POST['kod_tip_oborud'] smile.gif

P.S. Неужели сложно перед копипастом кода нажать кнопочку "PHP"?

Спустя 1 час, 20 минут, 16 секунд (18.12.2009 - 23:00) Guest написал(а):
Я понимаю, что нужно считывать с названия формы , но мне надо id считать как это можно сделать?

А этого я не понял huh.gif P.S." Неужели сложно перед копипастом кода нажать кнопочку "PHP"?"

Спустя 3 минуты, 3 секунды (18.12.2009 - 23:03) VolCh написал(а):
над полем, в которым пишешь пост видишь кнопочки как в ворде? Там есть кнопочка PHP нажимаешь ееё и получается
function tip($a2)
{
$b2 = isset($_POST['tip_oborud'])?$_POST['tip_oborud']:NULL;
if($a2 == $b2)
return 'selected="selected"';
}

$result1 = mysql_query("SELECT * FROM tip_oborud where kod_oborudfk='".$_POST['oborudovanie']."'") or die(mysql_error());
echo "<select name=\"tip_oborud\" onchange=\"document.getElementById('frm').submit();\" >
<option id=
\"kod_tip_oborud\" value='null'>- Выберите тип -</option>";
while($name= mysql_fetch_array($result1))
echo "<option ",tip($name['kod_tip_oborud'])," value='",$name['kod_tip_oborud'],"'>",$name['naim_tip_oborud'],"</option>\r\n ";
$p=$_POST['kod_tip_oborud'];
echo " </select> ";
echo"</table>";

Спустя 5 минут, 15 секунд (18.12.2009 - 23:08) VolCh написал(а):
Я про форму вообще ничего не говорил (и на этом фрагменте её нет), у тебя в select value попадает kod_tip_oborud, но передастся он как $_POST['tip_oborud'], потому что стоит такой name у select

Спустя 3 минуты, 51 секунда (18.12.2009 - 23:12) Guest написал(а):
Ясно, сейчас попробую! wink.gif

Спустя 14 минут, 3 секунды (18.12.2009 - 23:26) Guest написал(а):
Извените за тупые вопросы, просто голова уже не варит.
Мне надо вытащить id, а из selecta методом POST вытаскивается только порядковый номер записи .

Спустя 6 минут, 58 секунд (18.12.2009 - 23:33) VolCh написал(а):
Откуда там порядковый номер? Там только kod_tip_oborud может передаваться

Спустя 11 минут (18.12.2009 - 23:44) Guest написал(а):
Ясно что дело тёмное, спасибо за ответы.

Спустя 7 дней, 14 часов, 33 минуты, 36 секунд (26.12.2009 - 14:17) Caiot написал(а):
Подскажите пожадлуйста как записать данные в определённую ячейку таблицы excel ?


include("excelwriter.inc.php");

$excel=new ExcelWriter("myXls.xls");

if($excel==false)
echo $excel->error;

$myArr=array("Name","Last Name","Address","Age");
$excel->writeLine($myArr);

$myArr=array("Sriram","Pandit","23 mayur vihar",24);
$excel->writeline($myArr);
$excel->writeRow();
$excel->writeCol("Manoj");
$excel->writeCol("Tiwari");
$excel->writeCol("80 Preet Vihar");
$excel->writeCol(24);

$excel->writeRow();
$excel->writeCol("Harish");
$excel->writeCol("Chauhan");
$excel->writeCol("115 Shyam Park Main");
$excel->writeCol(22);

$myArr=array("Tapan","Chauhan","1st Floor Vasundhra",25);
$excel->writeLine($myArr);

$excel->close();
echo "data is write into myXls.xls Successfully.";



Спустя 1 минута, 28 секунд (26.12.2009 - 14:19) Caiot написал(а):
Извините не в ту тему написал!!

Спустя 24 дня, 8 часов, 43 минуты, 51 секунда (20.01.2010 - 23:03) Пупкин_василий написал(а):
помогите


<?php
include "config.php";

echo <<<HTML
<table border=0, align=center>
HTML;



// ХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХ Выбор материнской платы

$query = mysql_query("SELECT * FROM maternal_charge ");
echo <<<HTML
<tr>Выберите материнскую карту</tr>
<tr>
<select name="mb">
HTML;
while ($mb = mysql_fetch_array($query))
echo <<<HTML
<option >$mb[producer]-$mb[model]-$mb[port_HDD]-$mb[socket]-$mb[type_to_memories]-$mb[format]</option>
HTML;
echo <<<HTML
</select></tr>
HTML;




// ХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХ Выбор процессора

$query = mysql_query(" SELECT * FROM processors ");
echo <<<HTML
<tr>Выберите процессор</tr>
<tr>
<select name="cpu">
HTML;

while ($cpu = mysql_fetch_array($query))
echo <<<HTML

<option >$cpu[producer]-$cpu[model]-$cpu[socket]-$cpu[frequency]-$cpu[namber_core]</option>
HTML;
echo <<<HTML
</select></tr>
HTML;





// ХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХ Выбор памяти

$query = mysql_query("SELECT * FROM memory ");
echo <<<HTML
<tr>Выберите оперативную память</tr>
<tr>
<select name="mem">
HTML;
while ($mem = mysql_fetch_array($query))
echo <<<HTML
<option>$mem[producer]-$mem[standard]</option>
HTML;
echo <<<HTML
</select></tr>
HTML;




// ХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХ Выбор видео карты

$query = mysql_query("SELECT * FROM video_card ");
echo <<<HTML
<tr>Выберите видео карту</tr>
<tr>
<select name="video">
HTML;
while ($video = mysql_fetch_array($query))
echo <<<HTML
<option >$video[producer]-$video[model]</option>
HTML;
echo <<<HTML
</select></tr>
HTML;



// ХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХ Выбор жесткого диска

$query = mysql_query("SELECT * FROM hdd ");
echo <<<HTML
<tr>Выберите жесткий диск</tr>
<tr>
<select name="hdd">
HTML;
while ($hdd = mysql_fetch_array($query))
echo <<<HTML
<option >$hdd[producer]-$hdd[type]</option>
HTML;
echo <<<HTML
</select></tr>
HTML;






// ХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХ Выбор корпуса

$query = mysql_query("SELECT * FROM body ");
echo <<<HTML
<tr>Выберите тип корпуса</tr>
<tr>
<select name="body">
HTML;
while ($body = mysql_fetch_array($query))
echo <<<HTML
<option >$body[producer]-$body[type_of_the_body]-$body[type_of_the_maternal_charge]-$body[color]</option>
HTML;
echo <<<HTML
</select>
</tr>
HTML;




// ХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХ Выбор БП

$query = mysql_query("SELECT * FROM power ");
echo <<<HTML
<tr>Выберите блок питания</tr>
<tr>
<select name="pwr">
HTML;
while ($pwr = mysql_fetch_array($query))
echo <<<HTML
<option >$pwr[producer]-$pwr[power]-$pwr[type]</option>
HTML;
echo <<<HTML
</select>
</tr>
HTML;


echo <<<HTML
</table>
HTML;


?>


списки просто вытаскивают из БД инфу


как зделать чтобы во втором списке оставались строки совпадающие с первым списком по сокету???
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.