php로 SQL쿼리 결과를 그대로 가져오려면 어떻게 해야하죠..?

toold의 이미지

웹상에서 MySQL관리 하는 것을 보면..
textarea에 SQL 쿼리문을 쓰고 실행을 누르면..
화면에 쿼리 결과값이 그대로 출력되던데..
이런건 어떤식으로 구현하는건가요?..
그냥 select 문 같은걸 php로 실행해서 데이터 가져오는건 알겠는데.. 어떤 쿼리든 실행해서 결과값을 가져오려면 어떤식으로 해야하는건지...
부탁드려요...

irondog의 이미지

DB관리 프로그램이라는게 phpmyadmin같은걸 말씀하시는 것 같네요.
결론부터 말씀드리면 가져온 결과값에 맞춰서 웹상의 테이블을 작성하고
뿌려주는거죠.

Quote:
그냥 select 문 같은걸 php로 실행해서 데이터 가져오는건 알겠는데.. 어떤 쿼리든 실행해서 결과값을 가져오려면 어떤식으로 해야하는건지...

이렇게 말씀하신 걸 봐서는 말씀하시는 결과값이라는게 테이블 형태의
출력을 말씀하시는 것 같은데, 앞에서 말씀드렸다시피 DB에서 오는
결과값 자체가 그런 형태인게 아니라 반환된 값을 분석해서 웹상에 테이블
형태로 뿌려주는 겁니다.

비슷한 출력물을 원하시면 phpmyadmin의 소스를 분석하시거나 비슷하게
보이도록 만드셔야죠.

highwind의 이미지

제가 옜날에 심심해서 짠 script입니다. 참고 하시길... ^^;;
(엄청 허접입니다... 알아서 사용 .. --;; )

<html>
<head>
<title>
MySQL Query
</title>
</head>
<body>
<?php

//database에 접속을 한후...
require ('database-mysql.php');    //제 개인용 database에 접속하는 script입니다.

//입력된 쿼리가 있으면
//   쿼리를 다시 출력하고 성공아님 에러 메세지를 뿌림
if (isset($q)) {
?>
Query...<br>
<table width=600 cellpadding=15 cellspacing=0 border=0 style="padding:5px; background-color: black; font-size:8pt; color:00ff00; font-family:courier new">
<tr><td>
<?php
	$q = stripslashes($q);
	$result = db_query($q);
	echo "> " . str_replace("\r\n", "<br>", $q);

	echo "<br><br><hr noshade height=3 color=white><br>";
	if (mysql_errno()) {
		echo mysql_errno() . ": " . mysql_error()."<BR>";
	} else {
		echo "OK: " . mysql_affected_rows() . " affected rows<BR>";
	}
?>
</td></tr></table>
<?php
}
			

//퀴리를 받는 양식
?>
<br>
<form method="post">
Enter Query Here<br>
<textarea name="q" size="80" rows="10" cols="80" class="box" style="padding:5px; background-color: black; font-size:8pt; color:00ff00; font-family:courier new"><?php echo stripslashes($q) ?></textarea><br><br>
<input type="submit" name="submit" value=" Send Query " class="button">
</form>


<hr><br>

<?php
//쿼리가 있었고 select, show, 및 describe query였으면 테이블을 작성해 출력

	if ((substr($q, 0, 6) == "select") || (substr($q, 0, 4) == "show") || ((substr($q, 0, 8) == "describe"))){
		?>
		<table border=0 cellspacing=1 cellpadding=5 bgcolor=white><tr>
		<?php
                       // column field 내역 출력
		for ($i = 0; $i < mysql_num_fields($result); $i++) {
			?>
			<td bgcolor=gray style="font-family:verdana; font-size:10px; color:ffffff;"><b><?php echo mysql_field_name($result, $i)?></b> (<?php echo mysql_field_type($result, $i) ?>)</td>
			<?php
		}

		?></tr><?php


                     //row 데이타 출력
		while ($r = mysql_fetch_row($result)) {
			?> <tr style="font-family:dotum; font-size:12px; color:ffffff;"> <?php
			for ($i = 0; $i < mysql_num_fields($result); $i++) {
				?> <td bgcolor=lightgrey style="color:000000;"> <?php
				echo htmlentities($r[$i]);
				?> </td> <?php
			}
			?> </tr> <?php
		}
	}
?>

</body>
</html>

=====================================
http://timothylive.net

highwind의 이미지

제가 고딩때 짠 코드니까... 벌써 5~6년전이네요..ㅡㅡ;;
쩝...
부끄러워라~

=====================================
http://timothylive.net

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.