[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: по вводу и выводу из базы
Ludmila
Добрый день!
Помогите пожалуйста, может я что-то не так делаю? Вот код show.tpl

<?php
if (isset($_POST['NomRazd']) && $_POST['NomRazd'] == $_POST['NomRazd']
or (isset($_POST['nazvan'])))
{
$nomrazd=$_POST['NomRazd'] ;
?><form method="post" action="">
Выбранный раздел:<br />
<?php

switch ($nomrazd)
{
case 1: echo "Промышленная химия";
break;
case 2: echo "Минеральные удобрения и средства защиты растений";
break;
case 3: echo "Химические реактивы";
break;
case 4: echo "Дезинфицирующие средства";
break;
case 5: echo "Лабораторная посуда и термометры";
break;
case 6: echo "Оборудование для АЗС и нефтебаз";
break;
};?><br />
Выберите продукт:<br />


<?php


//Получаем из базы данных все записи данного раздела
$res = mysqlQuery("SELECT *
FROM `"
. IRB_DBPREFIX ."product`
WHERE `razdel`="
.$nomrazd
);
?>
<select
name="Product">
<?php

if(mysql_num_rows($res) > 0) // Если записи есть, вытаскиваем по одной в цикле
while($row = htmlChars(mysql_fetch_assoc($res))) // попутно обрабатывая функцией htmlChars()
{
$product=$row['nazvan'];
$upack=$row['fasovka'];
echo "<option value='$product' selected='selected'>$product</option>";
}

?>
</select>
<br />

Укажите количество упаковок продукта:<br />
<input
name="kolich" type="text" size="5" /> штук <br />
<br />
<input
type="submit" value="Отправить" />

</form>
<?php


} else { ?>
<form
method="post" action="">
Выберите раздел:<br />
<select
name='NomRazd'>
<option
value='0'>Выберите раздел</option>
<option
value='1'>Промышленная химия</option>
<option
value='2'>Минеральные удобрения и средства защиты растений</option>
<option
value='3'>Химические реактивы</option>
<option
value='4'>Дезинфицирующие средства</option>
<option
value='5'>Лабораторная посуда и термометры</option>
<option
value='6'>Оборудование для АЗС и нефтебаз</option>
</select><br /><br />
<br />
<input
type="submit" value="Отправить" />

</form>
<?php

} ?>


Ваш заказ:<br />

<?php

echo $zakaz;
?>
</td>



А это контроллер:


/**
* We connect a file of the MySQL functions
* Подключаем файл функций MySQL
*/

include_once IRB_ROOT .'libs/mysql.php';

//Получаем из базы данных все записи
$res = mysqlQuery("SELECT *
FROM `"
. IRB_DBPREFIX ."product` "
);
$rows = '';
$i = 0;
if(mysql_num_rows($res) > 0) // Если записи есть, вытаскиваем по одной в цикле
while($row = htmlChars(mysql_fetch_assoc($res))) // попутно обрабатывая функцией htmlChars()
{
++$i;
// Собираем строки таблицы в переменную
$kolich = 0;

$rows .= "<tr>\n\t<td>". $i .
"</td>\n\t<td>". $row['nazvan'] .
"</td>\n\t<td>". $row['razdel'] .
"</td>\n\t<td>". $row['kvalif'] .
"</td>\n\t<td>". $row['gost'] .
"</td>\n\t<td>". $row['fasovka'] .
"</td>\n\t<td>". $row['foto'] .
"</td>\n\t</tr>";
}




/**
* The data recording block
* Блок записи информации
*/

if($ok)
{

if (isset($_POST['product'])&& isset($_POST['fasovka'])&& isset($_POST['kolich']))
{
mysqlQuery("INSERT INTO `". IRB_DBPREFIX ."zakaz`
SET
`client` = '"
. escapeString($_SESSION['user_data']['namefirm']) ."',
`product` = '"
. escapeString($_POST['nazvan']) ."',
`kolich` = '"
. escapeString($_POST['kolich']) ."',
`upack` = '"
. escapeString($POST['fasovka']) ."'"
);

reDirect();

}
else
$info[] = IRB_NO_TEXT;
}
else
$info[] = IRB_WRITE;

/**
* We connect a file of the MySQL functions
* Подключаем файл функций MySQL
*/

$res = mysqlQuery("SELECT *
FROM `"
. IRB_DBPREFIX ."zakaz`"
);
$zakaz = '';
$i = 0;
if(mysql_num_rows($res) > 0)
while($zak = htmlChars(mysql_fetch_assoc($res)))
{
++$i;
// Собираем строки таблицы в переменную

$zakaz .= "<tr>\n\t<td>". $i .
"</td>\n\t<td>". $zak['client'] .
"</td>\n\t<td>". $zak['nazvan'] .
"</td>\n\t<td>". $zak['upack'] .
"</td>\n\t<td>". $zak['kolich'] .
"</td>\n\t</tr>";
}



не могу понять почему не записывается заказ? что я сделала не так?




Спустя 8 минут, 4 секунды (4.10.2011 - 14:03) Ludmila написал(а):
Мне нужно, чтобы по разделу выходили записи продуктов и когда посетитель выбирает продукт и указывает количество, то нужно его записать в БД и послать письмо с текстом заказа

Спустя 5 минут, 24 секунды (4.10.2011 - 14:08) TranceIT написал(а):
Ошибка тут, посмотри внимательнее, что вставляешь.


mysqlQuery("INSERT INTO `". IRB_DBPREFIX ."zakaz`
SET
`client` = '"
. escapeString($_SESSION['user_data']['namefirm']) ."',
`product` = '"
. escapeString($_POST['nazvan']) ."',
`kolich` = '"
. escapeString($_POST['kolich']) ."',
`upack` = '"
. escapeString($POST['fasovka']) ."'"
);

Спустя 17 минут, 41 секунда (4.10.2011 - 14:26) Ludmila написал(а):
Это я исправила, только оно почему-то в базу не заносится
нет ничего, а соответственно и не считывает

Спустя 2 минуты, 17 секунд (4.10.2011 - 14:28) Ludmila написал(а):
unsure.gif
не получается

Спустя 1 минута, 46 секунд (4.10.2011 - 14:30) TranceIT написал(а):
Имена таблиц не заключаются в кавычки. Названия колонок - тоже.
Хотелось бы глянуть на выводимые ошибки...

Спустя 49 секунд (4.10.2011 - 14:31) Winston написал(а):
Попробуйте переписать запросы
mysqlQuery("INSERT INTO `". IRB_DBPREFIX ."zakaz`  
SET
`client` = '"
. escapeString($_SESSION['user_data']['namefirm']) ."',
`product` = '"
. escapeString($_POST['nazvan']) ."',
`kolich` = '"
. escapeString($_POST['kolich']) ."',
`upack` = '"
. escapeString($POST['fasovka']) ."'"
) or die(mysql_error());

Возможно у вас ошибка какая-то в запросе...

Спустя 15 минут, 4 секунды (4.10.2011 - 14:46) Ludmila написал(а):
дело в том, что ошибок никаких не дает, просто обнуляет результат и как бы начинает сначала, а то, что выбрано не показывает и не записывает

Спустя 2 минуты, 43 секунды (4.10.2011 - 14:49) Ludmila написал(а):
Специально внизу переменную поставила, чтобы выводило, что сохранено, а оно просто обнуляется

Спустя 8 минут, 12 секунд (4.10.2011 - 14:57) Michael написал(а):
Цитата (Ludmila @ 4.10.2011 - 13:49)
Специально внизу переменную поставила, чтобы выводило, что сохранено, а оно просто обнуляется

Кто такое ОНО?
Программа стоит - где - у вас? Нам по коду логику эту запутанную что ли в мозгах воссоздать и выполнить?
Есть у вас запрос с insert. Он что ли не отрабатывает? Выясняйте по условиям вверх - почему не выполнился или выполнился с ошибкой. Дебаг и логирование в помощь.



WHERE `razdel`=".$nomrazd

иньекция

Спустя 3 минуты, 50 секунд (4.10.2011 - 15:01) Michael написал(а):
echo "<option value='$product' selected='selected'>$product</option>";

в цикле выводите для всех selected='selected' - уже html не валидный

Цитата
// попутно обрабатывая функцией htmlChars()

и что это за функция?

Спустя 13 минут, 14 секунд (4.10.2011 - 15:14) Invis1ble написал(а):
это обертка для htmlspecialchars() с курсов ibris-team

Спустя 35 минут, 2 секунды (4.10.2011 - 15:49) Гость_Людмила написал(а):
я же выложила те файлы с которыми работаю, какую логику вы еще хотите достраивать?
Я же писала, что мне нужно чтобы по одному параметру таблицы выводились остальные, а их нужно поместить в таблицу БД и сохранить, а если нужно, то подредактировать

Спустя 5 минут, 5 секунд (4.10.2011 - 15:54) Гость_Людмила написал(а):
/**
* The data recording block
* Блок записи информации
*/
if($ok)
{

if (isset($_POST['product'])&& isset($_POST['fasovka'])&& isset($_POST['kolich']))
{
mysqlQuery("INSERT INTO `". IRB_DBPREFIX ."zakaz`
SET
`client` = '". escapeString($_SESSION['user_data']['namefirm']) ."',
`product` = '". escapeString($_POST['product']) ."',
`kolich` = '". escapeString($_POST['kolich']) ."',
`upack` = '". escapeString($POST['fasovka']) ."'"
) or die(mysql_error());

reDirect();

}
else
$info[] = IRB_NO_TEXT;
}
else
$info[] = IRB_WRITE;

Спустя 6 минут, 15 секунд (4.10.2011 - 16:00) Invis1ble написал(а):
Гость_Людмила
MIchael ведь написал, что нужно сделать, если ошибок никаких со стороны СУБД нет - пошаговый дебагинг. Вполне возможно, что например условие isset($_POST['product'])&& isset($_POST['fasovka'])&& isset($_POST['kolich']) возвращает false

Спустя 8 минут, 5 секунд (4.10.2011 - 16:08) Гость_Людмила написал(а):
Я пробую, но пока еще не могу понять) sad.gif

