КОД:

<?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]";
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']
тогда он ругается на синтаксис, блин.
я к вечеру вывешу структуру таблицы
попробуйте кто-нибудь прогнать этот код. А то я вроде бы попробовал много разных вариантов. И кажется в конец запутался.
проверяет является ли параметр 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']
тогда он ругается на синтаксис, блин.
я бы так написал:
$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 написал(а):
Спасибо что откликнулись,я уже сделал у меня просто было слишком много лишнего!!!!!

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

Спустя 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>";
Не могу ни как вытащить переменную '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'] 
P.S. Неужели сложно перед копипастом кода нажать кнопочку "PHP"?

P.S. Неужели сложно перед копипастом кода нажать кнопочку "PHP"?
Спустя 1 час, 20 минут, 16 секунд (18.12.2009 - 23:00) Guest написал(а):
Я понимаю, что нужно считывать с названия формы , но мне надо id считать как это можно сделать?
А этого я не понял
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 написал(а):
Ясно, сейчас попробую!

Спустя 14 минут, 3 секунды (18.12.2009 - 23:26) Guest написал(а):
Извените за тупые вопросы, просто голова уже не варит.
Мне надо вытащить id, а из selecta методом POST вытаскивается только порядковый номер записи .
Мне надо вытащить 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;
?>
списки просто вытаскивают из БД инфу
как зделать чтобы во втором списке оставались строки совпадающие с первым списком по сокету???
<?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;
?>
списки просто вытаскивают из БД инфу
как зделать чтобы во втором списке оставались строки совпадающие с первым списком по сокету???