2013-05-02 3 views
0

Im implode를 사용하여 while 루프에 여러 행을 삽입하려고 시도했지만 작동하지 않는 것처럼 보입니다. Pls 도움. "weight"라는 이름의 여러 값을 삽입하고 싶습니다. 값 30,20,15,10,5와 나머지 emp_id 및 task_id와 같습니다. 초보자 인 것에 대해 용서해주세요. 아직도 배우고있는 Im.PHP - while 루프에 여러 행 넣기

page1.php

$sql = mysql_query("SELECT 
        task_tbl.task_id, 
        task_tbl.task_name, 
        task_tbl.task_sem, 
        task_tbl.task_yr, 
        task_tbl.post_id, 
        post_tbl.post_id, 
        post_tbl.post_name AS ppost_name 
        FROM 
        task_tbl 
        LEFT JOIN 
        post_tbl 
        ON 
        task_tbl.post_id = post_tbl.post_id 
        WHERE 
        task_sem = '$sem' 
        AND 
        task_yr = '$yr' 
        ORDER BY 
        task_id ASC"); 

echo '<form action = "upds_peval.php" name = "add" method = "post">'; 

while($row = mysql_fetch_assoc($sql)){ 

     echo "<br/>"; 
     echo "<b>Employee ID No.:</b>"; 
     echo '<input size = "2" type = "text" name = "emp_id'.$id.'" value = "'; 
     echo $_POST['emp_id']; 
     echo '"/>'; 
     echo "<br/>"; 
     echo "<b>Work/Activity ID No.:</b> "; 
     echo '<input size = "2" type = "text" name = "task_id'.$row['task_id'].'" value = "'; 
     echo $row['task_id']; 
     echo '"/>'; 
     echo "<br/>"; 
     echo "<b>Work/Activity:</b> "; 
     echo $row['task_name']; 
     echo "<br/>"; 
     echo "<b>Weight:</b> "; 
     echo '<input size = "1" type="text" name="weight" value = ""/>'; 
     echo "%"; 
     echo "<br/>"; 

     } 

     echo '<input type="submit" name="submit" value="ADD"/>'; 
     echo "</form>"; 

출력이 될 것 같은 :

직원 ID 번호 : 1001 작업/활동 ID 번호 : 2002 작업/활동 : 감독 유지 관리 및 컴퓨터의 문제 해결 무게 : [__] %

직원 ID 번호 : 1001 작업/활동 ID 번호 : 2003 작업/활동 : 소프트웨어 설치된의 감독하지 lation 및 유지 관리 무게 : [__] %

직원 ID 번호 : 1001 작업/활동 ID 번호 : 2004 작업/활동 : 모니터, 유지 및 가상 터미널을 무게 관련 문제 발생시 이러한 문제를 해결 : [__] %

없습니다

| 제출 당신은 잘못 $ _POST 배열을 다루는, 그래서보다는 스크립트가 이것을 시도 코딩하는

mysql_connect ("localhost", "root","") or die (mysql_error()); 
    mysql_select_db ("emp_db0"); 

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


    $vals=implode(",",$_POST); 

    error_reporting(E_ALL^E_NOTICE); 

    mysql_query("INSERT INTO peval_tbl(weight,task_id,emp_id) VALUES('$vals')"); 
    echo "<br/>"; 
    echo "You have successfully added work/activities!"; 
    echo "<br/>"; 
    } 
+0

이 출력은해야하지만, 당신은 무엇을 얻고있다 유 사용 EMP_ID의 첫 번째 인스턴스에 액세스 할 수? 아무것도? 잘못된 출력입니까? –

+0

'$ _POST [ 'weight']'의 값을 어떤 변수에 할당합니까? 어떤 값이'$ _POST'에 의해'$ vals = implode (",", $ _ POST)'문장에 포함되어 있습니까? –

+0

왜 내파를 사용하고 있습니까? $ _ POST [ 'emp_id']. " ' – shapeshifter

답변

1

질문에 대한 내 인상을 기반으로 올바른 이름을 가진 모든 인스턴스에 액세스 할 수있는 확장 가능한 양식을 원하십니까? 양식 샘플의

1 인스턴스 :

<input size = "2" type = "text" name = "emp_id[]" value = "1"> 
<input size = "2" type = "text" name = "task_id[]" value = "5001"> 
<input size = "2" type = "text" name = "weight[]" value = "50"> 

2 인스턴스 샘플 :

$var_emp_id = $_POST["emp_id"]; 
$var_task_id = $_POST["task_id"]; 
$var_weight_id = $_POST["weight"]; 

사용 :

<input size = "2" type = "text" name = "emp_id[]" value = "2"> 
<input size = "2" type = "text" name = "task_id[]" value = "5003"> 
<input size = "2" type = "text" name = "weight[]" value = "30"> 

액세스 배열로 게시물을 변환합니다 루프 해당 변수에 액세스하십시오.

$var_emp_id[0]; //will output 1 
$var_emp_id[1]; //will output 2 

$var_task_id[0]; //will output 5001 
$var_task_id[1]; //will output 5003 

데이터베이스에 삽입하기 :

for ($i = 0; $i <= count($var_emp_id); $i++){ 
    mysql_query("INSERT INTO peval_tbl(weight,task_id,emp_id) VALUES('$weight[$i]','$var_task_id[$i]','$var_emp_id[$i]')"); 
} 
+0

tnx 많은 친구 ... 그것은 매력처럼 일했습니다! ~에 환호! – raziel2101

+0

np :),하지만 당신의 쿼리에 대해 PDO 나 mysqli를 사용하는 것이 좋습니다. mysql_query는 이미 가치가 떨어졌습니다. – Viscocent

0

page2.php. 데이터는 $ _POST을에 도착하는 방법 당신이 볼 수 있도록

는 포스트 배열의 좋은 인쇄를 덤프 것없이 mysql_connect

echo '<pre>' . print_r($_POST,true) . '</pre>'; 

이 전에 page2.php에서 코드이 줄을 추가합니다.

+0

TNX .. 나만이 – raziel2101

+0

'어레이 ( [EMP_ID] => 1,001 [task_id5001] => 5001 [중량] => 90 [task_id5002] => 5002 [task_id5003] => 5003 을 [있어 task_id5004] => 5004 [task_id5005] => 5005 [task_id5006] => 5006 [task_id5009] => 5009 [] =>이 )' – raziel2101

+0

이름 "wieght"를 추가 제출 틀리다. tsk. 어떻게 하나씩 전화를 걸어 그들을 모두 삽입합니까? – raziel2101

-2
$sql = "select * from login where nombre !='carlos'"; 
$result = $conn->query($sql); 
$index = 1; 
while($row = mysqli_fetch_array($result)){ 
    $valor = $row["nombre"]; 
    $valor2 = $row["apellido"]; 
    $insertsql= "insert into lista (`dato1`,`dato2`)values ('$valor', now())"; 
    // mysql_query($insertsql); 
    $conn->query($insertsql); 
    $index++; 
} 

http://www.baulphp.com/insertar-multiples-registros-ciclo-while-php/