2012-06-22 4 views
0

데이터베이스에서 동적 행을 가져 왔습니다. 각 행에는 순서 필드가 있습니다. 사용자가 각 행 옆에있는 텍스트 상자에 주문을 입력하여 주문을 변경할 수있게하고 싶습니다. 사용자가 각 행을 저장하면 새 주문으로 업데이트됩니다.여러 텍스트 상자를 PHP로 처리합니다.

<table> 
    <? 
    foreach($results as $p) 
    { 
     echo ' 
      <tr> 
      <td>'.$p['page_title'].'</td> 
      <td><input type="text" size="2" id="'.$p['page_id'].'" name="s[]" value="'.$p['menu_order'].'"></td> 
     </tr>'; 
    } 
    ?> 
    <tr><td colspan="2"><input type="submit" value="Save Order"></td></tr> 
    </table> 

당신이 모든 동적 텍스트 상자 형태 을 게시 한 후 새로운 질서를 줄 것이라고 볼 수 있지만 질문 나는 이것을 알 수있는 방법이다 : 나는이 코드를 쓸 때

내 문제입니다 어떤 행을 주문 하시겠습니까?

이미지가 더 자세히 설명됩니다. 내가 저장을 클릭 한 후 s 배열은 다음과 같이 될 것이다 :

배열 ([0] => 2 1 => 3 [2] => 1) 그러나

, 내가 원하는 페이지를 알 수 없다 업데이트 !! enter image description here

+0

은 "상담자가이 순서있는 행을 알 수있는 방법인가?" – BugFinder

+0

그래서 배열 (S)에 새로운 주문이있는 배열이 있어야합니까? 그러나, 나는이 질서가 무엇에 속한 것인지 모른다. – Othman

+0

위의 이미지를 볼 수 있습니까? – Othman

답변

2

당신이 물어 보는 부분은 할당 된 번호로 필드를 정렬하는 방법입니다. 이것이 당신이하고자하는 일이라면 MySQL을 사용하여이 데이터를 저장하고 있다면이 순서대로 검색 할 수 있습니다. 예를 들면 :

SELECT * FROM mytable ORDER BY menu_order ASC 

편집 : 지금 내가 가진 것을 당신은 또한 각 행에 순서를 할당하는 방법을 질문 할 수있는 질문을 다시 읽어보십시오. 귀하의 필드 이름이 s[] 인 것으로 나타났습니다.이 사람들의 이름을 $p['page_id']으로하고 적절하게 업데이트 할 수 있습니다.

<? 
    foreach($results as $p) 
    { 
     echo ' 
      <tr> 
      <td>'.$p['page_title'].'</td> 
      <td><input type="text" size="2" id="'.$p['page_id'].'" name="s['.$p['page_id'].']" value="'.$p['menu_order'].'"></td> 
     </tr>'; 
    } 
    ?> 

그리고 난 당신이 무슨 뜻인지 잘 모릅니다 다음

foreach($_POST['s'] as $key => $value) { 
    // Update each $key with $value 
    // Where $key is the ID and $value is the order 
} 
+0

고맙습니다 만, 배열's'의 주문은 새로운 주문을 받게 될 것입니다. 그러나, 나는 새로운 순서로 그것을 업데이트 할 수 있도록 menu_id를 찾을 방법을 찾지 못했습니다. – Othman

+0

필요한 것을하기 위해이 내용을 업데이트했습니다. –

+0

정확히 내가 원했던 것. 고마워요 : D – Othman

관련 문제