PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Suchformular mit dynamischer Seitenanzeige


erniedd
09.08.2009, 20:24:40
Hallo :-) ich möchte gerne eine dynamische navigatigionsleiste in meine seite einbauen, ich habe ein scrypt (http://www.selfphp.de/kochbuch/kochbuch.php?code=32):

<?PHP

// Wieviel Einträge pro Seite sollen dargestellt werden?
define("MAX_EINTRAEGE",10);

// Wieviel Seitenzahlen in der Navigationsleiste angezeigt werden. Ausgabe kann sein
// << < 2 3 4 5 6 7 8 9 10 11 12 > >>
// Die Berechnung erfolgt nur für ungerade Zahlen!!!
define("NAV_LEISTE",11);

// Definiert die Parameter für den Datenbank Connect
define("DB_HOST","localhost"); // MySQL hostname
define("DB_NAME","test"); //MySQL db-name
define("DB_USER","phost136983"); //MySQL User
define("DB_PASS","******"); // MySQL Passwort

// Datenbank Connect herstellen
$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");


/**
* Erstellt die Navigationsleiste für die einzelnen Seiten
*
* @param integer $SitesComplete Breite des Bildes
* @param integer $seiteAktuell Höhe des Bildes
* @param string $extVariables Zeiger auf das Bild
*
* @return string
*/
function navigationsLeiste($SitesComplete,$seiteAktuell,$extVariables){

// Die Menge der angezeigten Links für die Seiten werden errechnet
$NavCeil = floor(NAV_LEISTE / 2);

// Eine Seite zurück oder zum Anfang nur anzeigen, wenn mindestens eine Seite zurück
// geblättert werden kann
if($seiteAktuell > 1){
$string .= '<a href="?site=1'.$extVariables.'"><<</a>&nbsp;&nbsp;';
$string .= '<a href="?site='.($seiteAktuell-1).$extVariables.'"><</a>&nbsp;&nbsp;';
}

// Baut die Seitennavigation aúf (1 2 3 4 5 6 ... n)
for($x=$seiteAktuell-$NavCeil;$x<=$seiteAktuell+$NavCeil;$x++){
// Alle Seitenzahlen vor und nach der aktuellen Seite verlinken
if(($x>0 && $x<$seiteAktuell) || ($x>$seiteAktuell && $x<=$SitesComplete))
$string .= '<a href="?site='.$x.$extVariables.'">'.$x.'</a>&nbsp;&nbsp;';

// Die Seitenzahl der aktuellen Seite nicht verlinken
if($x==$seiteAktuell)
$string .= $x . '&nbsp;&nbsp;';
}

// Eine Seite vor oder zum Ende nur anzeigen, wenn mindestens eine Seite weiter
// geblättert werden kann
if($seiteAktuell < $SitesComplete){
$string .= '<a href="?site='.($seiteAktuell+1).$extVariables.'">></a>&nbsp;&nbsp;';
$string .= '<a href="?site='.$SitesComplete.$extVariables.'">>></a>&nbsp;&nbsp;';
}

return $string;

}

// Die aktuell angeforderte Seite
$seiteAktuell = $_GET['site'] + 0;

// Falls noch keine Seitenzahl übergeben wurde, den Wert auf die erste Seite setzen
if(empty($seiteAktuell))
$seiteAktuell = 1;

// Berechnet die nächsten Eintraege aus MAX_EINTRAEGE
$start = $seiteAktuell * MAX_EINTRAEGE - MAX_EINTRAEGE;

// Holt die aktuellen Datensätze aus - define("MAX_EINTRAEGE",10)
$result = @mysql_query("SELECT * FROM statistik_pageviews LIMIT $start, ".MAX_EINTRAEGE);

// Ermittelt die Gesamtzahl der Datensätze
$resultGesamt = @mysql_query("SELECT COUNT(*) AS menge FROM statistik_pageviews");
$Eintraege = @mysql_result($resultGesamt,0,"menge");

// Ausgabe der Seite
while($row = @mysql_fetch_row($result)){
// Hier findet die Ausgabe des Seiteninhalts statt
$contentWeb .= $row[0] . ' -- ' . $row[1] . '<br>';
}

$contentWeb .= '<div align="center">';

// Errechnet die kompletten Seiten
$SitesComplete = ceil($Eintraege / MAX_EINTRAEGE);

// Ergebnisseite x von y anzeigen
$contentWeb .= 'Ergebnisseite ' . $seiteAktuell . ' von ' . $SitesComplete . '<br>';

// Weitere Variablen den Seitenzahlem mit übergeben in Form:
// &var1=wert1&var2=wert2
$extVariables = '&var1=wert1&var2=wert2';

// Navigation mit in Ausgabe einfügen
$contentWeb .= navigationsLeiste($SitesComplete,$seiteAktuell,$extVariables);

$contentWeb .= '</div>';

echo $contentWeb;

?>

habs ausprobiert funktioniert, jetzt möchte ich dieses scrypt in meinen code einbauen

<?php require_once('Connections/verbindung.php');

mysql_query("SET NAMES 'utf8'");
mysql_query("SET CHARACTER SET utf8");


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;
}
}

