이 시나리오가 있습니다.PHP와 MySQL, 2 개의 키와 연관된 배열
입력 한 $ groupid = "1"; 의
기본 테이블
----------------------
| groupid | postid |
|---------------------|
| 1 | 1 |
| 2 | 2 |
| 1 | 3 |
$query = "SELECT postid FROM `mainl` WHERE groupid='$groupid'";
$result = mysql_query($query);
// a group of postids belonging to that groupid which should hold [1, 3] for groupid=1
while($row = mysql_fetch_array($result)) {
$postids[] = $row["postid"];
}
두 번째 테이블
-------------------------------------------
| postid | commentid | comment |
-------------------------------------------
| 1 | 1 | testing 1 |
| 1 | 2 | testing 2 |
| 1 | 3 | what? |
| 2 | 1 | hello |
| 2 | 2 | hello world |
| 3 | 1 | test 3 |
| 3 | 2 | begin |
| 3 | 3 | why? |
| 3 | 4 | shows |
$query = "SELECT * FROM `second`";
$result = mysql_query($query);
while ($row = mysql_fetch_array($result)) {
if (in_array($row["postid"], $postids)) {
$comments[$row["postid"]] = $row["comment"];
하지만 어떻게해야주의
내가 postid 배열이 [1,3]
로와 내 댓글 배열이 원하는 주석 [commentid: comment] [1:testing1, 2: testing2, 3: what?]
(postid=1
)(210) 및 postid=3
에 대한
[1:test3, 2:begin, 3: why? 4:shows]
방법 commentid 및 postid과 관련된 모든 것을 같은 주석을 준비해야 하는가?
SELECT * FROM second as second_tab LEFT join main as main_table ON main_table.post_id=second_table.post_id WHERE main_table.group_id="3"
는 글쎄 지금은 테스트하지하지만 방법은 문제의 일부를 먹으 렴 해결하기 위해 : 당신은 하나 개의 문장을 수 있도록
mysql_ * 함수는 더 이상 사용해서는 안되며, php는 mysql 데이터베이스에 액세스하기 위해보다 새롭고, 빠르고 안전한 버전을 가지고 있습니다. mysqli_ * 함수가 사용되어야한다. 더 많은 정보와 구문은 여기에서 찾을 수 있습니다. http://php.net/manual/en/mysqli.query.php –
그는 무엇을 사용해야합니까? 나는 PHP 매뉴얼에서 정보를 찾으려고했지만 아무 것도 찾을 수 없었다. –
SQL JOIN 문 – codingbiz