Hallo,

Ik probeer een lijstje te maken met alle logs van een bepaalde maand...

Alleen het lukt niet echt...

Dit is de code:

<?
require("database.php");
?>

<?
include("database.php");
mysql_connect("$host","$user","$pass");
mysql_select_db("$db");
$sql = "SELECT id,titel,msg,datum FROM nieuws WHERE maand = '$HTTP_GET_VARS[maand]'";
$query = mysql_query($select);
while ($list = mysql_fetch_object($query)){
echo " <a href=\"index.php?p=log&id=$list->id\" class=\"headline\">$list->titel</a><br>";
echo "<span class=\"textheadl\">";

echo "<br><br>@ $list->datum";
echo "</span>";
}
?>

Ik krijg alleen nu een error:

Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /usr/export/www/vhosts/funnetwork/hosting/stefanverkerk/beta/logmaand.php on line 11

Ik probeer het weg te krijgen maar het lukt me niet...

Wat moet ik doen om het goed te krijgen?

Alvast bedankt! =)
Dat duid op een ongeldige query.

Dit is het herschreven script, let op het gebruik van " en ' en ' in []
<?
require_once("database.php");
mysql_connect($host,$user,$pass);
mysql_select_db($db);
$sql = "SELECT id,titel,msg,datum FROM nieuws WHERE maand = '". $HTTP_GET_VARS['maand'] ."'";
$query = mysql_query($sql);
while ($list = mysql_fetch_object($query)){
echo " <a href=\"index.php?p=log&id=".$list->id."\" class=\"headline\">".$list->titel. "</a><br>";
echo "<span class=\"textheadl\">";

echo "<br><br>@ ". $list->datum;
echo "</span>";
}
?>
Ik blijf nogsteeds het zelfde probleem houden...

De orginele code is eigenlijk dit:

<?

// Hoeveel nieuwsitems moeten er worden geshowd?
$aantal = "5";

// Laatste nieuwsitems worden geshowed, de layout kan nog worden aangepast

include("database.php");

mysql_connect("$host","$user","$pass");
mysql_select_db("$db");

$select="SELECT * FROM nieuws ORDER BY id DESC limit $aantal";
$query = mysql_query($select);

echo "<p><b>- Laatste 5 Nieuwsberichten</b></p>";

while ($list = mysql_fetch_object($query)) {
echo "<p>[$list->datum] <b>$list->titel </b><br>";
echo "$list->msg</p><br><br><a href=\"nieuws.php?id=$list->id\">Reageer</a>";
}

?>

Alleen heb ik daar het afbreken er uit gehaald natuurlijk (dus heel het 'bericht' weg) alleen de titel en datum moeten nog overblijfen en het moet uit een bepaalde maand komen die je dan in de url aangeeft (logmaand.php?maand=10)

Hoe werkt het wel?

alvast bedankt.. =)
while ($list =

ff vraagje :)

moet dat niet zijn

while ($list <

Of kan dat met = ook dat hij tot en met pakt ofzo?
$list < werkt juist niet
Wat dacht je van een paar debug echo's of print's er tussen te zette? Of anders een wat nettere errormelding met die()
Dan kom je er sneller achter wat het probleem is.
$HTTP_GET_VARS[maand]
Kan ook met
$_GET['maand']
En hoe ziet je formulier eruit?
Dit lijkt er meer op:

<?php
include("database.php");
mysql_connect("$host","$user","$pass");
mysql_select_db("$db");


$sqlmaand = $_GET['maand'];
$sql = "SELECT * FROM nieuws WHERE maand = '" . $sqlmaand . "'";

$query = mysql_query($sql);
$list = mysql_fetch_array($query);
foreach($list as $list){
echo " <a href=\"index.php?p=log&id=$list->id\" class=\"headline\">$list->titel</a><br>";
echo "<span class=\"textheadl\">";

echo "<br><br>@ $list->datum";
echo "</span>";
};
?>

Waarchijnlijk werkt het niet want de array is meer-dimensionaal maar het is een voorbeeld. (met typfouten inbegrepen)

php.net geeft ook veel informatie.

altijd echo $var; gebruiken,
niet echo "$var";

altijd echo "bluuuub ".$var." bluuub";
en niet echo "bluuuub $var bluuub";

zeker met objecten en arrays kom je daar zeer erg mee in de problemen.
je kan jezelf het programmeren beter in één keer goed aanleren ;)
Sebastiaan schreef op 25.10.2005 08:47

altijd echo "bluuuub ".$var." bluuub";
en niet echo "bluuuub $var bluuub";


en dan nog liever 'bluuuub' . $var . 'bluuub';
(Geen dubbele quotes als het niet nodig is)

Overigens: je mag een multidimensionale array best tussen dubbele quotes schrijven, als je er dan maar accolades omheen zet.

<?php
// dit is toegestaan:
echo "Dit is een array: {$array[$i][$j]}";
?>

Ik zeg niet dat je het zo moet doen, het is maar dat je weet dat het *kan*.

Reageren