<html>
<head>
<title>dbase</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
Hallo,
Ik heb een script in elkaar gedraaid waarbij de webcams uit een database over 3 kolommen worden weergegeven.
Nu lukt het mij niet een selectbox te maken waarbij ik een land kan selecteren en dat dan de webcams van dat land uit de databse worden gehaald en conform de beschreven indeling wordt verdeeld over de pagina.
Wie weet een oplossing?
<body>
<?php
$dbhost = 'localhost';
$dbuser = 'admin';
$dbpass = 'pass';
$dbname = 'webcams';
$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ('Error connecting to mysql');
mysql_select_db($dbname);
// how many columns
$columns = 3;
// how many rows to show per page
$rowsPerPage = 3;
// by default we show first page
$pageNum = 1;
// if $_GET['page'] defined, use it as page number
if(isset($_GET['page']))
{
$pageNum = $_GET['page'];
}
// counting the offset
$offset = ($pageNum - 1) * $rowsPerPage;
$query = "SELECT * FROM sionvalais ORDER BY resort LIMIT $offset, $rowsPerPage";
$result = mysql_query($query) or die('Error, query failed');
$numrows = mysql_num_rows($result);
echo "<TABLE BORDER=\"0\">\n";
//changed this to a for loop so we can use the number of rows
for($i = 0; $i < $numrows; $i++) {
$row = mysql_fetch_array($result);
if($i % $columns == 0) {
//if there is no remainder, we want to start a new row
echo "<TR>\n";
}
echo "<TD><a href=" . $row['image'] . "><img src=" . $row['image'] . " /></a> <br />" . $row['resort'] . "<br />" . $row['country'] . " </TD>\n";
if(($i % $columns) == ($columns - 1) || ($i + 1) == $num_rows) {
//if there is a remainder of 1, end the row
//or if there is nothing left in our result set, end the row
echo "</TR>\n";
}
}
echo "</TABLE>\n";
// how many rows we have in database
$query = "SELECT COUNT(*) AS numrows FROM sionvalais";
$result = mysql_query($query) or die('Error, query failed');
$row = mysql_fetch_array($result, MYSQL_ASSOC);
$numrows = $row['numrows'];
// how many pages we have when using paging?
$maxPage = ceil($numrows/$rowsPerPage);
$self = $_SERVER['PHP_SELF'];
// creating 'previous' and 'next' link
// plus 'first page' and 'last page' link
// print 'previous' link only if we're not
// on page one
if ($pageNum > 1)
{
$page = $pageNum - 1;
$prev = " <a href=\"$self?page=$page\">[Prev]</a> ";
$first = " <a href=\"$self?page=1\">[First Page]</a> ";
}
else
{
$prev = ' [Prev] '; // we're on page one, don't enable 'previous' link
$first = ' [First Page] '; // nor 'first page' link
}
// print 'next' link only if we're not
// on the last page
if ($pageNum < $maxPage)
{
$page = $pageNum + 1;
$next = " <a href=\"$self?page=$page\">[Next]</a> ";
$last = " <a href=\"$self?page=$maxPage\">[Last Page]</a> ";
}
else
{
$next = ' [Next] '; // we're on the last page, don't enable 'next' link
$last = ' [Last Page] '; // nor 'last page' link
}
// print the page navigation link
echo $first . $prev . " Showing page <strong>$pageNum</strong> of <strong>$maxPage</strong> pages " . $next . $last;
// Number of rows
echo $numrows;
echo "webcams in database";
echo "<br /><br />";
enhanced_list_box(array(
'table' => 'sionvalais',
'id_field' => 'id',
'value_field' => 'country',
'highlight_id' => 4));
function enhanced_list_box($options){
$sql = "select " . $options['id_field'];
$sql .= ", " . $options['value_field'];
$sql .= " from " . $options['table'];
/* append any where criteria to the sql */
if(isset($options['where_statement'])) {
$sql .= " where " . $options['where_statement'] ;
}
/* set the sort order of the list */
$sql .= " order by " . $options['value_field'];
$result = mysql_query($sql)
or die("error in SQL");
echo '<select name="', $options['id_field'], '" size="1">';
while ($row = mysql_fetch_array($result, MYSQL_NUM))
{
if($row[0] == $options['highlight_id']) {
echo '<option value="', $row[0], '" SELECTED>',
$row[1], '</option>';
} else {
echo '<option value="', $row[0], '">',
$row[1], '</option>';
}
}
echo '</select>';
}
// Close db connection
mysql_close($conn);
?>
</body>
</html>
970 views