mysql_select_db($database_verbindung, $verbindung);
if($_POST['eingabe']=="")
{
echo "<b>Bitte geben Sie ein Suchwort ein.</b>";
}
else
{
$eingabe=$_POST['eingabe'];
$eingabe_array = explode(' ',$eingabe);
$query_Recordset1 = 'SELECT `tblspieledatenbank`.`int_spiel_id`, `tblspieledatenbank`.`str_spiel_name`,`tblspieledatenbank`.`txt_beschr eibung`, `tblhersteller`.`str_hersteller_name`, `tblbetriebsystem`.`str_betriebsystem_name` FROM `tblspieledatenbank` LEFT JOIN `tblhersteller` ON `tblspieledatenbank`.`int_hersteller_id` = `tblhersteller`.`int_hersteller_id` LEFT JOIN `tblbetriebsystem` ON `tblspieledatenbank`.`int_betriebsystem_id` = `tblbetriebsystem`.`int_betriebsystem_id` where ';
for($i=0; $i<count($eingabe_array); $i++)
{
$query_Recordset1 .= "txt_beschreibung like '%".$eingabe_array[$i]."%' or str_spiel_name like '%".$eingabe_array[$i]."%' ";
if($i<count($eingabe_array)-1)
$query_Recordset1 .= ' and ';
}


$Recordset1 = mysql_query($query_Recordset1, $verbindung) or die(mysql_error());
$totalRows_Recordset1 = mysql_num_rows($Recordset1);
if($totalRows_Recordset1 == 0)
echo "Leider keine Treffer. Bitte geben Sie einen anderen Suchbegriff ein";
else
{

while($row_Recordset1 = mysql_fetch_assoc($Recordset1))
{
?>



<table border="0" align="center" cellpadding="3" cellspacing="3">
<tr>
<td bgcolor="#BEBBFF" class="fettgross">Name</td>
<td bgcolor="#BEBBFF" class="fettgross">Hersteller</td>
<td bgcolor="#BEBBFF" class="fettgross">Betriebsystem</td>
<td bgcolor="#BEBBFF" class="fettgross">Beschreibung</td>
</tr>

<tr>
<td height="52" nowrap="nowrap" bgcolor="#EAEAEA"><a href="db/Genre/detail.php?recordID=<?php echo $row_Recordset1['int_spiel_id']; ?>" class="bluelink"><strong><?php echo $row_Recordset1['str_spiel_name']; ?></strong></a></td>
<td bgcolor="#EAEAEA"><?php echo $row_Recordset1['str_hersteller_name']; ?>&nbsp; </td>
<td bgcolor="#EAEAEA"><?php echo $row_Recordset1['str_betriebsystem_name']; ?>&nbsp; </td>
<td bgcolor="#EAEAEA"><?php echo substr( $row_Recordset1['txt_beschreibung'], 0, strpos( $row_Recordset1['txt_beschreibung'], ".", 120)+1); ?>&nbsp; </td>






<?
}
echo '</table>';
}

}
?>

es ist ein suchformular, funktioniert auch wunderbar, könnt ihr mir helfen die navigation einzubauen bitte

bedanke mich jetzt schön für eure Hilfe :-)

asipak4you
10.08.2009, 13:01:45
Sorry,

aber bist du zu faul zum Lesen? Der Text drumherum, den du auf der von dir verlinkten Seite findest, ist die Beschreibung zum Code. Wieso sollen wir hier nochmal alles für dich wiederholen?

Du scheinst ja noch nicht einmal mit dem Einbau der Blätterfunktion begonnen zu haben!

Versuch es doch erst einmal selbst und wenn dann ein konkretes Problem auftritt, kannst du gerne nochmal nachfragen!

Gruß

erniedd
11.08.2009, 20:57:25
soo.. hab es jetzt eingebaut, so gut wie ich es kann:

<?php
$hostname_verbindung = "localhost";
$database_verbindung = "phost136983";
$username_verbindung = "phost136983";
$password_verbindung = "******";
$verbindung = mysql_pconnect($hostname_verbindung, $username_verbindung, $password_verbindung) or trigger_error(mysql_error(),E_USER_ERROR);
;

mysql_query("SET NAMES 'utf8'");
mysql_query("SET CHARACTER SET utf8");


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;
}
}

