Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.01.2017, 00:51   #1
beygul
Форумчанин
 
Аватар для beygul
 
Регистрация: 15.09.2008
Сообщений: 335
По умолчанию php mysql проблема с select

Здравствуйте, такая проблема. Не могу добавить запись в БД.
PHP код:
<HTML>
    <HEAD>
        <META http-equiv="Content-Type"
        content="text/html; charset=windowls-1251">        
        <TITLE>Виды услуг</TITLE>
    </HEAD>
    <BODY style= "background-image: url(back.jpg)">
        <table border="1" width="40%" align="center" style="margin:0 auto;">
        <A HREF="index.php">Домой</A><BR>
        <A HREF="queries.php">Запросы</A><BR>    
        <A HREF="services.php">Виды услуг</A>
        <caption align="top" ><font SIZE="15" COLOR="#585858"><B><BR><BR><BR>Виды услуг</B><BR></font></caption>    
        <tr bgcolor="white" align="center" >
        <th></th><th>Название</th><th>Продолжительность</th><th>Тип</th><th>Исп. средство</th></tr>    
        <?php 
            $server
='localhost';
            
$user='root';
            
$password='12345678';
            
$namedb 'carwash';
            
$conn mysql_connect($server$user$password); 
            if(!
$conn)
            { 
                echo 
"Соединение не установлено!".mysql_error();
                exit();
            }
            
mysql_select_db($namedb,$conn) or die(mysql_error()."Соединение с БД не установлено!");
            echo 
"<form method='post' action='services.php'>";
            
mysql_query('SET names "utf8"');
            if ((
$_POST['sel']) && ($_POST['del']))
            {
                
$q="delete from type where ID_Type=".$_POST['sel']." ";
                
mysql_query($q) or die(mysql_error());
            }
            if ((
$_POST['save_add']) )
            {    
                
$qclearer="Select ID From clearer where Name='".get_post('list')."'";
                
$rclearermysql_query($qclearer);
                
$rowclearer=mysql_fetch_row($rclearer);
                
$clearer=$rowclearer[0];           
                
$TypeName=get_post('TypeName');
                
$qValue="Select ID From duration where Name='".get_post('list1')."'";
                
$rValuemysql_query($qValue);
                
$rowValue=mysql_fetch_row($rValue);
                
$Value=$rowValue[0];

                
$TypeN=strip_tags(trim($_POST('TypeN')));




           
                if((
$TypeName) && ($Value)&&  ($Value!='Выбрать') && ($TypeN!='Выбрать') && ($clearer) && ($clearer!='Выбрать'))
                {
                    
$q="INSERT INTO `carwash`.`type` (`ID_Type`, `TypeName`, `Value`, `TypeN`, `clearer`) VALUES (NULL, '$TypeName', '$Value', '$TypeN', '$clearer')";
                    
mysql_query($q);
                }
          
          
           
            }
            if((
$_POST['save_upd']))
            {    
                
$qclearer="Select ID From clearer where Name='".get_post('list')."'";
                
$rclearermysql_query($qclearer);
                
$rowclearer=mysql_fetch_row($rclearer);
                
$clearer=$rowclearer[0];           
                
$TypeName=get_post('TypeName');
                
$qValue="Select ID From duration where Name='".get_post('list1')."'";
                
$rValuemysql_query($qValue);
                
$rowValue=mysql_fetch_row($rValue);
                
$Value=$rowValue[0];
                
$TypeName=get_post('TypeName');           
                
$TypeN=get_post('TypeN');                      
                
$q="UPDATE  `carwash`.`type` SET  `TypeName` =  '".$TypeName."',
                `Value` =  '"
.$Value."',
                `TypeN` =  '"
.$TypeN."',
                `clearer` =  '"
.$clearer."' WHERE  `type`.`ID_Type` ='".$_POST['ID']."'";           
                
mysql_query($q);
            }
            
$query="Select * From type";
            
$resultmysql_query($query);
            
$num=mysql_num_rows($result); 
            for(
$i=1;$i<=$num;$i++)
            {
                
$row=mysql_fetch_row($result);
                
$qclearer="Select Name From clearer where ID='".$row['4']."'";
                
$rclearermysql_query($qclearer);
                
$rowclearer=mysql_fetch_row($rclearer);
                
$qValue="Select Name From duration where ID='".$row['2']."'";
                
$rValuemysql_query($qValue);
                
$rowValue=mysql_fetch_row($rValue);

                
$rTypeNmysql_query($qTypeN);
            
                echo 
"<tr><td><input type='radio' name='sel' Value='".$row[0]."'/></td><td>".$row[1]."</td><td>".$rowValue['0']."</td><td>".$row[3]."</td><td>".$rowclearer[0]."</td></tr>";
            }
            echo 
