Две заявки към DB

peiN

Registered
Взимам ид на топиците ($cat_id=(int)$_GET['id']; ), как мога да взема ид-то на post_id от таблицата 'posts'?

Когато напиша:
PHP:
$cat_id=(int)$_GET['id'];
$post_id=(int)$_GET['post_id'];
..и стойността на post_id винаги е 0.
 
peiN каза:
Styl3rbg каза:
PHP:
SELECT * FROM posts WHRE cat_id='$id'
?

Не, не трябва ми за 'информация в url'.
Пример:
PHP:
http://localhost/tema.php?cat='.$cat_id.'&post_id='.$post_id.'
PHP:
$post_id  = $_GET['post_id'];
$cat_id  = $_GET['cat'];
echo "Вие сте в тема с ID: $post_id и е в категория $cat_id";
Така ?
 
Не, виж сега. То изкарва ид-то на категорията, но не и на post.

PHP:
http://localhost/tema.php?cat=1&post_id='.$post_id.'
 
peiN каза:
Не, виж сега. То изкарва ид-то на категорията, но не и на post.

PHP:
http://localhost/tema.php?cat=1&post_id='.$post_id.'
Какво се мъчиш да направиш?
 
nom3r1 каза:
http://localhost/tema.php?cat=1&post_id=2

<?php
$cat_id = $_GET['cat'];
$post_id = $_GET['post_id'];
echo "$cat_id , $post_id";
?>
Аз съм му дал същото, но той явно не разбира много много и горе пише '.$post_id.', а то трябва да е числото или по-точно id-то на мнението/темата/статията и др.
 
Styl3rbg каза:
nom3r1 каза:
http://localhost/tema.php?cat=1&post_id=2

<?php
$cat_id = $_GET['cat'];
$post_id = $_GET['post_id'];
echo "$cat_id , $post_id";
?>
Аз съм му дал същото, но той явно не разбира много много и горе пише '.$post_id.', а то трябва да е числото или по-точно id-то на мнението/темата/статията и др.

Мхм, ако беше толкова елементарно нямаше да искам помощ.


Това ми е кода:
PHP:
<?php
session_start();
include 'config.php';
db_connect();
$rs1=run_q('SELECT * FROM posts WHERE post_id='.$post_id);
$post_id=(int)$_GET['post_id'];
$cat_id=(int)$_GET['id'];
if($cat_id>0 || $post_id>0)
{
$rs=run_q('SELECT name,active FROM cats WHERE cat_id='.$cat_id.' AND active=1');
if(mysql_num_rows($rs)==1)
{
	$row=mysql_fetch_assoc($rs);
	site_title($row['name']);
	if($_SESSION['is_logged']===true)
	{
		echo '<div id="topic_menu"><a href="posting.php?id='.$cat_id.'"><img src="img/new_thread.png"></a></div>';
	}
	
	$rs=run_q('SELECT COUNT(*) as cnt FROM posts WHERE cat_id='.$cat_id);
	$row=mysql_fetch_assoc($rs);
	$max_cunt=$row['cnt'];
	$limit=5;
	if((int)$_GET['page'])
	{
		$page=(int)$_GET['page']-1;
	}
	else
	{
		$page=0;
	}	
	$max_page=ceil($max_cunt/$limit);
	
	echo '<div id="posts">';
	$rs=run_q('SELECT * FROM posts as p,users as u WHERE cat_id='.$cat_id.' AND p.added_by=u.user_id ORDER BY p.date_added DESC LIMIT '.($limit*$page).','.$limit);
	echo mysql_error();
	while($row=mysql_fetch_assoc($rs))
	{
		echo '<div class="group_cat">';
		echo '<div class="r'.($n++%2).'"><a href="viewtheared.php?cat='.$cat_id.'&post_id='.$post_id.'">'.$row['title'].'</a>  <div class="author">От:'.$row['login'].' <br /> '.date('d/j/Y G:ia',$row['date_added']).'</div></div></div>';
		echo $post_id;

	}
	echo '</div>';
	echo '';
	for($i=0;$i<$max_page;$i++)
	{
		if($i==$page)
		{
			echo ($i+1).'  |  ';
		}
		else
		{
			echo '<div class="pages"><a href="topic.php?id='.$cat_id.'&page='.($i+1).'">'.($i+1).'</div>| </a>';
		}
		
	}
	if($page<($max_page-1))
	{
	echo '<a href="topic.php?id='.$cat_id.'&page='.($page+2).'">Next</a>';
	}
	site_footer();
}	
	else
	{
		
	}
}
?>