Спустя 16 минут, 52 секунды (4.10.2011 - 16:25) Гость_Людмила написал(а):
Вот это сделала, но почему-то в базу не записывается после второго отправить


<?php

if (!isset($_POST['NomRazd']))
{ ?>
<form method="post" action="">
Выберите раздел:<br />
<
select name='NomRazd'>
<
option value='0'>Выберите раздел</option>
<
option value='1'>Промышленная химия</option>
<
option value='2'>Минеральные удобрения и средства защиты растений</option>
<
option value='3'>Химические реактивы</option>
<
option value='4'>Дезинфицирующие средства</option>
<
option value='5'>Лабораторная посуда и термометры</option>
<
option value='6'>Оборудование для АЗС и нефтебаз</option>
</
select><br /><br />
<
br />
<
input type="submit" value="Отправить" />

</
form>
<?php
}
elseif (isset($_POST['NomRazd']) && $_POST['NomRazd'] == $_POST['NomRazd'] )
{
$nomrazd=$_POST['NomRazd'] ;
?><form method="post" action="">
Выбранный раздел:<br />
<?php
switch ($nomrazd)
{
case 1: echo "Промышленная химия";
break;
case 2: echo "Минеральные удобрения и средства защиты растений";
break;
case 3: echo "Химические реактивы";
break;
case 4: echo "Дезинфицирующие средства";
break;
case 5: echo "Лабораторная посуда и термометры";
break;
case 6: echo "Оборудование для АЗС и нефтебаз";
break;
};?><br />
Выберите продукт:<br />


<?php


$res = mysqlQuery("SELECT *
FROM `"
. IRB_DBPREFIX ."product`
WHERE `razdel`="
.$nomrazd
);
?>
<select name="prod">
<?php
if(mysql_num_rows($res) > 0) // Если записи есть, вытаскиваем по одной в цикле
while($row = htmlChars(mysql_fetch_assoc($res))) // попутно обрабатывая функцией htmlChars()
{
$prod=$row['nazvan'];
$upack=$row['fasovka'];
echo "<option value='$prod' selected='selected'>$prod</option>";
}

?>
</select>
<
br />
Укажите количество упаковок продукта:<br />
<
input name="kol" type="text" size="5" /> штук <br />
<
br />
<
input type="submit" value="Отправить" />

</
form>
<?php
$nomrazd=$_POST['NomRazd'] ;
$product=$_POST['prod'];
$kolich=$_POST['kol'];
}
elseif(isset($_POST['product'])&& isset($_POST['kolich']))
{
echo "Вы заказали: ",$_POST['product'],$_POST['kolich'];
} ?>

