2013-06-05 5 views
2
<?php 
    session_start(); 
    include "config.php"; 
    if(isset($_POST['sub'])) { 
     if(!empty($_POST["column"])) { 
       $a = $_POST['column']; // column name 

    } else { 
       $a =""; 
       echo "please click on the right input"; 
    } 
    $r="select '".$a."' , count(*) as '".$a."' from emc_leadgen group by '".$a."' "; 
    $t=mysql_query($r); 
    if (!$t) 
    { 
     $message = 'ERROR:' . mysql_error(); 
     return $message; 
    } 
    else 
    { 
     $i = 0; 
     ?> 
    <html xmlns:o="urn:schemas-microsoft-com:office:office" 
    xmlns:x="urn:schemas-microsoft-com:office:excel" 
    xmlns="http://www.w3.org/TR/REC-html40"> 
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    <html> 
    <head> 
    WELCOME <?=$_SESSION['user']?></br> 
    <title> emc promo 1</title> 
    <meta http-equiv="Content-type" content="text/html;charset=utf-8" /> 
    </head> 
    <body> 
    <?PHP 
     echo '<html><body><table><tr>'; 
     while ($i < mysql_num_fields($t)) 
     { 
      $meta = mysql_fetch_field($t); 
      echo '<td>' . $meta->name . '</td>'; 
      $i = $i + 1; 
     } 
     echo '</tr>'; 

     $i = 0; 
     while ($row = mysql_fetch_row($t)) 
     { 
      echo '<tr>'; 
      $count = count($row); 
      echo $count; 
      $y = 0; 
      while ($y < $count) 
      { 
       $c_row = current($row); 
       echo '<td>' . $c_row . '</td>'; 
       echo "</br>"; 
       next($row); 
       $y = $y + 1; 
      } 
      echo '</tr>'; 
      $i = $i + 1; 
     } 
     echo '</table></body></html>'; 
     mysql_free_result($t); 
    } 

    }{echo "there is no data";}*/ 
    } 
    ?``> 
    </body> 
    </html> 

// 내 쿼리에서 COUNT를 (를) 사용하고 있습니다. 내 결과에 배열 형식이 표시되지만 데이터베이스에서 고유 한 값이 필요합니다. 데이터베이스에서 값의 어떤을 계산하지 않고 나는이 결과를 필요 아래에 쓴 것처럼 다음을 표시합니다 뉴 델리 = 4 란치 = 2 파리 다밧 = 3 하지만 무엇입니까 도시 = 9 //데이터베이스에서 모든 값을 계산하십시오.

+0

y를 반드시 업데이트하십시오. 매개 변수화 된 쿼리를 사용하여 SQL 주입 공격을 방지하는 코드 http://stackoverflow.com/questions/60174/how-to-prevent-sql-injection-in-php –

+0

데이터베이스 구조를보고 정확하게 예상되는 결과를 알고 있으면 좋을 것입니다. – Brewal

답변

0

데이터를 더 잘 이해할 수 있도록 데이터베이스 구조를 넣을 수 있습니까? 이 출력 실제 행과 'ROW_NUMBER'라는 컬럼을 것

SELECT a.name, @curRow := @curRow + 1 AS row_number FROM contacts a JOIN (SELECT @curRow := 0) r 

:

나는이 일을해야 값이 데이터베이스에 앉아있는 행 번호를 취득하고자하는 바로 생각하고있는 경우 수 - (난 그냥 그것을 밖으로 시도 실행 한 로컬 데이터베이스를 사용했다)

편집 :

도시와 사용자를 반환이 쿼리는 그 도시 할당 카운트

:

SELECT city.name, COUNT(*) AS user_count FROM users INNER JOIN city ON users.city = city.id GROUP BY city 

내가 시험을 다음과 않았다 같이

$conn = mysqli_connect('localhost', 'root', 'root', 'test'); 
$query = mysqli_query($conn, "SELECT city.name, COUNT(*) AS user_count FROM users INNER JOIN city ON users.city = city.id GROUP BY city"); 
print '<ul>'; 
while($row = mysqli_fetch_array($query)): 
    print '<li>'.$row['name'].' - Users = '.$row['user_count'].'</li>'; 
endwhile; 
print '</ul>'; 

다음이 출력 :

  • 런던 - 사용자 =
  • 1 사우 샘프 턴 - 사용자 = 3
  • 맨체스터 - 사용자 = 2
+0

아니오, 필요합니다. 값이 열에 몇 번 올지 알고 싶습니다 ............ 예를 들어 데이터베이스에는 열 이름 (도시)이 있습니다 ........... 룬치, faridabad gurgoan, noida 등 다른 도시에서 사용자의 다른 유형 ............... 나는 얼마나 많은 사용자가 새로운 델리, ranchi, faridabad에서 오는 지 알고 싶다, gurgoan etc ...............이 결과는 다음과 같이 표시됩니다. ........................................................................................................................................................... = 2 .................... 행 번호를 원하지 않음 –

+0

한 가지 더 알고 싶습니다.이 질문은 이전 질문과 관련이 없습니다 .... ................. 데이터를 가져 오는 함수를 사용하고 있습니다 .......... arrray 형식입니다 ......... . 그리고 나는 FOREACH를 사용하여 T를 얻고있다. 그는 값과 열 이름을 ............ 내 문제는이게 어떻게 내 배열 형식을 테이블 형식으로 바꿀 수 있습니까? ................. 그래서 열 이름을 먼저 각각의 필드에 자신의 가치를 –

+0

정말 좋은 도움을 주셔서 감사합니다 ............... 위대한 일을하고있는 UR –

관련 문제