mysql_select_db($database_verbindung, $verbindung);
if($_POST['eingabe']=="")
{
echo "<b>Bitte geben Sie ein Suchwort ein.</b>";
}
else
{
$eingabe=$_POST['eingabe'];
$eingabe_array = explode(' ',$eingabe);

define("MAX_EINTRAEGE",10);

define("NAV_LEISTE",11);

function navigationsLeiste($SitesComplete,$seiteAktuell,$extVariables){

// Die Menge der angezeigten Links für die Seiten werden errechnet
$NavCeil = floor(NAV_LEISTE / 2);

// Eine Seite zurück oder zum Anfang nur anzeigen, wenn mindestens eine Seite zurück
// geblättert werden kann
if($seiteAktuell > 1){
$string .= '<a href="?site=1'.$extVariables.'"><<</a>&nbsp;&nbsp;';
$string .= '<a href="?site='.($seiteAktuell-1).$extVariables.'"><</a>&nbsp;&nbsp;';
}

// Baut die Seitennavigation aúf (1 2 3 4 5 6 ... n)
for($x=$seiteAktuell-$NavCeil;$x<=$seiteAktuell+$NavCeil;$x++){
// Alle Seitenzahlen vor und nach der aktuellen Seite verlinken
if(($x>0 && $x<$seiteAktuell) || ($x>$seiteAktuell && $x<=$SitesComplete))
$string .= '<a href="?site='.$x.$extVariables.'">'.$x.'</a>&nbsp;&nbsp;';

// Die Seitenzahl der aktuellen Seite nicht verlinken
if($x==$seiteAktuell)
$string .= $x . '&nbsp;&nbsp;';
}

// Eine Seite vor oder zum Ende nur anzeigen, wenn mindestens eine Seite weiter
// geblättert werden kann
if($seiteAktuell < $SitesComplete){
$string .= '<a href="?site='.($seiteAktuell+1).$extVariables.'">></a>&nbsp;&nbsp;';
$string .= '<a href="?site='.$SitesComplete.$extVariables.'">>></a>&nbsp;&nbsp;';
}

return $string;

}

// Die aktuell angeforderte Seite
$seiteAktuell = $_GET['site'] + 0;

// Falls noch keine Seitenzahl übergeben wurde, den Wert auf die erste Seite setzen
if(empty($seiteAktuell))
$seiteAktuell = 1;

// Berechnet die nächsten Eintraege aus MAX_EINTRAEGE
$start = $seiteAktuell * MAX_EINTRAEGE - MAX_EINTRAEGE;

// Holt die aktuellen Datensätze aus - define("MAX_EINTRAEGE",10)
$query_Recordset1 = @mysql_query('SELECT `tblspieledatenbank`.`int_spiel_id`, `tblspieledatenbank`.`str_spiel_name`,`tblspieledatenbank`.`txt_beschr eibung`, `tblhersteller`.`str_hersteller_name`, `tblbetriebsystem`.`str_betriebsystem_name` FROM `tblspieledatenbank` LEFT JOIN `tblhersteller` ON `tblspieledatenbank`.`int_hersteller_id` = `tblhersteller`.`int_hersteller_id` LEFT JOIN `tblbetriebsystem` ON `tblspieledatenbank`.`int_betriebsystem_id` = `tblbetriebsystem`.`int_betriebsystem_id` where LIMIT $start, '.MAX_EINTRAEGE);

$query_Recordset1Gesamt = @mysql_query('SELECT COUNT(`tblspieledatenbank`.`int_spiel_id`, `tblspieledatenbank`.`str_spiel_name`,`tblspieledatenbank`.`txt_beschr eibung`, `tblhersteller`.`str_hersteller_name`, `tblbetriebsystem`.`str_betriebsystem_name`) AS menge FROM `tblspieledatenbank` LEFT JOIN `tblhersteller` ON `tblspieledatenbank`.`int_hersteller_id` = `tblhersteller`.`int_hersteller_id` LEFT JOIN `tblbetriebsystem` ON `tblspieledatenbank`.`int_betriebsystem_id` = `tblbetriebsystem`.`int_betriebsystem_id`');
$Eintraege = @mysql_result($resultGesamt,0,"menge");





for($i=0; $i<count($eingabe_array); $i++)
{
$query_Recordset1 .= "txt_beschreibung like '%".$eingabe_array[$i]."%' or str_spiel_name like '%".$eingabe_array[$i]."%' ";
if($i<count($eingabe_array)-1)
$query_Recordset1 .= ' and ';
}


$Recordset1 = mysql_query($query_Recordset1, $verbindung) or die(mysql_error());
$totalRows_Recordset1 = mysql_num_rows($Recordset1);
if($totalRows_Recordset1 == 0)
echo "Leider keine Treffer. Bitte geben Sie einen anderen Suchbegriff ein";
else
{

while($row_Recordset1 = mysql_fetch_assoc($Recordset1))
{

?>
<table border="0" align="center" cellpadding="3" cellspacing="3">
<tr>
<td bgcolor="#BEBBFF" class="fettgross">Name</td>
<td bgcolor="#BEBBFF" class="fettgross">Hersteller</td>
<td bgcolor="#BEBBFF" class="fettgross">Betriebsystem</td>
<td bgcolor="#BEBBFF" class="fettgross">Beschreibung</td>
</tr>

<tr>
<td height="52" nowrap="nowrap" bgcolor="#EAEAEA"><a href="../db/Genre/detail.php?recordID=<?php echo $row_Recordset1['int_spiel_id']; ?>" class="bluelink"><strong><?php echo $row_Recordset1['str_spiel_name']; ?></strong></a></td>
<td bgcolor="#EAEAEA"><?php echo $row_Recordset1['str_hersteller_name']; ?>&nbsp; </td>
<td bgcolor="#EAEAEA"><?php echo $row_Recordset1['str_betriebsystem_name']; ?>&nbsp; </td>
<td bgcolor="#EAEAEA"><?php echo substr( $row_Recordset1['txt_beschreibung'], 0, strpos( $row_Recordset1['txt_beschreibung'], ".", 120)+1); ?>&nbsp; </td>






<?


$contentWeb .= '<div align="center">';

// Errechnet die kompletten Seiten
$SitesComplete = ceil($Eintraege / MAX_EINTRAEGE);

// Ergebnisseite x von y anzeigen
$contentWeb .= 'Ergebnisseite ' . $seiteAktuell . ' von ' . $SitesComplete . '<br>';

// Weitere Variablen den Seitenzahlem mit übergeben in Form:
// &var1=wert1&var2=wert2
$extVariables = '&var1=wert1&var2=wert2';

// Navigation mit in Ausgabe einfügen
$contentWeb .= navigationsLeiste($SitesComplete,$seiteAktuell,$extVariables);

$contentWeb .= '</div>';

echo $contentWeb;

?>







<?
}
echo '</table>';
}

}
?>


