Joomla! Forum Schweiz wird Teil der D-A-CH Community

Nach vielen Jahren als zentrale Anlaufstelle für Fragen rund um Joomla! in der Schweiz wird das Joomla! Forum Schweiz künftig als Archiv weitergeführt.

Die Joomla!-Communities aus Deutschland, Österreich und der Schweiz arbeiten heute enger denn je zusammen. Deshalb bündeln wir künftig auch den deutschsprachigen Support und Austausch an einem gemeinsamen Ort im Joomla! D-A-CH Forum.

Für neue Fragen, Diskussionen und den Austausch mit der Community nutzt bitte ab sofort:

forum.joomla.de

Das Joomla! Forum Schweiz bleibt weiterhin bestehen und wird als Archiv im Lesemodus erhalten. Die vielen Beiträge, Lösungen und Erfahrungen aus den vergangenen Jahren bleiben damit weiterhin zugänglich und über die Suche auffindbar.

Wir bedanken uns herzlich bei allen Mitgliedern, Moderatoren und Helfern, die das Schweizer Joomla! Forum über viele Jahre mit ihrem Wissen und ihrem Engagement geprägt haben.

Wir sehen uns im Joomla! D-A-CH Forum!

komisches Problem

  • Andreas2
  • Autor
  • Neues Mitglied
  • Neues Mitglied
Mehr
18 Mai 2010 07:06 #26236 von Andreas2
komisches Problem wurde erstellt von Andreas2
Hallo,

ich setzte Joomla 1.5.17 ein und füge mittels "jumi" ein PHP-Script in einen Beitrag ein. Grundsätzlich scheint das auch zu funktionieren.

Das eingesetzte Script soll aus einer Datenbank lesen und die Informationen tabellarisch darstellen. Es funktioniert, solange nicht zuviele Daten angezeigt werden müssen. Bis zu 17 Datensätze lassen sich anzeigen, ab dem 18. Satz erhalte ich nur eine leere Seite (wirklich leer; keine Menüs o.ä.). Im Quellcode dieser Seite sehe ich lediglich folgendes:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=utf-8" **********=Content-Type></HEAD>
<BODY></BODY></HTML>
l

Woran kann das liegen bzw. gibt es noch andere Möglichkeiten SQL-Daten aufbereitet in einem Beitrag anzeigen zu lassen?

Interessanterweise hatte ich vor kurzem schon einmal ein solches Problem. Da lag es am Aufbau der Tabelle - aber diesmal habe ich die leere Tabelle direkt im Backend generiert und den Sourcecode raus kopiert um die SQL-Felder zu ergänzen.

Das Scipt hänge ich mal an - vielleicht sieht ja jemand einen Fehler, den ich übersehe.

Gruß
Andreas

$land=$_GET;
$vgl2='';
$dblnk = mysql_connect( 'meinhost', 'sqluser', 'sqlpasswort');
if ( ! dblnk ) die("keine Verbindung zur Datenbank");
mysql_select_db('meineDatenbank', $dblnk) or die ("keine Verbindung zur Tabelle");

$ergebnis = mysql_query("select * from klimatabelle where land = '$land' order by stadt" );
mysql_close($dblnk);

echo '<table cellpadding="2" cellspacing="2" border="1" id="Klimatabelle">';
echo '<tbody>';

while($row = mysql_fetch_assoc($ergebnis))
{
$vgl1=$row["stadt"];
if ($vgl1 != $vgl2)
{
echo '<tr>';
echo '<td valign="top" style="background-color: #6481a6; border: 1px solid;"><strong><span style="color: #ffffff;">Stadt:</span></strong></td>';
echo '<td colspan="12"><strong><span style="font-size: 12pt;">'.$row["stadt"].'; '.$row["hoehe"].' m &uumlber NN; Landesregion: '.$row["region"].', '.$row["hinweis"].'</span></strong></td>';
echo '</tr>';
echo '<tr valign="top" style="background-color: #6481a6;">';
echo '<td></td>';
echo '<td><strong><span style="color: #ffffff;">Jan.</span></strong></td>';
echo '<td><strong><span style="color: #ffffff;">Feb.</span></strong></td>';
echo '<td><strong><span style="color: #ffffff;">Mrz.</span></strong></td>';
echo '<td><strong><span style="color: #ffffff;">Apr.</span></strong></td>';
echo '<td><strong><span style="color: #ffffff;">Mai</span></strong></td>';
echo '<td><strong><span style="color: #ffffff;">Jun.</span></strong></td>';
echo '<td><strong><span style="color: #ffffff;">Jul.</span></strong></td>';
echo '<td><strong><span style="color: #ffffff;">Aug.</span></strong></td>';
echo '<td><strong><span style="color: #ffffff;">Sep.</span></strong></td>';
echo '<td><strong><span style="color: #ffffff;">Okt.</span></strong></td>';
echo '<td><strong><span style="color: #ffffff;">Nov.</span></strong></td>';
echo '<td><strong><span style="color: #ffffff;">Dez.</span></strong></td>';
echo '</tr>';
$vgl2=$vgl1;
}
if ($row["tt"] == 1)
{
echo '<tr>';
echo '<td valign="top" style="background-color: #6481a6;"><strong><span style="color: #ffffff;">Temperatur in &degC</span></strong></td>';
echo '<td><span style="color: #000000;">'.$row["tt01"].'</span></td>';
echo '<td><span style="color: #000000;">'.$row["tt02"].'</span></td>';
echo '<td><span style="color: #000000;">'.$row["tt03"].'</span></td>';
echo '<td><span style="color: #000000;">'.$row["tt04"].'</span></td>';
echo '<td><span style="color: #000000;">'.$row["tt05"].'</span></td>';
echo '<td><span style="color: #000000;">'.$row["tt06"].'</span></td>';
echo '<td><span style="color: #000000;">'.$row["tt07"].'</span></td>';
echo '<td><span style="color: #000000;">'.$row["tt08"].'</span></td>';
echo '<td><span style="color: #000000;">'.$row["tt09"].'</span></td>';
echo '<td><span style="color: #000000;">'.$row["tt10"].'</span></td>';
echo '<td><span style="color: #000000;">'.$row["tt11"].'</span></td>';
echo '<td><span style="color: #000000;">'.$row["tt12"].'</span></td>';
echo '</tr>';
}
}
echo '</tbody>';
echo '</table>';