Спустя 5 минут, 8 секунд (4.10.2011 - 16:30) Гость_Людмила написал(а):
Сам контроллер такой
<?php   
/**
* Controller
* Контроллер
*
@author IT studio IRBIS-team
*
@copyright © 2009 IRBIS-team
*/
/////////////////////////////////////////////////////////

/**
* Generation of page of an error at access out of system
* Генерация страницы ошибки при доступе вне системы
*/

if(!defined('IRB_KEY'))
{
header("HTTP/1.1 404 Not Found");
exit(file_get_contents('../../404.html'));
}
///////////////////////////////////////////////////////////


/**
* We connect a file of the MySQL functions
* Подключаем файл функций MySQL
*/

include_once IRB_ROOT .'libs/mysql.php';

//Получаем из базы данных все записи
$res = mysqlQuery("SELECT *
FROM `"
. IRB_DBPREFIX ."product` "
);
$rows = '';
$i = 0;
if(mysql_num_rows($res) > 0) // Если записи есть, вытаскиваем по одной в цикле
while($row = htmlChars(mysql_fetch_assoc($res))) // попутно обрабатывая функцией htmlChars()
{
++$i;
// Собираем строки таблицы в переменную
$kolich = 0;

$rows .= "<tr>\n\t<td>". $i .
"</td>\n\t<td>". $row['nazvan'] .
"</td>\n\t<td>". $row['razdel'] .
"</td>\n\t<td>". $row['kvalif'] .
"</td>\n\t<td>". $row['gost'] .
"</td>\n\t<td>". $row['fasovka'] .
"</td>\n\t<td>". $row['foto'] .
"</td>\n\t</tr>";
}




