1
hallo jörg, ich habe in meiner site verschiedene ergebnisseiten die noch eine seitennavigation benötigen. eine der ergebnisseiten bzw die datenbankabfrage der seite schaut wie folgt aus:
ich habe im internet dann diese seitennavigation gefunden:
auf meiner seite wird gleich am anfang eine verbindung zur datenbank hergestellt. dann kann ich doch die datenbankanbindung in der navigation (fett) weglassen, oder?
die nächste frage wäre dann wie ich diese navigation mit meiner abfrage der datenbank verbine? mache ich das mit $extVariables (fett) und wenn ja wie müsste dann &var1=wert1&var2=wert2 aussehen?
<?php require_once('Connections/Eingabe.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
if (PHP_VERSION < 6) {
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
}
$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
switch ($theType) {
case 'text':
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}
$maxRows_R1 = 10;
$pageNum_R1 = 0;
if (isset($_GET['pageNum_R1'])) {
$pageNum_R1 = $_GET['pageNum_R1'];
}
$startRow_R1 = $pageNum_R1 * $maxRows_R1;
mysql_select_db($database_Eingabe, $Eingabe);
$query_R1 = "SELECT Eingabe.id, Eingabe.abfahrtsort, Eingabe.zielort, DATE_FORMAT(Eingabe.datum, '%d.%m.%Y') AS datum_formatiert, TIME_FORMAT(Eingabe.zeit, '%H:%i') AS zeit_formatiert, IF(Eingabe.zeit = '00:00:00', 1, 0) AS bar, Eingabe.hinfahrtladeflaeche, Eingabe.hilfeeinausladen, Eingabe.rueckfahrt, Eingabe.rueckfahrtladeflaeche, Eingabe.beschreibung, Eingabe.preis, Eingabe.marke, Eingabe.model, Eingabe.laderaumhoehe, Eingabe.laderaumbreite, Eingabe.laderaumlaenge, Eingabe.laderaumvolumen, Eingabe.treibstoff, Eingabe.getriebe, Eingabe.tempo, Eingabe.nutzername, Eingabe.passwort, Eingabe.mail, Eingabe.handy, Eingabe.tel FROM Eingabe
WHERE ";
$colname_R1 = "KEIN EINTRAG";
if (isset($_POST['abfahrtsort']) && $_POST['abfahrtsort'] != 'Abfahrtsort') {
$query_R1 .= " abfahrtsort = " . GetSQLValueString($_POST['abfahrtsort'], 'text') . " AND ";
}
if (isset($_POST['zielort']) && $_POST['zielort'] != 'Zielort') {
$query_R1 .= " zielort = " . GetSQLValueString($_POST['zielort'], 'text') . " AND ";
}
if (isset($_POST['tag'], $_POST['jahr'], $_POST['monat']) && $_POST['tag'] != '-' && $_POST['jahr'] != '-' && $_POST['monat'] != '-') {
$query_R1 .= " datum >= '" . sprintf("%04d-%02d-%02d", $_POST['jahr'], $_POST['monat'], $_POST['tag']) . "' AND ";
} else {
$query_R1 .= " datum >= '" . date("Y-m-d") . "' AND ";
}
if (isset($_POST['stunde'], $_POST['minute']) && $_POST['stunde'] != '-' && $_POST['minute'] != '-') {
$query_R1 .= " (zeit >= '" . sprintf("%02d:%02d", $_POST['stunde'], $_POST['minute']) . "' OR zeit = '00:00:00') AND ";
}
if (isset($_POST['hinfahrtladeflaeche']) && $_POST['hinfahrtladeflaeche'] != 'Angaben zur Ladefläche') {
$query_R1 .= " hinfahrtladeflaeche = " . GetSQLValueString($_POST['hinfahrtladeflaeche'], 'text') . " AND ";
}
if (isset($_POST['hilfeeinausladen']) && $_POST['hilfeeinausladen'] != '-') {
$query_R1 .= " (hilfeeinausladen = " . GetSQLValueString($_POST['hilfeeinausladen'], 'text') . " OR hilfeeinausladen Like '-') AND ";
}
if (isset($_POST['rueckfahrt']) && $_POST['rueckfahrt'] != '-') {
$query_R1 .= " (rueckfahrt = " . GetSQLValueString($_POST['rueckfahrt'], 'text') . " OR rueckfahrt Like '-') AND ";
}
if (isset($_POST['rueckfahrtladeflaeche']) && $_POST['rueckfahrtladeflaeche'] != 'K.A. zur Ladefläche') {
$query_R1 .= " (rueckfahrtladeflaeche = " . GetSQLValueString($_POST['rueckfahrtladeflaeche'], 'text') . " OR rueckfahrtladeflaeche Like 'K.A. zur Ladefläche') AND ";
}
if (isset($_POST['marke']) && $_POST['marke'] != '') {
$query_R1 .= " (marke LIKE '%" . mysql_real_escape_string($_POST['marke']) . "%' OR marke IS NULL) AND ";
}
if (isset($_POST['model']) && $_POST['model'] != '') {
$query_R1 .= " (model LIKE '%" . mysql_real_escape_string($_POST['model']) . "%' OR model IS NULL) AND ";
}
if (isset($_POST['laderaumhoehe']) && $_POST['laderaumhoehe'] != '') {
$query_R1 .= " (laderaumhoehe >= " . GetSQLValueString(str_replace(',', '.', $_POST['laderaumhoehe']), 'double') . " OR laderaumhoehe IS NULL) AND ";
}
if (isset($_POST['laderaumbreite']) && $_POST['laderaumbreite'] != '') {
$query_R1 .= " (laderaumbreite >= " . GetSQLValueString(str_replace(',', '.', $_POST['laderaumbreite']), 'double') . " OR laderaumbreite IS NULL) AND ";
}
if (isset($_POST['laderaumlaenge']) && $_POST['laderaumlaenge'] != '') {
$query_R1 .= " (laderaumlaenge >= " . GetSQLValueString(str_replace(',', '.', $_POST['laderaumlaenge']), 'double') . " OR laderaumlaenge IS NULL) AND ";
}
if (isset($_POST['laderaumvolumen']) && $_POST['laderaumvolumen'] != '') {
$query_R1 .= " (laderaumvolumen >= " . GetSQLValueString(str_replace(',', '.', $_POST['laderaumvolumen']), 'double') . " OR laderaumvolumen IS NULL) AND ";
}
if (isset($_POST['treibstoff']) && $_POST['treibstoff'] != '-') {
$query_R1 .= " (treibstoff = " . GetSQLValueString($_POST['treibstoff'], 'text') . " OR treibstoff IS NULL) AND ";
}
if (isset($_POST['getriebe']) && $_POST['getriebe'] != '-') {
$query_R1 .= " (getriebe = " . GetSQLValueString($_POST['getriebe'], 'text') . " OR getriebe IS NULL) AND ";
}
$query_R1 .= "1 ORDER BY Eingabe.datum, bar, Eingabe.zeit, Eingabe.laderaumlaenge DESC, Eingabe.laderaumbreite DESC, Eingabe.laderaumhoehe DESC, Eingabe.laderaumvolumen DESC, Eingabe.treibstoff DESC, Eingabe.getriebe DESC";
$query_limit_R1 = sprintf("%s LIMIT %d, %d", $query_R1, $startRow_R1, $maxRows_R1);
$R1 = mysql_query($query_limit_R1, $Eingabe) or die(mysql_error());
$row_R1 = mysql_fetch_assoc($R1);
if (isset($_GET['totalRows_R1'])) {
$totalRows_R1 = $_GET['totalRows_R1'];
} else {
$all_R1 = mysql_query($query_R1);
$totalRows_R1 = mysql_num_rows($all_R1);
}
$totalPages_R1 = ceil($totalRows_R1/$maxRows_R1)-1;
$currentPage = $_SERVER["PHP_SELF"];
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
if (PHP_VERSION < 6) {
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
}
$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}
$maxRows_R1 = 10;
$pageNum_R1 = 0;
if (isset($_GET['pageNum_R1'])) {
$pageNum_R1 = $_GET['pageNum_R1'];
}
$startRow_R1 = $pageNum_R1 * $maxRows_R1;
$colname6_R1 = "NULL";
if (isset($_POST['minute'])) {
$colname6_R1 = $_POST['minute'];
}
$colname7_R1 = "NULL";
if (isset($_POST['hinfahrtladeflaeche'])) {
$colname7_R1 = $_POST['hinfahrtladeflaeche'];
}
$colname5_R1 = "NULL";
if (isset($_POST['stunde'])) {
$colname5_R1 = $_POST['stunde'];
}
$colname_R1 = "KEIN EINTRAG";
if (isset($_POST['abfahrtsort'])) {
$colname_R1 = $_POST['abfahrtsort'];
}
$colname1_R1 = "KEIN EINTRAG";
if (isset($_POST['zielort'])) {
$colname1_R1 = $_POST['zielort'];
}
$colname2_R1 = "NULL";
if (isset($_POST['tag'])) {
$colname2_R1 = $_POST['tag'];
}
$colname3_R1 = "NULL";
if (isset($_POST['monat'])) {
$colname3_R1 = $_POST['monat'];
}
$colname4_R1 = "NULL";
if (isset($_POST['jahr'])) {
$colname4_R1 = $_POST['jahr'];
}
$colname8_R1 = "NULL";
if (isset($_POST['hilfeeinausladen'])) {
$colname8_R1 = $_POST['hilfeeinausladen'];
}
$colname9_R1 = "NULL";
if (isset($_POST['rueckfahrt'])) {
$colname9_R1 = $_POST['rueckfahrt'];
}
$colname10_R1 = "NULL";
if (isset($_POST['rueckfahrtladeflaeche'])) {
$colname10_R1 = $_POST['rueckfahrtladeflaeche'];
}
$colname11_R1 = "NULL";
if (isset($_POST['marke'])) {
$colname11_R1 = $_POST['marke'];
}
$colname12_R1 = "NULL";
if (isset($_POST['model'])) {
$colname12_R1 = $_POST['model'];
}
$colname13_R1 = "NULL";
if (isset($_POST['laderaumhoehe'])) {
$colname13_R1 = $_POST['laderaumhoehe'];
}
$colname14_R1 = "NULL";
if (isset($_POST['laderaumbreite'])) {
$colname14_R1 = $_POST['laderaumbreite'];
}
$colname15_R1 = "NULL";
if (isset($_POST['laderaumlaenge'])) {
$colname15_R1 = $_POST['laderaumlaenge'];
}
$colname16_R1 = "NULL";
if (isset($_POST['laderaumvolumen'])) {
$colname16_R1 = $_POST['laderaumvolumen'];
}
$colname17_R1 = "NULL";
if (isset($_POST['treibstoff'])) {
$colname17_R1 = $_POST['treibstoff'];
}
$colname18_R1 = "NULL";
if (isset($_POST['getriebe'])) {
$colname18_R1 = $_POST['getriebe'];
}
$queryString_R1 = "";
if (!empty($_SERVER['QUERY_STRING'])) {
$params = explode("&", $_SERVER['QUERY_STRING']);
$newParams = array();
foreach ($params as $param) {
if (stristr($param, "pageNum_R1") == false &&
stristr($param, "totalRows_R1") == false) {
array_push($newParams, $param);
}
}
if (count($newParams) != 0) {
$queryString_R1 = "&" . htmlentities(implode("&", $newParams));
}
}
$queryString_R1 = sprintf("&totalRows_R1=%d%s", $totalRows_R1, $queryString_R1);
?>
ich habe im internet dann diese seitennavigation gefunden:
<?PHP
define("MAX_EINTRAEGE",10);
define("NAV_LEISTE",11);
define("DB_HOST","hostname");
define("DB_NAME","db-name");
define("DB_USER","User");
define("DB_PASS","Passwort");
$db = @MYSQL_CONNECT(DB_HOST,DB_USER,DB_PASS) or die("Datenbank-Connect fehlgeschlagen");
$db_check = @MYSQL_SELECT_DB(DB_NAME) or die("Datenbank momentan nicht erreichbar");
function navigationsLeiste($SitesComplete,$seiteAktuell,$extVariables){
$NavCeil = floor(NAV_LEISTE / 2);
if($seiteAktuell > 1){
$string .= '<a href="?site=1'.$extVariables.'"><<</a> ';
$string .= '<a href="?site='.($seiteAktuell-1).$extVariables.'"><</a> ';
}
for($x=$seiteAktuell-$NavCeil;$x<=$seiteAktuell+$NavCeil;$x++){
if(($x>0 && $x<$seiteAktuell) || ($x>$seiteAktuell && $x<=$SitesComplete))
$string .= '<a href="?site='.$x.$extVariables.'">'.$x.'</a> ';
if($x==$seiteAktuell)
$string .= $x . ' ';
}
if($seiteAktuell < $SitesComplete){
$string .= '<a href="?site='.($seiteAktuell+1).$extVariables.'">></a> ';
$string .= '<a href="?site='.$SitesComplete.$extVariables.'">>></a> ';
}
return $string;
}
$seiteAktuell = $_GET['site'] + 0;
if(empty($seiteAktuell))
$seiteAktuell = 1;
$start = $seiteAktuell * MAX_EINTRAEGE - MAX_EINTRAEGE;
$result = @mysql_query("SELECT * FROM statistik_pageviews LIMIT $start, ".MAX_EINTRAEGE);
$resultGesamt = @mysql_query("SELECT COUNT(*) AS menge FROM statistik_pageviews");
$Eintraege = @mysql_result($resultGesamt,0,"menge");
while($row = @mysql_fetch_row($result)){
$contentWeb .= $row[0] . ' -- ' . $row[1] . '<br>';
}
$contentWeb .= '<div align="center">';
$SitesComplete = ceil($Eintraege / MAX_EINTRAEGE);
$contentWeb .= 'Ergebnisseite ' . $seiteAktuell . ' von ' . $SitesComplete . '<br>';
$extVariables = '&var1=wert1&var2=wert2';
$contentWeb .= navigationsLeiste($SitesComplete,$seiteAktuell,$extVariables);
$contentWeb .= '</div>';
echo $contentWeb;
?>
auf meiner seite wird gleich am anfang eine verbindung zur datenbank hergestellt. dann kann ich doch die datenbankanbindung in der navigation (fett) weglassen, oder?
die nächste frage wäre dann wie ich diese navigation mit meiner abfrage der datenbank verbine? mache ich das mit $extVariables (fett) und wenn ja wie müsste dann &var1=wert1&var2=wert2 aussehen?