Правилното трябва да е:

Код:
localhost/test.php?cat=8&post_id=13

..в момента е

Код:
localhost/test.php?cat=8&post_id=0
 
PHP:
<?php
session_start();
include 'functions.php';
db_init();
$post_id=(int)$_GET['post_id'];
$cat_id=(int)$_GET['id'];
$rs1=run_q('SELECT * FROM posts WHERE post_id='.$post_id);
if($cat_id>0 || $post_id>0)
{
$rs=run_q('SELECT name,active FROM cats WHERE cat_id='.$cat_id.' AND active=1');
if(mysql_num_rows($rs)==1)
{
        $row=mysql_fetch_assoc($rs);
        site_title($row['name']);
        if($_SESSION['is_logged']===true)
        {
                echo '<div id="topic_menu"><a href="posting.php?id='.$cat_id.'"><img src="img/new_thread.png"></a></div>';
        }
        
        $rs=run_q('SELECT COUNT(*) as cnt FROM posts WHERE cat_id='.$cat_id);
        $row=mysql_fetch_assoc($rs);
        $max_cunt=$row['cnt'];
        $limit=5;
        if((int)$_GET['page'])
        {
                $page=(int)$_GET['page']-1;
        }
        else
        {
                $page=0;
        }       
        $max_page=ceil($max_cunt/$limit);
        
        echo '<div id="posts">';
        $rs=run_q('SELECT * FROM posts as p,users as u WHERE cat_id='.$cat_id.' AND p.added_by=u.user_id ORDER BY p.date_added DESC LIMIT '.($limit*$page).','.$limit);
        echo mysql_error();
        while($row=mysql_fetch_assoc($rs))
        {
                echo '<div class="group_cat">';
                echo '<div class="r'.($n++%2).'"><a href="viewtheared.php?cat='.$cat_id.'&post_id='.$post_id.'">'.$row['title'].'</a>  <div class="author">От:'.$row['login'].' <br /> '.date('d/j/Y G:ia',$row['date_added']).'</div></div></div>';
                echo $post_id;

        }
        echo '</div>';
        echo '';
        for($i=0;$i<$max_page;$i++)
        {
                if($i==$page)
                {
                        echo ($i+1).'  |  ';
                }
                else
                {
                        echo '<div class="pages"><a href="topic.php?id='.$cat_id.'&page='.($i+1).'">'.($i+1).'</div>| </a>';
                }
                
        }
        if($page<($max_page-1))
        {
        echo '<a href="topic.php?id='.$cat_id.'&page='.($page+2).'">Next</a>';
        }
        site_footer();
}       
        else
        {
                
        }
}
?>
 
PHP:
<?php
session_start();
include 'functions.php';
db_init();
$post_id=$_GET['post_id'];
$rs1=run_q('SELECT * FROM posts WHERE post_id='.$post_id);
$cat_id=$_GET['id'];
if($cat_id>0 || $post_id>0)
{
$rs=run_q('SELECT name,active FROM cats WHERE cat_id='.$cat_id.' AND active=1');
if(mysql_num_rows($rs)==1)
{
        $row=mysql_fetch_assoc($rs);
        site_title($row['name']);
        if($_SESSION['is_logged']===true)
        {
                echo '<div id="topic_menu"><a href="posting.php?id='.$cat_id.'"><img src="img/new_thread.png"></a></div>';
        }
        
        $rs=run_q('SELECT COUNT(*) as cnt FROM posts WHERE cat_id='.$cat_id);
        $row=mysql_fetch_assoc($rs);
        $max_cunt=$row['cnt'];
        $limit=5;
        if($_GET['page'])
        {
                $page=$_GET['page']-1;
        }
        else
        {
                $page=0;
        }       
        $max_page=ceil($max_cunt/$limit);
        
        echo '<div id="posts">';
        $rs=run_q('SELECT * FROM posts as p,users as u WHERE cat_id='.$cat_id.' AND p.added_by=u.user_id ORDER BY p.date_added DESC LIMIT '.($limit*$page).','.$limit);
        echo mysql_error();
        while($row=mysql_fetch_assoc($rs))
        {
                echo '<div class="group_cat">';
                echo '<div class="r'.($n++%2).'"><a href="viewtheared.php?cat='.$cat_id.'&post_id='.$post_id.'">'.$row['title'].'</a>  <div class="author">От:'.$row['login'].' <br /> '.date('d/j/Y G:ia',$row['date_added']).'</div></div></div>';
                echo $post_id;

        }
        echo '</div>';
        echo '';
        for($i=0;$i<$max_page;$i++)
        {
                if($i==$page)
                {
                        echo ($i+1).'  |  ';
                }
                else
                {
                        echo '<div class="pages"><a href="topic.php?id='.$cat_id.'&page='.($i+1).'">'.($i+1).'</div>| </a>';
                }
                
        }
        if($page<($max_page-1))
        {
        echo '<a href="topic.php?id='.$cat_id.'&page='.($page+2).'">Next</a>';
        }
        site_footer();
}       
        else
        {
                
        }
}
?>
 
