2014-04-09 5 views
-3

이 코드는 작동하지만 괜찮 으면 좋겠지 만 이런 식으로 코딩하는 더 쉬운 방법이 있는지 궁금해하고 있었습니까?이 PHP 코드를 수행하는보다 효율적인 방법이 있습니까

<?php 
while($rows=mysql_fetch_array($result)){ 
$pid=$rows['id']; 
$d = $rows['date']; 
echo '<style>tr, td {border:0;} #dat{text-align:right;} #co {background-color:#33B533;}  </style>'; 
echo '<div id="postd">'; 
echo '<table id="mdata">'; 
echo '<tr>'; 
echo '<td>'; 
echo '<a href="profile.php?name='; 
echo $rows['name']; 
echo '">' . $rows["name"] . '</a>'; 
echo '</td>'; 
echo '<td id="dat">'; 
echo $result7 = nicetime($d); 
echo '</td>'; 
echo '</tr>'; 
echo '<tr>'; 
echo '<td>'; 
echo $rows['post']; 
echo '</td>'; 
echo '<td id="dat">'; 
echo '<form method="post" action="delete.php">'; 
echo '<input type="hidden" value="'; 
echo $rows['id'] . '" name="id" />'; 
echo '<input id="sub" type="submit" name="delete" value="Delete" />'; 
echo '</form>'; 
echo '<form method="post" action="edit.php">'; 
echo '<input type="hidden" value="'; 
echo $rows['id'] . '" name="id" />'; 
echo '<input id="sub" type="submit" name="edit" value="Edit" />'; 
echo '</form>'; 
echo '</td>'; 
echo '</tr>'; 
echo '<tr>'; 
echo '<td>'; 

$sql9 = "SELECT * FROM `like` WHERE postid='$pid' AND userid='$userid'"; 
$result9=mysql_query($sql9); 

if($result9){ 
echo '<form method="post" action="like.php">'; 
echo '<input type="hidden" value="'; 
echo $rows['id'] . '" name="id" />'; 
echo '<input type="hidden" value="'; 
echo $userid . '" name="nid" />'; 
echo '<input id="sub" type="submit" name="like" value="Like" />'; 
echo '</form>'; 
} 
echo '</td>'; 
echo '<td id="dat">'; 
if ($rows['like'] == 1) { 
echo $rows['like'] . " Like"; 
} else if ($rows['like'] == 0) { 
echo ""; 
} else { 
echo $rows['like'] . " Likes"; 
} 
echo '</td>'; 
echo '</tr>'; 
echo '</table>'; 
echo '</div>'; 

$sql2="SELECT * FROM comments WHERE postid='$pid' ORDER BY date ASC"; 
$result2=mysql_query($sql2); 

while($rows2=mysql_fetch_array($result2)){ 
$c = $rows2['date']; 
echo '<table id="co" border="1px solid black" width="250px" align="center">'; 
echo '<tr>'; 
echo '<td>'; 
echo $rows2['name']; 
echo '</td>'; 
echo '<td id="dat">'; 
echo $result4 = nicetime($c); 
echo '</td>'; 
echo '</tr>'; 
echo '<tr>'; 
echo '<td>'; 
echo $rows2['comment']; 
echo '</td>'; 
echo '</tr>'; 
echo '</table>'; 
} 

echo '<form action="addcomment.php" method="post">'; 
echo '<table id="co" border="1px solid black" width="250px" align="center">'; 
echo '<tr>'; 
echo '<td>'; 
echo '<textarea id="target" type="text" name="com" placeholder="Comment"></textarea>'; 
echo '</td>'; 
echo '<td>'; 
echo '<input type="submit" name="submit" value="Post">'; 
echo '</td>'; 
echo '</tr>'; 
echo '</table>'; 
echo '<input type="hidden" value="'; 
echo $rows['id'] . '" name="id" />'; 
echo '<input type="hidden" name="name" value="Jon" />'; 
echo '</form>'; 

echo '<br/>'; 


} 

?> 

기본적으로 나는 Facebook 유형 시스템을 만들었습니다. 이렇게하면 데이터베이스에 게시 된 순서대로 게시물이 스풀됩니다. http://bockhorst.comeze.com/Wall/wall.php에서 확인하십시오. 아직 진행중인 작업입니다. 또한 누구든지 PHP 압축 프로그램을 알고 있습니까?

+7

이 질문은 codereview.stackexchange.com – Barmar

+0

에 더 적합 할 수 있으므로 주제를 벗어난 것으로 보입니다. 이러한 태그를 모두 별도로 에코 할 필요는 없습니다. 사실, PHP 코드를 실제로 사용하는 경우를 제외하고는 에코없이 PHP 태그 외부에서 HTML을 작성할 수 있습니다. –

+0

그 사이트에 대해 몰랐는데 – jmbockhorst

답변

3

더 효율적인 방법은 코드에 구조와 응집력을 제공하는 적절한 development framework을 사용하는 것입니다. 여기에 SQL, HTML 및 코드 스튜가 있습니다. 이와 같이 작성된 응용 프로그램을 유지 관리하는 것은 매우 어렵습니다.

또한 mysql_query 인터페이스가 오래되었습니다. 제발, 하지마. 끔찍하다. Doctrine 또는 Propel과 같은 일상적인 데이터베이스 인터페이스를 처리하려면 실제로 ORM을 사용해야합니다. 이렇게하면 쿼리를 올바르게 작성하고 SQL에서 모든 응용 프로그램 논리를 직접 렌더링하려고 시도하는 대신 데이터를 다루는 것이 더 쉬워집니다.

SQL을 수동으로 수행 할 때 죽은 경우라면 PDO이 좋습니다.

관련 문제