"</table>";
            echo 
"<table border=0 width=40% align=center>";
            echo 
"<td><input type=submit style='background: white' name=add value='Добавить'></td>";
            echo 
"<td><input type=submit style='background: white' name=upd value='Изменить'></td>";
            echo 
"<td><input type=submit style='background: white' name=del value='Удалить' ></td>";
            if ((
$_POST['add']) )
            { 
                echo
"<table border='0' width='40%' align='center' style='margin:0 auto;'>";
                echo 
"<td><pre> Название <input  type=text name=TypeName value=''></pre></td>";
                echo 
"<td><pre> Средство </pre></td>";
                
$q="select * from clearer";
                
$resmysql_query($q);
                
$num=mysql_num_rows($res);
                echo
"<td><select name=list style='background: white'><option value='Выбрать'>Выбрать</option>";
                for(
$i=1;$i<=$num;$i++)
                {
                    
$row=mysql_fetch_array($res);
                    echo
"<option value='".$row['Name']."'>".$row['Name']."</option>";
                }
                echo
"</select></td>";
                echo 
"<td><pre> Продолжительность </pre></td>";
                
$q1="select * from duration";
                echo
"<td><select name=list1 style='background: white'><option value='Выбрать'>Выбрать</option>";
                
$res1mysql_query($q1);
                while(
$row1=mysql_fetch_array($res1))
                {
                    echo
"<option value=".$row1['Name'].">".$row1['Name']."</option>";
                }
                echo
"</select></td>";




echo 
"<td><pre> Тип </pre></td>";
                
                echo
"<select type=text name=TypeN style='background: white'><option value='Выбрать'>Выбрать</option>

<option value='Выбрать'>Наруж</option>
<option value='Выбрать'>Внутр</option>"
;


                echo
"</select></td>";









                echo 
"<td><pre> Тип <input  type=text name=TypeN value=''></pre></td>";
                echo 
"<td><input type=submit style='background: white' name=save_add value='Сохранить'></td>";
            }    
            if ((
$_POST['upd']) && ($_POST['sel']) )  
            {    
                echo
"<table border='0' width='30%' align='center' style='margin:0 auto;'>";
                
$q="select *from type where ID_Type=".$_POST['sel'];    
                
$result=mysql_query($q);
                
$row=mysql_fetch_array($result);
                
$qclearer="Select Name From clearer where ID='".$row['4']."'";
                
$rclearermysql_query($qclearer);
                
$rowclearer=mysql_fetch_row($rclearer);
                
$qValue="Select Name From duration where ID='".$row['2']."'";
                
$rValuemysql_query($qValue);
                
$rowValue=mysql_fetch_row($rValue);
                echo 
"<td><pre>Редактирование <input type=text name=TypeName value='".$row['TypeName']."'></pre>";
                
$q1="select * from clearer";
                
$resmysql_query($q1);
                
$num=mysql_num_rows($res);
                echo
"<td><select name=list style='background: white'><option value='".$rowclearer[0]."'>".$rowclearer[0]."</option>";
                for(
$i=1;$i<=$num;$i++)
                {                
                    
$rowG=mysql_fetch_array($res);
                    if(
$rowclearer[0] != $rowG['Name'])
                    {
                        echo
"<option value='".$rowG['Name']."'>".$rowG['Name']."</option>";
                    }
                }
                
$q2="select * from duration";
                echo
"<td><select name=list1 style='background: white'><option value='".$rowValue['0']."'>".$rowValue['0']."</option>";
                
$res2mysql_query($q2);
                while(
$row2=mysql_fetch_array($res2))
                {
                    if(
$rowValue['0'] != $row2['Name'])
                    {
                        echo
"<option value=".$row2['Name'].">".$row2['Name']."</option>";
                    }
                }
                echo
"</select></td>";
                echo 
"<td><pre><input type=text name=TypeN value='".$row['TypeN']."'></pre></td>";
                echo 
"<td><input type=submit style='background: white' name=save_upd value='Сохранить'></td>";
                echo
"<input type=hidden name=ID value='".$row['ID_Type']."'></td>";
            }
            echo
"</table>";
            echo
"<br><br>";
            echo 
"</form>";
            
mysql_close($conn);
            function 
get_post($var)
            {
                return 
mysql_real_escape_string($_POST[$var]);
            }
        
?>
    </BODY>
</HTML>
Вот код. А конкретно, нужно добавить в БД из списка селект:

