CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos

|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP 
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden |

17.02.2009, 16:24:15
|
Anfänger
|
|
Registriert seit: Feb 2009
Alter: 38
Beiträge: 7
|
|
PHP / MYSQL dynamische Tabelle
Hallo, ich habe einen Logikfehler in meiner dynamischen Tabelle, ich hab den Code mal durchkommentiert und formatiert um euch um Hilfe zu bitten.
Das die Tabelle nach jeder Spalte geschlossen wird ist gewollt.
Trotzdem kriege ich den Zähler nicht gescheit in den Griff so das die Ausgabe im Browser zwar stimmt, das ganze aber weder W3C kompatibel ist noch im Quelltext korrekt aussieht.
Danke im voraus, mir qualmt schon seit 2 Tagen der Kopf ;).
Code:
<?php
$tabellencounter=0;
$zeileende=4;
$unfertige_zeile=$zeileende-1;
while(array)
{
// Wenn Counter gleich Null, bedeutet Tabelle neu, also <table...>
if ($tabellencounter ==0)
{echo "<table><tr>";}
// Wenn Tabelle neu oder angebrochen aber noch nicht am Spaltenmaximum angekommen erstelle <td>.
if ($tabellencounter >=0 && $tabellencounter <= $unfertige_zeile)
{echo "<td align=\"center\">";}
// Tabelleninhalt
echo "content.....";
// Wenn Tabelle neu oder angebrochen aber noch nicht am Spaltenmaximum angekommen schliesse </td>.
if ($tabellencounter >=0 && $tabellencounter <= $unfertige_zeile)
{echo "</td>";}
// Wenn die eingestellte Spaltenzahl "$zeilenende" erreicht wurde schließe </td>, </tr> und die tabelle </table>
if ($tabellencounter == $zeileende)
{echo "</td></tr></table>";}
// Damit die Tabelle auch geschlossen wird wenn die While zu Ende ist aber das Ergebnis ungerade ist und der Counter nicht durch den "++" Zähler überschrieben wird, schreibe den Wert in eine extra Variable
// welche nach der While benötigt wird.
$tabellencounter2=$tabellencounter;
// Wenn das Spaltenende erreicht wird, wird der Zähler resettet auf "negativ 1" da danach der Zähler hochzählt, so sollte die While oben wieder bei 0 beginnen.
if ($tabellencounter == $zeileende)
{$tabellencounter=-1;}
$tabellencounter++;
}
if ($tabellencounter2)
{ if ($tabellencounter2 >=0 && $tabellencounter2 <= $unfertige_zeile)
{echo "</tr></table>";}
}
?>
Geändert von Gonzo28 (17.02.2009 um 17:43:43 Uhr)
|

