B
ByeBye 8492
weiß keiner was :heul:?
Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
Original geschrieben von KristophS
Eigentlich sollte die Klasse ja funktionen ist ja genauso wie die des wbb1.
Sogar die gleichen Namen!
Naja egal.
Leider verstehe ich dein Problem auch nicht.
Moeglicherweise liegts am Aufbau der Datenbank oder keine Ahnung.
Schonmal den Query ausgeben lassen ,um zu sehen was er holt(mehr faellt mir m Moment nicht ein).
Um auszuschließen das es an deiner Mysql Klasse ,liegt ,versuche dochmal ohne die Klasse die Daten zu holen,.
<?php
function blockfile($topic, $blockfile, $side = 0, $db) // falls der Block auf eine Blockdatei aufbaut <img src="images/smilies/wink.gif" border="0" alt="">
{
$file = @file("block/$blockfile");
if(!$file)
{
$content = _blocknot; // Wenn was schiefläuft ( Data nicht da, etc. dann einfach nen Fehler ausspucken)
}
else
{
include "block/$blockfile"; // wenn keiner Fehler passiert, die Datei inkludieren
}
if($content == ""){
$content = _blockempty;
}
Else{
if($side == "1"){
$template = gettemplate("center_box");
}
elseif($side == "2"){
$template = gettemplate("center_box");
}
else{
$template = gettemplate("box");
}
}
$template .= eval ("\$template = \"$template\";");
return $template;
}
?>
Original geschrieben von saila
vermute das hier drin der fehler liegt:
PHP:<?php function blockfile($topic, $blockfile, $side = 0, $db) // falls der Block auf eine Blockdatei aufbaut <img src="images/smilies/wink.gif" border="0" alt=""> { $file = @file("block/$blockfile"); if(!$file) { $content = _blocknot; // Wenn was schiefläuft ( Data nicht da, etc. dann einfach nen Fehler ausspucken) } else { include "block/$blockfile"; // wenn keiner Fehler passiert, die Datei inkludieren } if($content == ""){ $content = _blockempty; } Else{ if($side == "1"){ $template = gettemplate("center_box"); } elseif($side == "2"){ $template = gettemplate("center_box"); } else{ $template = gettemplate("box"); } } $template .= eval ("\$template = \"$template\";"); return $template; } ?>
muss aber net hab nicht alles gelesen......... aber dein include sieht mir schwer verdächtig aus..............
Original geschrieben von KristophS
Öhm bist du dir sicher ,dass es Kommentare gibt ,die die gleiche ID haben?
Schau an Gettemplate ,ist ja genauso wie die des wbb`s ..
Die originalklasse des wbb`s hatte eine Funktion die heis query_first.
Damit konntest zuerst queryn ,dann die daten fetch und daraufhin gibt er dir n Array zurück und als letztes free`t der die Daten.
Du konntest es nat. auch mit eindeutigen Query Namen/Array machen.
$sql = "select * from ". $prefix ."_news_comments where id = $id";
$db -> query($sql);
while($result = $db -> fetch_array()){
$db -> query("select sig, avatar from `". $prefix ."_user` where `name` = '$autor'");
$details = $db -> fetch_array();
function query($query){
$this -> query_id = @mysql_query($query, $this->link_id);
$this -> query_c++;
if(!$this ->query_id) {
echo "Der Query <i>$query</i> konnte nicht ausgeführt werden";
}
$this -> aff_rows =@mysql_affected_rows($this->query_id);
return $this->query_id;
}
Ich glaube genau, hier liegt der Fehler, das die Query_Id nicht richtig verarbeitet wird und das sich dadurch die Queries verheddern
function fetch_array($query_id = -1) {
if($query_id != -1)
{
$this -> query_id = $query_id;
}
$this -> record = mysql_fetch_array($this-> query_id);
return $this -> record;
Original geschrieben von KoMtuR
Ok ich sag dir wo dein Skript nicht geht
Du hast eine $query_id vor der While-Schleife. In der While-Schleife bekommt deine $query_id ein neuen Wert durch die neue Abfrage. Somit kommt dein while($result = $db -> fetch_array()){ durcheinander
PHP:$sql = "select * from ". $prefix ."_news_comments where id = $id"; $db -> query($sql); while($result = $db -> fetch_array()){ $db -> query("select sig, avatar from `". $prefix ."_user` where `name` = '$autor'"); $details = $db -> fetch_array();
PHP:function query($query){ $this -> query_id = @mysql_query($query, $this->link_id); $this -> query_c++; if(!$this ->query_id) { echo "Der Query <i>$query</i> konnte nicht ausgeführt werden"; } $this -> aff_rows =@mysql_affected_rows($this->query_id); return $this->query_id; } Ich glaube genau, hier liegt der Fehler, das die Query_Id nicht richtig verarbeitet wird und das sich dadurch die Queries verheddern function fetch_array($query_id = -1) { if($query_id != -1) { $this -> query_id = $query_id; } $this -> record = mysql_fetch_array($this-> query_id); return $this -> record;
mach aus deiner $query_id ein Array und dann müsste es klappen. Deswegen haste doch den Query-Counter drin oder?