?>
  • Silverwoolf
  • Neues Mitglied
  • Neues Mitglied
Mehr
18 Mai 2010 17:04 #26244 von Silverwoolf
Silverwoolf antwortete auf Re: komisches Problem
hey!

ich würd das fechen mal mit mysql_fetch_array machen. das ist associativ und kannst nummern nehmen. ausserdem dachte ich die db connection müsste offen bleiben für den fetch Oo oder irr ich mich da.
warum machst du vor jedem neuen eintrag noch mal ne überschrift.?

mach doch den namen und so in ul und li? ich seh da nicht ein warums da auch noch ne tabelle braucht.

ach und noch was müsste es bei der variablen dekleration nicht $vgl2=''"; statt $vgl2=''; heissen?
  • Andreas2
  • Autor
  • Neues Mitglied
  • Neues Mitglied
Mehr
18 Mai 2010 17:39 #26246 von Andreas2
Andreas2 antwortete auf Re: komisches Problem
Hallo Silverwoolf,

mysql_fetch_array bringt leider auch nicht die Lösung. Das Ergebnis ist das selbe. Die Datenverbindung muß nicht offen bleiben, da das Ergebnis des select-Statements ja in eine Variable übertragen wird. Habe ich aber sicherheitshalber auch schon ausprobiert.

ul und li helfen mit leider nicht, weil es sich nicht um eine Aufzählung handelt, sondern um eine echte Tabelle. Manchmal geht es eben nicht ohne Tabellen.

Die Variablendeklaration ist so korrekt, da ich vgl2 mit NUL initialisiere. Dazu benutze ich das einfache Hochkommata (').

Man darf nicht vergessen, daß das Script einwandfrei arbeitet solange nicht zuviele Datensätze angezeigt werden sollen.

Gruß
Andreas
Mehr
19 Mai 2010 08:59 #26249 von patrick
patrick antwortete auf Re: komisches Problem
Hi Andreas

Bei mir funktioniert es einwandfrei (40 Datensätze).

Hast du dir mal die Datensätze Nr. 17 und 18 genau angesehen? Vielleicht ist da ein Stolperstein drin?

PS:
&uumlber und &degC

müssten korrekt wie folgt sein: ;)
Code:
&uuml;ber &deg;C

InitCom: Webagentur für Webdesign // CMS Joomla! // PrestaShop
  • Silverwoolf
  • Neues Mitglied
  • Neues Mitglied
Mehr
19 Mai 2010 10:39 #26250 von Silverwoolf
Silverwoolf antwortete auf Re: komisches Problem

Andreas2 schrieb: Hallo Silverwoolf,

mysql_fetch_array bringt leider auch nicht die Lösung. Das Ergebnis ist das selbe. Die Datenverbindung muß nicht offen bleiben, da das Ergebnis des select-Statements ja in eine Variable übertragen wird. Habe ich aber sicherheitshalber auch schon ausprobiert.

ul und li helfen mit leider nicht, weil es sich nicht um eine Aufzählung handelt, sondern um eine echte Tabelle. Manchmal geht es eben nicht ohne Tabellen.

Die Variablendeklaration ist so korrekt, da ich vgl2 mit NUL initialisiere. Dazu benutze ich das einfache Hochkommata (').

Man darf nicht vergessen, daß das Script einwandfrei arbeitet solange nicht zuviele Datensätze angezeigt werden sollen.

Gruß
Andreas


uh ja ich hab das als " " geläsen und nicht al ' ' xD sry! :)