bekomme ne fehlermeldung:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'txt_beschreibung like '%f%' or str_spiel_name like '%f%'' at line 1

irgendwas stimmt mit meiner sql schreibweise nit, aber was da steh ich aufn schlauch

vt1816
11.08.2009, 21:17:20
1.) @-Zeichen überall raus
2.) display_errors und error_reporting rein
3.) formatiere den Code so, dass ihn jeder lesen und somit verstehen kann
4.) bei welchem SQL-Statment tritt der Fehler auf?
5.) später mehr ...

erniedd
12.08.2009, 22:30:30
erstma sorry das ich so spät antworte, arbeite den ganzen tag, sooo...
dann will ich ma loslegen:

<?php require_once('../Connections/verbindung.php');

mysql_query("SET NAMES 'utf8'");
mysql_query("SET CHARACTER SET utf8");


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;
}
}

mysql_select_db($database_verbindung, $verbindung);
if($_POST['eingabe']=="")
{
echo "<b>Bitte geben Sie ein Suchwort ein.</b>";
}
else
{
$eingabe=$_POST['eingabe'];
$eingabe_array = explode(' ',$eingabe);

define("MAX_EINTRAEGE",10);

define("NAV_LEISTE",11);

function navigationsLeiste($SitesComplete,$seiteAktuell,$extVariables){

// Die Menge der angezeigten Links für die Seiten werden errechnet
$NavCeil = floor(NAV_LEISTE / 2);

// Eine Seite zurück oder zum Anfang nur anzeigen,
//wenn mindestens eine Seite zurück
// geblättert werden kann
if($seiteAktuell > 1){
$string .= '<a href="?site=1'.$extVariables.'"><<</a>&nbsp;&nbsp;';
$string .= '<a href="?site='.($seiteAktuell-1).$extVariables.'"><</a>&nbsp;&nbsp;';
}

// Baut die Seitennavigation aúf (1 2 3 4 5 6 ... n)
for($x=$seiteAktuell-$NavCeil;$x<=$seiteAktuell+$NavCeil;$x++){
// Alle Seitenzahlen vor und nach der aktuellen Seite verlinken
if(($x>0 && $x<$seiteAktuell) || ($x>$seiteAktuell && $x<=$SitesComplete))
$string .= '<a href="?site='.$x.$extVariables.'">'.$x.'</a>&nbsp;&nbsp;';

// Die Seitenzahl der aktuellen Seite nicht verlinken
if($x==$seiteAktuell)
$string .= $x . '&nbsp;&nbsp;';
}

// Eine Seite vor oder zum Ende nur anzeigen, wenn mindestens eine Seite weiter
// geblättert werden kann
if($seiteAktuell < $SitesComplete){
$string .= '<a href="?site='.($seiteAktuell+1).$extVariables.'">></a>&nbsp;&nbsp;';
$string .= '<a href="?site='.$SitesComplete.$extVariables.'">>></a>&nbsp;&nbsp;';
}

return $string;

}

// Die aktuell angeforderte Seite
$seiteAktuell = $_GET['site'] + 0;

// Falls noch keine Seitenzahl übergeben wurde, den Wert auf die erste Seite setzen
if(empty($seiteAktuell))
$seiteAktuell = 1;

// Berechnet die nächsten Eintraege aus MAX_EINTRAEGE
$start = $seiteAktuell * MAX_EINTRAEGE - MAX_EINTRAEGE;

// Holt die aktuellen Datensätze aus - define("MAX_EINTRAEGE",10)
$query_Recordset1 = mysql_query or die(mysql_error());
("SELECT
`tblspieledatenbank`.`int_spiel_id`,
`tblspieledatenbank`.`str_spiel_name`,
`tblspieledatenbank`.`txt_beschreibung`,
`tblhersteller`.`str_hersteller_name`,
`tblbetriebsystem`.`str_betriebsystem_name`
FROM `tblspieledatenbank` LEFT JOIN `tblhersteller`
ON `tblspieledatenbank`.`int_hersteller_id` =
`tblhersteller`.`int_hersteller_id`
LEFT JOIN `tblbetriebsystem` ON
`tblspieledatenbank`.`int_betriebsystem_id` = `tblbetriebsystem`.`int_betriebsystem_id`
where LIMIT $start, ".MAX_EINTRAEGE);

$query_Recordset1Gesamt = mysql_query or die(mysql_error());
("SELECT COUNT
(`tblspieledatenbank`.`int_spiel_id`,
`tblspieledatenbank`.`str_spiel_name`,
`tblspieledatenbank`.`txt_beschreibung`,
`tblhersteller`.`str_hersteller_name`,
`tblbetriebsystem`.`str_betriebsystem_name`)
AS menge FROM `tblspieledatenbank`
LEFT JOIN `tblhersteller` ON `tblspieledatenbank`.
`int_hersteller_id` = `tblhersteller`.
`int_hersteller_id` LEFT JOIN
`tblbetriebsystem` ON `tblspieledatenbank`.
`int_betriebsystem_id` =
`tblbetriebsystem`.`int_betriebsystem_id`");
$Eintraege = mysql_result($resultGesamt,0,"menge")or die(mysql_error());





for($i=0; $i<count($eingabe_array); $i++)
{
$query_Recordset1 .=
"txt_beschreibung like '%".$eingabe_array[$i]."%'
or str_spiel_name like '%".$eingabe_array[$i]."%' ";
if($i<count($eingabe_array)-1)
$query_Recordset1 .= ' and ';
}


$Recordset1 =
mysql_query($query_Recordset1, $verbindung)
or die(mysql_error());
$totalRows_Recordset1 = mysql_num_rows($Recordset1)or die(mysql_error());
if($totalRows_Recordset1 == 0)
echo "Leider keine Treffer. Bitte geben Sie einen anderen Suchbegriff ein";
else
{

while($row_Recordset1 = mysql_fetch_assoc($Recordset1))
{

?>
<table border="0" align="center" cellpadding="3" cellspacing="3">
<tr>
<td bgcolor="#BEBBFF" class="fettgross">Name</td>
<td bgcolor="#BEBBFF" class="fettgross">Hersteller</td>
<td bgcolor="#BEBBFF" class="fettgross">Betriebsystem</td>
<td bgcolor="#BEBBFF" class="fettgross">Beschreibung</td>
</tr>

<tr>
<td height="52" nowrap="nowrap" bgcolor="#EAEAEA"><a href="../db/Genre/detail.php?recordID=<?php echo $row_Recordset1['int_spiel_id']; ?>" class="bluelink"><strong><?php echo $row_Recordset1['str_spiel_name']; ?></strong></a></td>
<td bgcolor="#EAEAEA"><?php echo $row_Recordset1['str_hersteller_name']; ?>&nbsp; </td>
<td bgcolor="#EAEAEA"><?php echo $row_Recordset1['str_betriebsystem_name']; ?>&nbsp; </td>
<td bgcolor="#EAEAEA"><?php echo substr( $row_Recordset1['txt_beschreibung'], 0, strpos( $row_Recordset1['txt_beschreibung'], ".", 120)+1); ?>&nbsp; </td>






<?


$contentWeb .= '<div align="center">';

// Errechnet die kompletten Seiten
$SitesComplete = ceil($Eintraege / MAX_EINTRAEGE);

// Ergebnisseite x von y anzeigen
$contentWeb .= 'Ergebnisseite ' . $seiteAktuell . ' von ' . $SitesComplete . '<br>';

// Weitere Variablen den Seitenzahlem mit übergeben in Form:
// &var1=wert1&var2=wert2
$extVariables = '&var1=wert1&var2=wert2';

// Navigation mit in Ausgabe einfügen
$contentWeb .= navigationsLeiste($SitesComplete,$seiteAktuell,$extVariables);

$contentWeb .= '</div>';

echo $contentWeb;

?>







<?
}
echo '</table>';
}

}
?>

der Fehler:

You have an error in
your SQL syntax; check the manual
that corresponds to your MySQL server
version for the right syntax to use near
'txt_beschreibung like '%d%'
or str_spiel_name like '%d%'' at line 1

Liegt wohl irgendwo hier:

{
$query_Recordset1 .=
"txt_beschreibung like '%".$eingabe_array[$i]."%'
or str_spiel_name like '%".$eingabe_array[$i]."%' ";
if($i<count($eingabe_array)-1)
$query_Recordset1 .= ' and ';
}


wüsste aber nit was daran jetzt nit stimmt ...

vt1816
13.08.2009, 07:26:22
Lass Dir $query_Recordset1 nach dem Zusammensetzen mal ausgeben:
echo $query_Recordset1;
Und steht das richtige drin?

erniedd
13.08.2009, 20:07:33
wie meinst du das jetzt ? öhm meinst du jetzte ich soll echo $query_Recordset1;



oder meinst du eher ich soll die beiden datenbank abfragen, $query_Recordset1 und $query_Recordset1Gesamt

ma extra in ner anderen datei ausprobieren ohne das alles drumm herum ?

vt1816
13.08.2009, 20:30:59
Wenn Du weitere Hilfe erwartest, bringe bitte erstmal Deine Code in Ordnung!

Siehe oben - die Punkte 2 + 3, denn der letzte gepostete Code ist noch schlimmer als vorher.

erniedd
16.08.2009, 22:07:40
wie mache ich den display_errors und error_reporting rein ?

vt1816
16.08.2009, 22:25:36
Ist Dir bekannt wo man(n/frau) Handbücher und gute Tut's findet?

erniedd
16.08.2009, 22:38:26
hast du ne seite wo es erklärt wird ?

vt1816
16.08.2009, 22:58:00
error_reporting (http://de.php.net/manual/de/function.error-reporting.php)
display_errors (http://de.php.net/ini_set)

... und das konntest Du nicht selber finden?

erniedd
17.08.2009, 23:11:49
ich hab mein code nun überarbeitet,dass suchformular hab ich erstmal rausgenommen, jetzt funzt es
bin das alles nochma in ruhe durchgegangen

es wird nun alles schön angezeigt, ich bekomme nur oben noch ne fehlermeldung, aber sosnt funz alles so wie ich es will:

<?PHP


define("MAX_EINTRAEGE",10);


define("NAV_LEISTE",11);


define("DB_HOST","localhost");
define("DB_NAME","phost136983");
define("DB_USER","phost136983");
define("DB_PASS","****");


$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>&nbsp;&nbsp;';
$string .= '<a href="?site='.($seiteAktuell-1).$extVariables.'"><</a>&nbsp;&nbsp;';
}


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>&nbsp;&nbsp;';


if($x==$seiteAktuell)
$string .= $x . '&nbsp;&nbsp;';
}


if($seiteAktuell < $SitesComplete){
$string .= '<a href="?site='.($seiteAktuell+1).$extVariables.'">></a>&nbsp;&nbsp;';
$string .= '<a href="?site='.$SitesComplete.$extVariables.'">>></a>&nbsp;&nbsp;';
}

return $string;

}


$seiteAktuell = $_GET['site'] + 0;


if(empty($seiteAktuell))
$seiteAktuell = 1;


$start = $seiteAktuell * MAX_EINTRAEGE - MAX_EINTRAEGE;


$Recordset1 = mysql_query("SELECT `tblspieledatenbank`.`int_spiel_id`, `tblspieledatenbank`.`str_spiel_name`, `tblhersteller`.`str_hersteller_name`,`tblbetriebsystem`.`str_betriebs ystem_name`, `tblspieledatenbank`.`txt_beschreibung` FROM `tblgenre` LEFT JOIN `phost136983`.`tblspieledatenbank` ON `tblgenre`.`int_genre_id` = `tblspieledatenbank`.`int_genre_id` LEFT JOIN `tblbetriebsystem` ON `tblspieledatenbank`.`int_betriebsystem_id` = `tblbetriebsystem`.`int_betriebsystem_id` LEFT JOIN `tblhersteller` ON `tblspieledatenbank`.`int_hersteller_id` = `tblhersteller`.`int_hersteller_id` LIMIT $start, ".MAX_EINTRAEGE);


$Recordset1Gesamt = mysql_query("SELECT COUNT(*) AS menge FROM tblspieledatenbank");
$Eintraege = mysql_result($Recordset1Gesamt,0,"menge");


?>


<p>&nbsp;
<table border="0" align="center" cellpadding="3" cellspacing="3">
<tr>
<td bgcolor="#BEBBFF" class="fettgross">Name</td>
<td bgcolor="#BEBBFF" class="fettgross">Hersteller</td>
<td bgcolor="#BEBBFF" class="fettgross">Betriebsystem</td>
<td bgcolor="#BEBBFF" class="fettgross">Beschreibung</td>
</tr>
<?php do { ?>
<tr>
<td height="52" nowrap="nowrap" bgcolor="#EAEAEA"><a href="detail.php?recordID=<?php echo $row_Recordset1['int_spiel_id']; ?>" class="bluelink"><strong><?php echo $row_Recordset1['str_spiel_name']; ?></strong></a></td>
<td bgcolor="#EAEAEA"><?php echo $row_Recordset1['str_hersteller_name']; ?>&nbsp; </td>
<td bgcolor="#EAEAEA"><?php echo $row_Recordset1['str_betriebsystem_name']; ?>&nbsp; </td>
<td bgcolor="#EAEAEA"><?php echo substr( $row_Recordset1['txt_beschreibung'], 0, strpos( $row_Recordset1['txt_beschreibung'], ".", 120)+1); ?>&nbsp; </td>
</tr>
<?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)) ; ?>
</table>