Копирай ми к'в резултат ти вади т'ва POST_ID в момента.

Код:
<?php
session_start();
include 'config.php';
db_connect();
$post_id = (int)$_GET['post_id'];
$cat_id = (int)$_GET['id'];
echo "<h1>POST_ID: $post_id</h1>";
if($cat_id>0 || $post_id>0){
$rs1=run_q('SELECT * FROM posts WHERE post_id='.$post_id.'');
$rs=run_q('SELECT name,active FROM cats WHERE cat_id='.$cat_id.' AND active=1');
if(mysql_num_rows($rs)==1){
        $row=mysql_fetch_assoc($rs);
        site_title($row['name']);
        if($_SESSION['is_logged']===true){
                echo '<div id="topic_menu"><a href="posting.php?id='.$cat_id.'"><img src="img/new_thread.png"></a></div>';
        }
        
        $rs=run_q('SELECT COUNT(*) as cnt FROM posts WHERE cat_id='.$cat_id);
        $row=mysql_fetch_assoc($rs);
        $max_cunt=$row['cnt'];
        $limit=5;
        if((int)$_GET['page']){
                $page=(int)$_GET['page']-1;
        }
        else
        {
                $page=0;
        }       
        $max_page=ceil($max_cunt/$limit);
        
        echo '<div id="posts">';
        $rs=run_q('SELECT * FROM posts as p,users as u WHERE cat_id='.$cat_id.' AND p.added_by=u.user_id ORDER BY p.date_added DESC LIMIT '.($limit*$page).','.$limit);
        echo mysql_error();
        while($row=mysql_fetch_assoc($rs))   {
                echo '<div class="group_cat">';
                echo '<div class="r'.($n++%2).'"><a href="viewtheared.php?cat='.$cat_id.'&post_id='.$post_id.'">'.$row['title'].'</a>  <div class="author">От:'.$row['login'].' <br /> '.date('d/j/Y G:ia',$row['date_added']).'</div></div></div>';
                echo $post_id;

        }
        echo '</div>';
        echo '';
        for($i=0;$i<$max_page;$i++)  {
                if($i==$page)
                {
                        echo ($i+1).'  |  ';
                }
                else
                {
                        echo '<div class="pages"><a href="topic.php?id='.$cat_id.'&page='.($i+1).'">'.($i+1).'</div>| </a>';
                }
                
        }
        if($page<($max_page-1)) {
        echo '<a href="topic.php?id='.$cat_id.'&page='.($page+2).'">Next</a>';
        }
        site_footer();
}       
        else{
                
        }
}
?>
 
Имам чувството, 'щото т'ва не ти е целия код на страницата или имаш няк'в друг код, който пречи да взимаш
$post_id = (int)$_GET['post_id'];

Я махни (int) и пробвай пак. . Най-вероятно има нещо, което не е число и ти връща резултат 0
 
peiN обясни пак отначало какво искаш по-подробно, опиши как трябва да върви логиката.

peiN каза:
Взимам ид на топиците ($cat_id=(int)$_GET['id']; ), как мога да взема ид-то на post_id от таблицата 'posts'?

Когато напиша:
PHP:
$cat_id=(int)$_GET['id'];
$post_id=(int)$_GET['post_id'];
..и стойността на post_id винаги е 0.

Така разбирам, че $cat_id го взимаш от уеб адреса, а пък post_id искаш да го изкараш от mysql. По-долу пишеш пример, че и $post_id се опитваш да го вземеш от адреса? Дай един примерен адрес и кажи кое с кое е свързано.

После даваш код, в който пишеш заявка към mysql с $post_id преди да е зададена някаква стойност на $post_id.
 

Back
Горе