PDA

View Full Version : Mysql Queries


SilentK
04-03-2005, 05:34 PM
I am somewhat of a php newbie especially when it comes to connecting to a mysql database and doing queries than using the information from the queries.

Here's what I have setup so far.
The php file looks likes this.
<?php
require_once('./inclu/vars.php');
include('./inclu/main.inc');
?>

the inc file is mainly html so I have my index.php loads it's html from that and ideally it loads all the variables/functions from the vars.php file and I call them in the main.inc file.

Here's what my vars.php file looks like
<?php
$host = "localhost";
$db = "forum";
$user = "";
$pass = "";
$dbconnect = mysql_connect($host, $user, $pass);
mysql_select_db($db, $dbconnect);
$requiretest = "testing to see if the require worked properly and the variables are being passed on"

?>

Also I tested to see if everything was being passed on right by putting this line in the main.inc file <?php print $requiretest; ?> and it worked.

Anyways what I don't really know how setup two mysql queries and than use the information in main.inc

It seems like the information I need is divided into two tables the thread table which has the forumid field (I only want to grab posts from forumid = 11), title and postusername fields.

Than there's the post table which I am guessing I would need to grab stuff from threadid and pagetext fields.

Essentially what I want to do is grab the most recent post in my news forum which has the id of 11 and grab a short excerpt from it.

than for the other query how would I grab the titles of the most recent 10 posts in the same forum just minus the most recent since I already grabbed that.

Thanks in advanced for any help.

Marco van Herwaarden
04-04-2005, 07:36 AM
The easiest way to use vBulletin tables would be to include global.php at the start of your script. No need to worry about setting up a database connection anymore then:
require_once('./global.php');

You can then with code like the following get the information:
$threads = $DB_site->query("
SELECT *
FROM " . TABLE_PREFIX . "thread AS thread
WHERE thread.forumid = 11
ORDER BY dateline DESC
LIMIT 10
");
while ($thread = $DB_site->fetch_array($threads))
{
.....process....
}

SilentK
04-05-2005, 02:15 PM
I am getting a parse error on line twelve.
<?php
require_once('/Library/WebServer/Documents/forums/global.php');

$threads = $DB_site->query("
++++++++SELECT *
++++++++FROM " . TABLE_PREFIX . "thread AS thread
++++++++WHERE thread.forumid = 11
++++++++ORDER BY dateline DESC
++++++++LIMIT 10
++++");
++++while ($thread = $DB_site->fetch_array($threads))
++++{
++++++++.....process....
++++}
?>

The syntax looks alright to me so im not sure what's going on.

*edit* not sure why those plus signs are being put in there, they aren't part of the file it seems that the php vbcode is adding them for some reason.

Colin F
04-05-2005, 02:45 PM
I hope you have something other than ...process... there?

bkbelew
04-27-2005, 01:26 AM
Ok, i have pretty much the same thing as him, im having problems figuring out how to parse the thread contents itself though, heres what i have.. modified w/out the file calls from vb. I want to be able to parse the username, title, and content of the post. But I cant figured out how to do it, any help would be greatly appreciated


<?

$dbUser = "fdsfdsfdsfsd";
$dbPasswd = "794321y";
$dbServer = "localhost";
$dbPort = "3306";
$dbDatabase = "fsdfdsfdsfdsf";

$link = mysql_connect("$dbServer:$dbPort", $dbUser, $dbPasswd);

if (!$link) {
// there was a problem connecting
die("Could not connect to database:" . mysql_error());
}

$rc = mysql_select_db($dbDatabase, $link);

if (!rc) {
// problem selecting database
die("Could not select database:" . mysql_error());
}

$query = ("SELECT * FROM " . "thread AS thread WHERE thread.forumid = 2 ORDER BY dateline DESC LIMIT 10");

$result = mysql_query($query, $link);

if (!$result) {
// there was a problem executing the query
die("Could not execute query:" . mysql_error());
}

while ($row = mysql_fetch_array($result)) {
?>

Title: <? echo $row[title]; ?> <br> User: <? echo $row[postusername]; ?><br> <br />

<?
}

mysql_close($link);

?>

Marco van Herwaarden
04-27-2005, 06:17 AM
And what happens? You get an error, nothing is selected?