/**
* The data recording block
* Блок записи информации
*/

include_once IRB_ROOT .'libs/mysql.php';
if($ok)
{

if (isset($_POST['product'])&& isset($_POST['fasovka'])&& isset($_POST['kolich']))
{
mysqlQuery("INSERT INTO `". IRB_DBPREFIX ."zakaz`
SET
`client` = '"
. escapeString($_SESSION['user_data']['namefirm']) ."',
`product` = '"
. escapeString($_POST['product']) ."',
`kolich` = '"
. escapeString($_POST['kolich']) ."',
`upack` = '"
. escapeString($POST['fasovka']) ."'"
) or die(mysql_error());

reDirect();

}
else
$info[] = IRB_NO_TEXT;
}
else
$info[] = IRB_WRITE;

/**
* We connect a file of the MySQL functions
* Подключаем файл функций MySQL
*/

$res = mysqlQuery("SELECT *
FROM `"
. IRB_DBPREFIX ."zakaz`"
);
$zakazy = '';
$i = 0;
if(mysql_num_rows($res) > 0)
while($zak = htmlChars(mysql_fetch_assoc($res)))
{
++$i;
// Собираем строки таблицы в переменную

$zakazy .= "<tr>\n\t<td>". $i .
"</td>\n\t<td>". $zak['client'] .
"</td>\n\t<td>". $zak['product'] .
"</td>\n\t<td>". $zak['upack'] .
"</td>\n\t<td>". $zak['kolich'] .
"</td>\n\t</tr>";
}


 ! 

М
Заключайте код в соответствующие bb-теги
Invis1ble

Спустя 4 минуты, 57 секунд (4.10.2011 - 16:35) Гость_Людмила написал(а):
Извините, поторопилась!

Спустя 6 дней, 1 час, 21 минута, 19 секунд (10.10.2011 - 17:57) udaffchik написал(а):
Здравствуйте. Имееться страница form.php с формой выбора неких данных, которые при отправки в базу данных примут свой id, который имеет атрибут AUTO_INCREMENT, по порядку. Вопрос: как можно сделать что бы на странице form.php выводился номер id, который будет присваиваться к этой форме после отправки этих данных, до того как форма будет отправленна.
Быстрый ответ:

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