Попытка вставить данные из раскрывающегося списка в качестве внешнего ключа в другую таблицу.Данные не вставлены - PullRequest
0 голосов
/ 02 июня 2018

Я пытался понять, где моя ошибка, но безуспешно.Я не получаю сообщений об ошибках.Я хочу вставить данные в таблицу поставщиков из формы PHP.id_drugstore является внешним ключом в таблице supplier и может быть выбран из раскрывающегося списка (раскрывающийся список отлично работает ).Другая дата заполняется пользователем, кроме id_supplier.

<?
   error_reporting(-1);
   $conn = mysqli_connect("localhost", "root", "", "retete");
   if(mysqli_connect_errno())
   {
    echo "Nu ma pot conecta la baza de date medical:" .mysqli_connect_error(); 
   }
    if(isset($_POST['submit']){

    $id_drugstore=$_POST['id_drugstore'];
    $name_suplier=$_POST['name_suplier'];
    $country_supplier=$_POST['county_supplier'];
    $county_supplier=$_POST['county_supplier'];
    $town_supplier=$_POST['town_supplier'];
    $street_supplier=$_POST['street_supplier'];
    $bank_suplier=$_POST['bank_suplier'];
    $no_cont_Bank=$_POST['$no_cont_Bank'];

    $qry=mysqli_query("INSERT INTO supplier `VALUES('sss','%$id_drugstore%',$_POST['name_suplier']','$_POST['county_supplier']','$_POST['county_supplier']','$_POST['town_supplier']','$_POST['street_supplier']','$_POST['bank_suplier']','$_POST['$no_cont_Bank']";`
    $inserted=($qry,$conn);
    if($inserted){
    echo "Datele au fost inserate cu suucess";
    }else{
    echo "datele nu au putut fi salvate in baza de date".mysqli_error($conn);
    }
    }
    mysqli_close($conn);
    }
    ?>

    <body>
    <div class="jumbotron">
    <div class="container">
    <h4 class="display-5">Adaugare Furnizori in baza de date</h4>
    <p class="lead">Completati formularul de mai jos</p>
    </div>
    </div>
    <form action="AdaugareFurnizori.php" method="POST">
    <div class="form-row">
    <div class="col-md-2 mb-3">
    <label for="validationServer01">Farmacie</label>
    <select name="name_drugstore">
    <option>Selecteaza farmacie</option>
    <?php
    $conn = mysqli_connect("localhost", "root", "", "retete");
    if(mysqli_connect_errno()){
    echo "Nu ma pot conecta la baza de date medical:".mysqli_connect_error(); 
    }           
    $q=mysqli_query($conn,"SELECT * FROM drugstore")or die(mysqli_error());

    $c=mysqli_num_rows($q);
    if($c==0){
    echo 'Nu exista farmacie in baza de date';
    }else{
    while($row=mysqli_fetch_array($q)){
    $id_drugstore=$row['id_drugstore'];
    $name_drugstore=$row['name_drugstore'];
    echo "<option value='$id_drugstore'>$id_drugstore/$name_drugstore<option>
    }
    }
    mysqli_close($conn);
    ?>
    </select>
    </div>
    </div>
    <div class="form-row">
    <div class="col-md-4 mb-3">
    <label for="validationServer01">Denumire Furnizori</label>
    <input type="text" name="name_suplier" class="form-control is-valid" id = "validationServer01" placeholder="Denumire Furnizor" required>
    </div>
    </div>
    <div class="form-row">
    <div class="col-md-2 mb-3">
    <label for="validationServer02">Tara</label>
    <input type="text" name="country_supplier" class="form-control is-valid" id="validationServer02" placeholder="Tara" required>
    <div class="invalid-feedback">
    Va rugam sa introduceti tara.
    </div>
    </div>
    <div class="col-md-2 mb-3">
    <label for="validationServer03">Judet</label>
    <input type="text" name="county_supplier" class="form-control is-valid" id="validationServer03" placeholder="Judet" required>
    <div class="invalid-feedback">
    Va rugam sa introduceti judetul.
    </div>
    </div>
    <div class="col-md-2 mb-3">
    <label for="validationServer04">Oras</label>
    <input type="text" name="town_supplier"class="form-control is-valid" id="validationServer04" placeholder="Oras" required>
    <div class="invalid-feedback">
    Va rugam sa introduceti orasul.
    </div>
    </div>
    <div class="col-md-2 mb-3">
    <label for="validationServer05">Strada si numar</label>
    <input type="text" name="street_supplier" class="form-control is-valid" id="validationServer05" placeholder="Strada" required>
    <div class="invalid-feedback">
    Va rugam sa introduceti strada.
    </div>
    </div>
    <div class="col-md-2 mb-3">
    <label for="validationServer04">Banca</label>
    <input type="text" name="bank_suplier"class="form-control is-valid" id="validationServer04" placeholder="Denumire Banca" required>
    <div class="invalid-feedback">
    Va rugam sa introduceti banca.
    </div>
    </div>
    <div class="col-md-2 mb-3">
    <label for="validationServer05">Cont</label>
    <input type="text" name="no_cont_Bank" class="form-control is-valid" id="validationServer05" placeholder="Numar Cont" required>
    <div class="invalid-feedback">
    Va rugam sa introduceti numarul contului.
    </div>
    </div>
    <div class="submit">
    <button class="btn btn-primary" type="submit">Submit form</button>
    </div>
    </div>
    </form>

    </body>
    </html> 

Ответы [ 2 ]

0 голосов
/ 02 июня 2018

Этот запрос выглядит странно:

$qry=mysqli_query("INSERT INTO supplier `VALUES('sss','%$id_drugstore%',$_POST['name_suplier']','$_POST['county_supplier']','$_POST['county_supplier']','$_POST['town_supplier']','$_POST['street_supplier']','$_POST['bank_suplier']','$_POST['$no_cont_Bank']";`
  • Удалите галочки `
  • Отсутствует открытие ' перед $_POST['name_suplier']'
  • Все ваши $_POST переменные в этой строке никогда не будут заменены, поместите их в фигурные скобки: {$_POST['name_suplier']}
  • Убедитесь, что там нет опечаток name_suplier против town_supplier
  • Отсутствуетзакрывающая скобка в конце запроса И как закрывающая скобка для mysql_query()

Примечание: в этом INSERT тоже не должно быть списка полей?

0 голосов
/ 02 июня 2018

ваш код должен быть.Если в вашей таблице поставщиков есть все это поле, которое вы собираетесь вставить, то это будет работать нормально, но если вы пропустите какое-либо из полей, mysqli_query не будет работать

$qry="INSERT INTO supplier `VALUES('sss','%$id_drugstore%',$_POST['name_suplier']','$_POST['county_supplier']','$_POST['county_supplier']','$_POST['town_supplier']','$_POST['street_supplier']','$_POST['bank_suplier']','$_POST['$no_cont_Bank']')";

$inserted=mysqli_query($qry,$conn);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...