was mir so nach patricks post in den sinn kommt ist evtl die schrift codierung.
  • Andreas2
  • Autor
  • Neues Mitglied
  • Neues Mitglied
Mehr
19 Mai 2010 17:34 #26257 von Andreas2
Andreas2 antwortete auf Re: komisches Problem

Patrick schrieb: Bei mir funktioniert es einwandfrei (40 Datensätze).
Hast du dir mal die Datensätze Nr. 17 und 18 genau angesehen? Vielleicht ist da ein Stolperstein drin?

Hallo Patrick,

an den Datensätzen kann ich nichts besonderes entdecken. Das Problem tritt auch nicht immer beim siebzehnten Datensatz auf. Für Italien habe ich 32 Datensätze gespeichert. Das Seite mit dem Script funktioniert erst dann, wenn ich die select-Anweisung um das Statement limit 1,17 ergänze. Bei limit 1,18 erhalte ich wieder eine leere Seite.

Verückt wird es bei Russland. Für Russland habe ich 20 Datensätze gespeichert. Die Seite funktioniert nicht. Ergänze ich die select-Anweisung um ein limit 1,25 (also mehr als Sätze da sind) funktioniert die Seite für Russland.

Es ist schon verrückt. Ich kann kein Muster im Verhalten erkennen. Kann das alles browser abhängig sein? Ihr findet die Seite unter nierswetter.de. Danach unter dem Menüpunkt Weltwetter Europa auswählen und in der Tabelle rechts das Land auswählen. Auf der nächsten Seite dann Klimatabelle anwählen.

Gruß
Andreas
Mehr
19 Mai 2010 17:52 #26258 von patrick
patrick antwortete auf Re: komisches Problem
PN geschickt :)

InitCom: Webagentur für Webdesign // CMS Joomla! // PrestaShop
  • Andreas2
  • Autor
  • Neues Mitglied
  • Neues Mitglied
Mehr
19 Mai 2010 18:21 #26260 von Andreas2
Andreas2 antwortete auf Re: komisches Problem

Patrick schrieb: PN geschickt :)

Hi Patrick,

danke für das Angebot. eMail ist unterwegs.
Mehr
20 Mai 2010 09:04 #26264 von patrick
patrick antwortete auf Re: komisches Problem
Vorweg zur Info: Andreas hat mir einen Dump der Datenbank geschickt und auch das Skript in der Originalfassung. Dieses enthält einige Tabellenzeilen mehr, als das im Eingangsposting aufgeführte.

Andreas, ich konnte den weisse Seite Effekt nun reproduzieren. Als Beispiel habe ich Italien genommen. Wenn ich nur 17 Datensätze in der DB lasse funktioniert es, die Datenausgabe dauert aber sehr lange (zwei bis drei Sekunden). Mit allen 32 Datensätzen geht nichts mehr. Rufe ich das Skript direkt auf, also ohne CMS, funktioniert es einwandfrei, die Datenausgabe erfolgt in Sekundenbruchteilen. Jumi ist auch nicht Schuld, denn die weisse Seite erhalte ich auch, wenn ich das Skript ohne Jumi dafür mit einem Plugin inkludiere.

Ich denke, dass es ev. mit der Datenmenge zu tun hat. Da wird eine sehr grosse Tabelle mit sehr vielen Zeilen und Spalten generiert, hinzu kommt noch der Rest der Website. Macht hier der Browser schlapp? Oder der für PHP reservierte Speicher?


Eine Lösung wäre, dass du die Datenausgabe auf zehn oder 15 Datensätze beschränkst und eine Seitennavigation zum Weiterblättern einbaust.

Sonst wüsste ich hier nicht weiter. :-\ \

InitCom: Webagentur für Webdesign // CMS Joomla! // PrestaShop
  • Andreas2
  • Autor
  • Neues Mitglied
  • Neues Mitglied
Mehr
20 Mai 2010 15:48 #26268 von Andreas2
Andreas2 antwortete auf Re: komisches Problem
Hallo Patrick,

vielen Dank für Deine Mühe.

Den Browser kann ich mittlerweile auch ausschließen. Als Grund bleibt wirklich nur noch die Datenmenge übrig - obwohl - ich habe andere Stellen auf der Seite wo nochmehr Daten ausgegeben werden und die funktionieren.

Jedenfalls bin ich froh nichts Triviales übersehen zu haben. Ich werde wohl erstmal mit einem limit arbeiten, da mir noch nicht so ganz klar ist, wie ich die Seite im CMS rekursiv aufrufe.

Also nochmals Danke und
Gruß
Andreas
Moderatoren: Tribal6RePaoDragonlordChris Hoefligerpascaleadiheutschi.ch
Powered by Kunena Forum

Joomla! Verband Schweiz - Mitglied werden