0
이것은 내 작업에서 사용하지 않기 때문에 PHP에서의 첫 번째 단계입니다. 데이터베이스 테이블에 데이터를 추가 할 양식을 준비하고 싶습니다.While 루프에서 PHP IF 문은 true 값을 한 번만 반환합니다.
<?php
require "init.php";
$marina_id=$_POST["marina_id"];
$b_cor=$_POST["b_cor"];
$size=$_POST["size"];
$available_place=$_POST["available_place"];
$l_cor=$_POST["l_cor"];
$is_open=$_POST["is_open"];
$description=$_POST["description"];
$sql= "insert into marinas (marina_id, b_cor, l_cor, size, available_place, is_open, description) values('$marina_id', '$b_cor', '$l_cor', '$size', '$available_place', '$is_open', '$description');";
if (mysqli_query($con, $sql))
{
echo "values were added";
} else {
echo "values were not added";
}
$count = 0;
while ($count<$size)
{
if ($count<$available_place) {
$isavailable = 1;
$accesscode = "";
} else {
$isavailable = 0;
$accesscode = "abcdefgh";
}
$dock_id=(string)$marina_id."0".(string)$count;
$nullObject="";
$sql2= "insert into places (
place_id,
b_cor, l_cor,
is_available,
plan,
depth,
width,
length,
description,
marina_id,
access_code,
reserved_from,
reserved_to,
last_update) values (
'$dock_id',
'$b_cor',
'$l_cor',
'$isavailable',
'$nullObject',
'$nullObject',
'$nullObject',
'$nullObject',
'$nullObject',
'$marina_id',
'$accesscode',
'$nullObject',
'$nullObject',
'$nullObject');";
if (mysqli_query($con, $sql2)) //$con comes from init.php
{
echo "complete.";
} else {
echo "something wrong with data.";
}
$count = $count+1;
}
?>
내 생각의 크기 값이 같은 데이터 장소에 테이블로 많은 시간과 여분의 행을 추가 선착장 테이블에 데이터 행을 삽입하는 것이었다하고 "크기"값을 기반으로 : 나는이 코드 조각을 준비 . while 루프를 사용했지만 $ sql2에 대한 IF 문은 한 번만 true를 반환하고 왜 그런지 알지 못합니다. 나에게 코드 로직은 괜찮은 것처럼 보이고 일부 데이터가 추가되었다. 광산과 같은 솔루션에 대한 PHP의 제한 사항이 있습니까?
* $ dock_id = (string) $ marina_id. "0". (string) $ count; *가 place_id 값을 고유하지 않게 만드는 이유는 무엇입니까? 정수 값과 문자열을 연결하는 올바른 방법이 아닌가요? – Darek
또 다른 방법은 정수를 따옴표로 묶는 것입니다. $ foo = 5; $ foo = "$ foo" echo를 입력하여 쿼리를 인쇄하십시오. –
Francesco 정말 고마워요. 당신이 말했듯이, 독특한 열쇠에 문제가있었습니다. DB 구성 중에 실수로 place_id 대신 marina_id에 'unique'을 설정했습니다. – Darek