17.02.2009, 17:20:46
|
SELFPHP Profi
|
|
Registriert seit: Apr 2008
Alter: 47
Beiträge: 1.938
|
|
AW: PHP / MYSQL dynamische Tabelle
Zitat:
while{mysql_fetch_array($db_data);
{
|
hier stimmen mehrere sachen nicht - richtige syntax:
PHP-Code:
while( bedingung )
{
anweisung;
}
http://de2.php.net/manual/de/control...ures.while.php
cx
|

17.02.2009, 17:30:59
|
Anfänger
|
|
Registriert seit: Feb 2009
Alter: 38
Beiträge: 7
|
|
AW: PHP / MYSQL dynamische Tabelle
ja das ist irrelevant....
die while läuft ich hab den eigentlichen quell code rauskopiert und von allem befreit was für potentielle Helfer irrelevant ist, die Tabelle ist nur ein Teil meiner While Schleife welche sonst zu 100% funktioniert, hab mich nur vertippt.
Gruß
|

17.02.2009, 17:39:13
|
SELFPHP Profi
|
|
Registriert seit: Apr 2008
Alter: 47
Beiträge: 1.938
|
|
AW: PHP / MYSQL dynamische Tabelle
Zitat:
Zitat von Gonzo28
ja das ist irrelevant....
|
wenn du das so genau weisst... wozu brauchst du dann hilfe ?
mit verstümmelten quelltexten, die darüber hinaus "tipfehlern" beinhalten, kann dir leider nicht geholfen werden...
cx
|

17.02.2009, 17:42:55
|
Anfänger
|
|
Registriert seit: Feb 2009
Alter: 38
Beiträge: 7
|
|
AW: PHP / MYSQL dynamische Tabelle
Wo ist dein Problem?
Es geht um die Tabelle innerhalb der While, ich hab es extra nur auf die Tabellensyntax verringert damit es übersichtlicher bleibt, nicht damit ich dafür angemotzt werde.
|

17.02.2009, 17:46:12
|
SELFPHP Profi
|
|
Registriert seit: Apr 2008
Alter: 47
Beiträge: 1.938
|
|
AW: PHP / MYSQL dynamische Tabelle
ich habe kein problem - du verkennst die situation und die rollenverteilung:
du bittest um hilfe und kommst mir nach gutgemeinten hinweisen dumm.
versuch's bitte nochmal, frag' woanders oder komm selbst klar.
[mod: geschlossen]
cx
|

18.02.2009, 15:07:02
|
SELFPHP Profi
|
|
Registriert seit: Apr 2008
Alter: 47
Beiträge: 1.938
|
|
AW: PHP / MYSQL dynamische Tabelle
[mod: wieder-eröffnung]
cx
|

18.02.2009, 15:38:32
|
Anfänger
|
|
Registriert seit: Feb 2009
Alter: 38
Beiträge: 7
|
|
AW: PHP / MYSQL dynamische Tabelle
nachdem ich mit dem Threadschliesser und Wiedereröffner :P die ungereimtheiten aus dem Weg geräumt habe bitte ich euch erneut um Hilfe für den von mir geposteten Code am Anfang des Threads.
Danke!
|

18.02.2009, 19:14:58
|
 |
Senior Member
|
|
Registriert seit: Feb 2006
Ort: Wallrabenstein
Alter: 54
Beiträge: 1.044
|
|
AW: PHP / MYSQL dynamische Tabelle
Zumindest bekommt man schon am Anfang einen Fehler
Zitat:
Parse error: syntax error, unexpected T_ARRAY_CAST, expecting '(' in .....
|
Hab mal die While entfernt -somit ist counter =0
angezeigter Quelltext:
HTML-Code:
<table><tr><td align="center">content.....</td>
Deine eigentliche Tabelle schließt somit nicht korrekt ab.
Geändert von urvater (18.02.2009 um 19:19:43 Uhr)
|

18.02.2009, 19:29:07
|
 |
Senior Member
|
|
Registriert seit: Feb 2006
Ort: Wallrabenstein
Alter: 54
Beiträge: 1.044
|
|
AW: PHP / MYSQL dynamische Tabelle
So scheint es zu funktionieren. Zzumindest mit counter 0,1 und 2 wars richtig. Änderung kommentiert in Zeile 29
PHP-Code:
<?php
$tabellencounter=0;
$zeileende=4;
$unfertige_zeile=$zeileende-1;
// Wenn Counter gleich Null, bedeutet Tabelle neu, also <table...>
if ($tabellencounter ==0) {echo "<table><tr>";}
// Wenn Tabelle neu oder angebrochen aber noch nicht am Spaltenmaximum angekommen erstelle <td>.
if ($tabellencounter >=0 && $tabellencounter <= $unfertige_zeile)
{echo "<td align=\"center\">";}
// Tabelleninhalt
echo "content.....";
// Wenn Tabelle neu oder angebrochen aber noch nicht am Spaltenmaximum angekommen schliesse </td>.
if ($tabellencounter >=0 && $tabellencounter <= $unfertige_zeile)
{echo "</td>";} //bis hier i.O.
// Wenn die eingestellte Spaltenzahl "$zeilenende" erreicht wurde schließe </td>, </tr> und die tabelle </table>
if ($tabellencounter == $zeileende)
{echo "</td></tr></table>";}
// Wenn das Spaltenende erreicht wird, wird der Zähler resettet auf "negativ 1" da danach der Zähler hochzählt, so sollte die While oben wieder bei 0 beginnen.
if ($tabellencounter == $zeileende)
{$tabellencounter=-1;} //counter = -1
$tabellencounter++; //counter = 0
//Tabellencounter2 hab ich nach hier versetzt. Mehr nicht
// Damit die Tabelle auch geschlossen wird wenn die While zu Ende ist aber das Ergebnis ungerade ist und der Counter nicht durch den "++" Zähler überschrieben wird, schreibe den Wert in eine extra Variable
// welche nach der While benötigt wird.
$tabellencounter2=$tabellencounter;
if ($tabellencounter2)
{ if ($tabellencounter2 >=0 && $tabellencounter2 <= $unfertige_zeile)
{echo "</tr></table>";}
}
?>
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Ansicht |
Linear-Darstellung
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 01:48:08 Uhr.
|