ich hab' nochmal 'ne Frage

Folgendes:
Ich habe ein CMS, bei dem man im Backend unter dem Menüpunkt "Einstellungen" ein paar änderungen vornehmen kann. Ich möchte das CMS gerne zwei- oder mehrsprachig machen und wollte dann in den Einstellungen eine Tabelle machen, in der die Sprachen, die Installiert sind( zur Zeit Deutsch und Englisch) angeziegt werden ( aus der Datenbank) und man die Sprachen Online/Offline schalten kann. Soweit so gut ...ich habe eine Klasse "Optionen" und eine "optionen.php". Als ich aber das mit den Sprachen anpassen wollte, bekam ich, nachdem ich den Code angepasst hatte, folgende Fehlermeldung:
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, null given in ... on line 44
Hier mal die Codes dazu:
Als erstes die Klasse:
PHP-Code:
class Option {
private $intOptionID;
private $intOptionTyp;
private $strOptionWert;
private $db;
private $intID;
private $intStatus;
function Option(){
$this->db = new Connect();
$this->db = $this->db->gibConnect();
}
function optionShow(){
$sql_einstellungen = 'SELECT * FROM einstellungen';
$result = $this->db->query($sql_einstellungen);
$ausgabe = '<input name="anzahl" type="hidden" value="'.$result->num_rows.'" />'."\n";
while($zeile = $result->fetch_assoc()){
if(!empty($zeile['einstellungenID'])){
$ausgabe .= '<div class="text">'.$zeile['einstellungenTyp'].'</div><input name="option'
.$zeile['einstellungenID'].'" value="'
.$zeile['einstellungenWert'].'" type="text" class="option_box" /><br />'."\n";
}
}
return $ausgabe;
}
function optionEdit($sql){
$result = $this->db->query($sql);
if(!$result):
return 'Werte konnten nicht gespeichert werden.';
endif;
}
function sprachen(){
$sql_sprache = 'SELECT * FROM sprache';
$result = $this->db->query($sql_sprache);
$ausgabe = $result;
while($zeile = $result->fetch_assoc()){
if(!empty($zeile['spracheName'])){
$ausgabe = $zeile['spracheID']
.$zeile['spracheName'];
}
return $ausgabe;
}
}
function statusEdit($id){
$this->intID = $id;
$result = $this->db->query("SELECT spracheStatus FROM sprache WHERE spracheID = '".$this->intID."'");
$zeile = $result->fetch_assoc();
$this->intStatus = $zeile['spracheStatus'];
if($this->intStatus == 1): $i = 0;
elseif($this->intStatus == 0): $i = 1;
endif;
$sql = "UPDATE sprache SET spracheStatus = '".$i."' WHERE spracheID = '".$this->intID."'";
$result = $this->db->query($sql);
}
PHP-Code:
<div id="seite">Einstellungen<hr /></div>
<form id="formular" enctype="multipart/form-data" method="post">
<?php
$op = new Option();
echo $op->optionShow();
echo $op->sprachen();
?>
<br />
<input name="abschicken" type="submit" value="Speichern" id="button" />
</form>
<?php
if(isset($_POST['abschicken'])):
for( $i = 1; $i <= $_POST['anzahl'] ; $i++ ){
$name = 'option'.$i;
$sql = "UPDATE einstellungen SET einstellungenWert = '".$_POST[$name]."'
WHERE einstellungenID = '".$i."'";
$ausgabe = $op->optionEdit($sql);
echo $ausgabe;
}
echo'<meta http-equiv="refresh" content="0;URL=cms.php?datei=option" />';
endif;
?>
<table id="uebersicht">
<tr>
<th class="titel">Sprache</th>
<th class="status">Status</th>
<th class="edit"> </th>
</tr>
<?php
$show = 20;
$result = $db->query("SELECT COUNT(*) FROM sprache");
$zeile = $result->fetch_assoc();
$anzahl = $zeile['anzahl'];
$sql = "SELECT spracheID AS id, spracheKuerzel AS kuerzel, spracheName AS name, spracheStatus AS status, FROM sprache ORDER BY spracheID DESC LIMIT ".$datensatz.", ".$show;
$result = $db->$sql;
while($row = ($row=mysql_fetch_assoc($result))){
$status = $zeile['status'];
if( $status == 0 ): $farbe = "rot";
elseif( $status == 1 ): $farbe = "gruen";
endif;
$datum = $zeile['datum'];
$datum = date('d.m.Y', $datum);
echo '<tr>
<td class="datum">'.$datum.'</td>
<td class="titel"><a href="cms.php?datei=startseite&'.$_GET['datei'].'='.$zeile['id'].'">'.$zeile['titel'].'</a></td>
<td class="status"><form method="post" action="">
<input name="status" type="submit" value="'.$zeile['id'].'" class="'.$farbe.'" />
</form></td>
<td class="edit"><form method="post" action="">
<input name="edit" type="submit" value="'.$zeile['id'].'" class="edit_button" />
</form></td>
</tr>';
}
?>

Einen Kommentar schreiben: