2015-07-31 6 views
0

Я пытаюсь вставить в свою базу данных вход, предоставленный пользователем, вместе с идентификатором. Однако я не могу этого сделать. Может быть, я ухожу, может быть, я рядом, но я просто хочу научиться, как это сделать. Любая помощь, пожалуйста?Вставьте вход в базу данных

$options = ''; 
    $filter=mysql_query("select id from employees WHERE Status='Employed '"); 
    while($row = mysql_fetch_array($filter)) { 
     $options .="<option>" . $row['id'] . "</option>"; 
    } 
    $menu="<form id='filter' name='filter' method='post' action=''> 
    id : <select name='filter' id='filter' style='color:grey;'>" . $options . "</select> 
    hours: <input type='text' name='Hours' style=' padding: 10px;border: solid 2px #c9c9c9; width:50px; height:2px;'> 
    <input type='submit' name='submit' value='Submit' style='width:80px; height:30px; text-align:center; padding:0px;'> 
    </form> 
    <br> 
    "; 


if(isset($_POST['submit'])){ 

    $hours = $_POST['Hours']; 
    $sql="INSERT INTO `editedworkhours` (`id`, `Note`, `WH`, `DeductedWH`) VALUES('$options',NULL,'$ahours',NULL)"; 
} 
echo $menu; 
+0

Я бы порекомендовал вам не вызывать 'mysql_ *' заявления, поскольку они устарели, а также где вы выполняете свой оператор '$ sql'? Вы можете попробовать «PDO» с интерфейсом OOP. – Ikari

ответ

1

Существует ошибка в вашем случае условие

if(isset($_POST['submit'])){ 

     $addedhours = //fetched variable from the post data 
     $options = //fetched variable from the post data 
      $sql="INSERT INTO `editedworkhours` (`AFNumber`, `Note`, `AddedWH`, `DeductedWH`) VALUES('$options',NULL,'$addedhours',NULL)"; 
      $getResult =mysql_query($sql); 
      if(mysql_affected_rows() > 0) 
      { 
        // do something 
      } 
      else{ 
        // do something 
      } 
    } 

Если вы хотите вставить только в выбранных полях, то вы можете удалить лишние поля из запроса. Как ...

$sql="INSERT INTO `editedworkhours` (`AFNumber`,`AddedWH`) VALUES('$options','$addedhours')"; 

И убедитесь, что все переменные не пустые .. вы можете отлаживать запрос. Как ...

echo $sql; 
    exit; 

и скопируйте этот запрос, вставьте его в область SQL и проверьте его. Вернет ли он какие-либо данные или нет.

Good Luck [ '}

+0

что делает КРП (mysql_affected_rows()> 0) { // сделать что-то } еще { // сделать что-то } часть предполагают, чтобы сделать? – dan

+0

он вернет затронутые строки последним запросом, это наш запрос на вставку, и вы можете управлять действием или дать соответствующий ответ пользователю, вставлен ли он успешно или нет. ['} –

+0

Я все еще не могу вставить. – dan

0

Помимо (среди других проблем) тот факт, что вы на самом деле, на самом деле не должны использовать mysql_ * функции больше: Ближе к концу вашего фрагмента кода вы создаете запрос. Но вы никогда его не исполняете. Вот почему он не работает.

Смежные вопросы