<?php

$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;


?>


hier die fehlermeldung die noch stört :

Warning: strpos() [function.strpos]: Offset not contained in string in C:\xampp\htdocs\gameboxx\test\blattertest.php on line 99

line 99 ist die hier : <td bgcolor="#EAEAEA"><?php echo substr( $row_Recordset1['txt_beschreibung'], 0, strpos( $row_Recordset1[

danke schon ma für hilfe

asipak4you
18.08.2009, 11:22:16
Warning: strpos() [function.strpos]: Offset not contained in string in C:\xampp\htdocs\gameboxx\test\blattertest.php on line 99

Da steht doch, was der Fehler ist. Was willst du jetzt von uns?

hier nachgucken => http://de3.php.net/strpos und herausfinden was mit "offset" gemeint ist. Dann schaust du mal in deine Zeile 99 und sagst uns was der Fehler war!!

Gruß

erniedd
18.08.2009, 19:18:21
oki... ich habe meine datenbank angeguckt, ich hab keine lehren datensätze, ich hab geguckt ob überall nen punkt ist, ist gesetzt

wenn der fehler im code ist, bin ich zu blöde .. :-(

vt1816
18.08.2009, 20:29:56
Gib doch mal ein paar Beispiele für $row_Recordset1['txt_beschreibung'].
Wie lang sind die Strings die in $row_Recordset1['txt_beschreibung'] stehen (können)?

erniedd
21.08.2009, 22:26:44
oki alles klar

txt_beschreibung:

Duke Nukem 3D ist ein Ballerspiel mit vielen witzigen Details: Sie können aufs Klo gehen, Billiard spielen, fliegen und viel mehr. Um die Aliens zu töten müssen Sie die ihre Waffen oder den Fuss benützen.


Ein alt-bekanntes Spiel, bei dem es darum geht, eine Ameise durch ein Labyrinth zu führen, in dem man durch drehen der einzelnen Labyrinth-Segmente, einen möglichst langen Weg erstellt. Man muß sich beeilen, denn die Ameise läuft nach einem Countdown los und endet das Spiel wenn sie ans Ende der Strecke gelangt. Man bekommt dann für die Länge der zurückgelegten Strecke Punkte.

Das 1997 erschienene Blood mag auf den ersten Blick grafisch veraltet wirken, was sicherlich auch stimmt, jedoch macht es trotzdem eine Menge Spaß. In Blood geht es darum, einen bösartigen Gott namens Tchernobog zu vernichten, der Caleb (so heißt die Spielfigur) und drei weitere Auserwählte verbannt hat, wobei zunächst nicht einmal bekannt ist, warum. Das Ziel des Spiels ist es, wie gesagt, die drei anderen Auserwählten aus den Klauen von drei Endgegnern zu befreien um dann gemeinsam mit ihnen Tchernobog zu vernichten. Das Spiel ist in vier Episoden unterteilt, wie es bei früheren Spielen immer der Fall war.

Der erste Teil von Doom wurde am 10. Dezember 1993 veröffentlicht. Ziel des Spiels ist es, den Marsmond Phobos vor der Invasion durch Monster und Dämonen aus der Hölle zu retten. Man spielt einen Helden, der, mit verschiedenen Waffensystemen ausgestattet, unterschiedlichste, teilweise menschenähnliche, Kreaturen töten muss. Die Grafik des Spiels war für damalige Verhältnisse sehr blutig, wenn auch aufgrund der nicht so weit entwickelten Technik aus heutiger Sicht nicht sehr wirklichkeitsnah. In Deutschland wurde Doom von der Bundesprüfstelle für jugendgefährdende Schriften (BPjS) wegen Gewaltverherrlichung indiziert und darf deswegen Minderjährigen nicht zugänglich gemacht werden.

Obwohl Abuse auf den ersten Blick wie einer dieser typischen Action-Shooter erscheint, ist dem nicht ganz so. Sicher, es sieht aus wie ein gewöhnliches Actiongame, und auch die Story ist nicht sehr einfallsreich, aber was diese Spiel so besonders macht, ist die Steuerung der Spielfigur. Ich bin mir ziemlich sicher, daß es das erste PC-Spiel ist, das von der gleichzeitigen Benutzung von Maus und Tastatur für die Bewegungen Gebrauch macht.

Durch die Tastatur kann man die Spielfigur durch das Level bewegen, während man unabhän-gig davon die Maus benutzt, um mit der Waffe zu zielen. Das Ergebnis ist sehr interessant, und auch wenn man sich erst mit der Zeit daran gewöhnt, wirkt es so weich, daß man es lieben wird. Das macht das Spiel um einiges herausfordernder, da man mehrere Aktionen im selben Moment koordinieren muß. Wenn man erst einmal diese Bewegungstechnik beherrscht, ist man in der Lage Manöver zu vollbringen, die man nie für möglich gehalten hätte.

One of two "paks" of games released by the famous Apogee Software. VERY early in their company's storied history (the other pack being the Puzzle Fun-Pack), this collection contains 4 different games, of generally "okay" quality. Both packs were recently released by Apogee as freeware. The games contained in this collection are:
Rogue Runner: Similar but mostly inferior to the Kroz series of maze games.
Night Bomber: A Missile Command clone with ugly graphics ... didn't seem to work properly for me?
Raiders of the Forbidden Mine: It looks a lot like Pharoah's Tomb but plays quite differently/strangely.
The Thing: Blatant clone of "Hunt the Wumpus". How blatant? Well, theres a Wumpus in the game ...

Brave Pirate ist ein faszinierendes Piratenabenteuerspiel. Sie steuern eine riesengroße Fregatte, die bereit ist, alles, was in ihrem Weg ist, zu vernichten. Ihre Aufgabe ist, vier Teile von einer uralten Karte zu finden. Die Karte wird auch von allen anderen Piraten gesucht. Je mehr Teile davon wird es Ihnen gelingen zusammenzubringen, desto mehr und hartnäckiger werden Sie von ihnen angegriffen. Jeder von vier Kartenteilen wird in gut befestigten Städten rund um das Meer aufbewahrt. Der Weg zu diesen Städten ist voll von Fallen und Hinterhälten, und es wird allerorts versucht, Sie von ihrem Ziel abzubringen. Die Seefahrt ist gefahren- und abenteuerreich, nicht jeder vermag es zu vollbringen! Vergessen Sie nicht, Ihre Preise und Boni zu sammeln, so wird Ihre Schifffahrt einfacher und sicherer verlaufen. Wollen Sie sich als echten Piraten erleben, ein Geheimnis von alten Schätzen lösen und den Kampf mit fremden Schiffsarmaden, Festungen und Städten aufnehmen, dann ist das Piratenspiel ?Brave Pirate? eben für Sie entwickelt worden! Tauchen Sie in die Welt von Geheimnissen und Abenteuern hinein! Und vergessen Sie auch nicht, dass die Fortuna nur braven Piraten hold ist! Originelle Musikbegleitung, witzige Graphik und begeisternde Hanldung machen das Spiel sehr interessant. Die Piratenrundfahrt erfordert von Ihnen originelle Lösungen und viel Humor auf allen Spielebenen.

vt1816
22.08.2009, 00:12:00
Aha....

Die schöner langer Text. Es gibt aber in Deiner Datenbanktabelle auch Datensätze bei denen der Inhalt nicht so lang ist. Daher kommt die Fehlermeldung.

Ergo: Länge des Stings testen!

erniedd
22.08.2009, 01:22:58
kann man den code au so verändern ohne, das man die daten ändert, also das ich au kurze und lange texte habe

erniedd
22.08.2009, 01:57:56
ich hab bischin gegogelt und so, und hab das jetzt so hier gemacht:

<?php do { ?>
<tr>
<td height="52" nowrap="nowrap" bgcolor="#EAEAEA"><a href="detail.php?recordID=<?php echo $row_Recordset1['int_spiel_id']; ?>" class="bluelink"><strong><?php echo $row_Recordset1['str_spiel_name']; ?></strong></a></td>
<td bgcolor="#EAEAEA"><?php echo $row_Recordset1['str_hersteller_name']; ?>&nbsp; </td>
<td bgcolor="#EAEAEA"><?php echo $row_Recordset1['str_betriebsystem_name']; ?>&nbsp; </td>
<td bgcolor="#EAEAEA"><?php echo substr( $row_Recordset1['txt_beschreibung'],0, 180)."..."; ?>&nbsp; </td>
</tr>
<?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)) ; ?>

alles schön nur das die tabelle in der ersten zeile gar nix anzeigt, also nur ...
und dann fängt es ganz normal an, ansonsten keine fehlermeldung, aber mich stört das gewaltig, irgendwas stimmt da wieder nicht ...

vt1816
22.08.2009, 09:13:32
[...]
alles schön nur das die tabelle in der ersten zeile gar nix anzeigt, also nur ...
und dann fängt es ganz normal an, ansonsten keine fehlermeldung, aber mich stört das gewaltig, irgendwas stimmt da wieder nicht ...

Dann muss $row_Recordset1[] an der Stelle noch leer sein ...
Da Dein letzter Code nur rudimentär ist, kann keine weitere Ursachenforschung angestellt werden...

erniedd
22.08.2009, 16:35:18
also ich bin weitergekommen ...
habs fast..

der code:

<?php

$Recordset1 = mysql_query("SELECT `tblspieledatenbank`.`int_spiel_id`, `tblspieledatenbank`.`str_spiel_name`, `tblhersteller`.`str_hersteller_name`,`tblbetriebsystem`.`str_betriebs ystem_name`, `tblspieledatenbank`.`txt_beschreibung` FROM `tblgenre` LEFT JOIN `phost136983`.`tblspieledatenbank` ON `tblgenre`.`int_genre_id` = `tblspieledatenbank`.`int_genre_id` LEFT JOIN `tblbetriebsystem` ON `tblspieledatenbank`.`int_betriebsystem_id` = `tblbetriebsystem`.`int_betriebsystem_id` LEFT JOIN `tblhersteller` ON `tblspieledatenbank`.`int_hersteller_id` = `tblhersteller`.`int_hersteller_id` WHERE `tblspieledatenbank`.`int_genre_id` = '5' ORDER BY `tblspieledatenbank`.`str_spiel_name` ASC LIMIT $start, ".MAX_EINTRAEGE);
$row_Recordset1 = mysql_fetch_assoc($Recordset1);

$Recordset1Gesamt = mysql_query("SELECT COUNT(*) AS menge FROM tblspieledatenbank");
$Eintraege = mysql_result($Recordset1Gesamt,0,"menge");



?>


<p>&nbsp;
<table border="0" align="center" cellpadding="3" cellspacing="3">
<tr>
<td bgcolor="#BEBBFF" class="fettgross">Name</td>
<td bgcolor="#BEBBFF" class="fettgross">Hersteller</td>
<td bgcolor="#BEBBFF" class="fettgross">Betriebsystem</td>
<td bgcolor="#BEBBFF" class="fettgross">Beschreibung</td>
</tr>
<?php { ?>
<tr>
<td height="52" nowrap="nowrap" bgcolor="#EAEAEA"><a href="detail.php?recordID=<?php echo $row_Recordset1['int_spiel_id']; ?>" class="bluelink"><strong><?php echo $row_Recordset1['str_spiel_name']; ?></strong></a></td>
<td bgcolor="#EAEAEA"><?php echo $row_Recordset1['str_hersteller_name']; ?>&nbsp; </td>
<td bgcolor="#EAEAEA"><?php echo $row_Recordset1['str_betriebsystem_name']; ?>&nbsp; </td>
<td bgcolor="#EAEAEA"><?php echo substr( $row_Recordset1['txt_beschreibung'],0, 180)."..."; ?>&nbsp; </td>
</tr>
<?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)) ; ?>
</table>





<?

hab das hier eingefügt: $row_Recordset1 = mysql_fetch_assoc($Recordset1);

dann wollte ich das nur nen bestimmtes genre angezeigt wird, habe ich das hier eingefügt:

WHERE `tblspieledatenbank`.`int_genre_id` = '5' ORDER BY `tblspieledatenbank`.`str_spiel_name` ASC

leider nachdem ich im sql diesen code schnipsel noch dazu gegeben habe, kommen die datensätze wie gehabt schön raus, nur der letzte is wieder leer und zeigt ... an