Web Hosting Talk







View Full Version : with it no good


ti_nhatrang
08-07-2007, 05:05 AM
Hi guys,

I have 4 sql queries command, but for some reason, with the last one, it doesn't work, but when i take it out, it worksl ike charm... can somebody help me?


<? $lilet_db = mysql_query("SELECT title,threadid,firstpostid,forumid FROM localhost_vbnews.thread WHERE forumid IN $channels AND attach <>0 AND title !='$et[title]' ORDER BY dateline DESC limit 30") or die(mysql_error());
while($lilet = mysql_fetch_array($lilet_db)) {

$lilpost_db = mysql_query("select pagetext from localhost_vbnews.post WHERE postid=$lilet[firstpostid]") or die(mysql_error());
while($lilpost = mysql_fetch_array($lilpost_db)) {
$liletatt_db = mysql_query("SELECT attachmentid,userid FROM localhost_vbnews.attachment WHERE postid=$lilet[firstpostid] ORDER BY dateline DESC limit 1") or die(mysql_error());
while($liletatt = mysql_fetch_array($liletatt_db)) {
$position_db = mysql_query("SELECT pagetext FROM localhost_vbnews.post WHERE threadid=$lilet[threadid] AND title='position' ORDER BY dateline DESC limit 1") or die(mysql_error());
while($position = mysql_fetch_array($position_db)) {

$post = substr($lilpost[pagetext], 0, 98);
$title = substr($lilet[title], 0, 25);
echo " <div class=\"box\"><a href=\"page.php?et=$lilet[firstpostid]&ch=$lilet[forumid]&desc=$liletatt[attachmentid]\" style=\"text-decoration:none;\">
<img src=\"/show_image.php?filename=./images/attach/$liletatt[userid]/$liletatt[attachmentid].attach&pos=$pos&width=243&height=98\" width=\"243\" height=\"98\" alt=\"$lilpost[pagetext]\" /></a>
<h5>$title</h5>
<p>$post</p>
<a href=\"page.php?et=\" style=\"text-decoration:none;\"><img src=\"layout/more.png\" alt=\"$lilet[title]\" width=\"39\" height=\"9\" /></a>
</div>";
} } }


This is the query that throws it off... i'm not sure why :(

The thing for sure is that, not all threads has replies with title "position"... could this be the problem?

Here is the one that I'm having a hard time on

$position_db = mysql_query("SELECT pagetext FROM localhost_vbnews.post WHERE threadid=$lilet[threadid] AND title='position' ORDER BY dateline DESC limit 1") or die(mysql_error());
while($position = mysql_fetch_array($position_db)) {

Thank you in advance.

ti_nhatrang
08-07-2007, 06:21 AM
oh boy, after a few googling... I think I'm really stuck on this one... could it be missing a if then statement within the sql? if so, how would you apply it?

Steve_Arm
08-07-2007, 06:56 AM
You get an error or an empty result set?

ti_nhatrang
08-07-2007, 01:22 PM
empty results for all.

Steve_Arm
08-07-2007, 01:26 PM
That would mean that there is no thread that has title 'position'.

ti_nhatrang
08-07-2007, 01:34 PM
right, not all 30 of them, only 1 of them has it.. how can I say, with or without the thread with title position?

Steve_Arm
08-07-2007, 02:04 PM
If you remove the * AND title = 'position' * you will get one thread but will not have title position, I don't know if this is what you want. Maybe
- AND title = 'position' OR title = ''
- AND title = 'position' OR title LIKE '%'

ti_nhatrang
08-07-2007, 04:23 PM
I just basically want to pull it if it has it, if not, then move on... is that possible?

ti_nhatrang
08-07-2007, 04:28 PM
I tried this:

- AND title = 'position' OR title LIKE '%'

but then, it gives every 30 results the same pagetext from the first results... :( not all threads have a reply title "position"