PHP код:
                echo"<select type=text name=TypeN style='background: white'><option value='Выбрать'>Выбрать</option>

<option value='Выбрать'>Наруж</option>
<option value='Выбрать'>Внутр</option>"
;


                echo
"</select></td>"
Но почему то ничего не работает. Помогите разобраться пожалуйста. Если вместо селект, инпут написать и просто поле для ввода сделать, то все работает. А с селектом(то есть с выпадающем списком), почему то нет((((
Самое интересное что список то создается, в нем две записи 1 - Наруж, 2 - Внутр. Но когда нажимаю на конпку сохранить, в базе данных не сохраняется информация Наруж Внутр. Это поле просто пустое остается....

Последний раз редактировалось beygul; 31.01.2017 в 01:19.
beygul вне форума Ответить с цитированием
Старый 31.01.2017, 01:27   #2
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

http://phpfaq.ru/debug
В select должны быть разные значения в option value – иначе маразм получается.
Andkorol вне форума Ответить с цитированием
Старый 31.01.2017, 01:42   #3
beygul
Форумчанин
 
Аватар для beygul
 
Регистрация: 15.09.2008
Сообщений: 335
По умолчанию

Цитата:
Сообщение от Andkorol Посмотреть сообщение
http://phpfaq.ru/debug
В select должны быть разные значения в option value – иначе маразм получается.
Поставил разные значения плюс в начале поменял строчку
Код:
$TypeN=strip_tags(trim($_POST('TypeN')));
на
Код:
$TypeN=get_post('TypeN');
Впринципе ничего не изменилось. Я подозреваю что я что то не правильно делаю сдесь:
Код:
                echo"<select type=text name=TypeN style='background: white'><option value='Выбрать'>Выбрать</option>

<option value='Наруж'>Наруж</option>
<option value='Внутр'>Внутр</option>";


                echo"</select></td>";
Но не могу понять конкретно что делаю не так. Опыта мало, В интернете по конкретному примеру информации не нашел. Есть только информация с полем ввода, пробовал, все хорошо работает, а вот с выпадающем списком нет((((
Помогите пожалуйста, ткните носом где косяк?
beygul вне форума Ответить с цитированием
Старый 31.01.2017, 01:51   #4
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

По ссылке же написано, что и как делать при проблемах со SQL-запросами:
– вывести на экран подготовленный запрос;
– вывести на экран текст ошибки запроса – если она есть;
Andkorol вне форума Ответить с цитированием
Старый 31.01.2017, 01:58   #5
beygul
Форумчанин
 
Аватар для beygul
 
Регистрация: 15.09.2008
Сообщений: 335
По умолчанию

Цитата:
Сообщение от Andkorol Посмотреть сообщение
По ссылке же написано, что и как делать при проблемах со SQL-запросами:
– вывести на экран подготовленный запрос;
– вывести на экран текст ошибки запроса – если она есть;
В том то и дело что ошибки никакой не возникает на экране.
Вставил
Код:
var_dump($TypeN);
как и было написано по ссылке, в итоге вышла надпись
Код:
string(0) ""
beygul вне форума Ответить с цитированием
Старый 31.01.2017, 02:06   #6
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от beygul Посмотреть сообщение
Вставил
Код:
var_dump($TypeN);
как и было написано по ссылке, в итоге вышла надпись
Код:
string(0) ""
Ну так здрасьте, влепил в форму два элемента с именем TypeN – а потом удивляемся, и чё это переменная пустая..?!?
Цитата:
Сообщение от beygul Посмотреть сообщение
echo"<select type=text name=TypeN style='background: white'><option value='Выбрать'>Выбрать</option>

<option value='Выбрать'>Наруж</option>
<option value='Выбрать'>Внутр</option>";


echo"</select></td>";


echo "<td><pre> Тип <input type=text name=TypeN value=''></pre></td>";
Andkorol вне форума Ответить с цитированием
Старый 31.01.2017, 02:08   #7
beygul
Форумчанин
 
Аватар для beygul
 
Регистрация: 15.09.2008
Сообщений: 335
По умолчанию

Цитата:
Сообщение от Andkorol Посмотреть сообщение
Ну так здрасьте, влепил в форму два элемента с именем TypeN – а потом удивляемся, и чё это переменная пустая..?!?
Спасибо огромное! Все заработало!
beygul вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с select в php manula PHP 2 02.08.2012 11:31
Проблема PHP+MySQL zircon PHP 3 11.04.2011 13:52
Проблема с кодиовкой? php & mysql Dimon88 PHP 10 12.02.2010 22:55
php + mysql проблема связки Garacio_cain Софт 8 30.11.2009 10:27