Ausgabe von Variablen als Link in Tabelle / PHP

hadrian

Mitglied
Hallo PHP Forum,
ich habe Probleme die richtige Syntax für die Ausgabe der Variablen als Link zu setzten.

mein Skript-Ausschnitt
PHP:
$liste=$liste."<tr>
      <td width='160' height='22'><a href=\"".$dat_link["URL"]."  target="_blank"\">".$dat_link ["Bezeichnung"]."</a></td>
      <td width='490' height='22'><p class="satz">".$dat_link["Comment"]."</p></td>
      </tr>";

Wer kann mir die genaue Syntax für die <td>-Zeilen schreiben.
Die Zeilen sind natürlich in eine while-Schleife eingebunden.
Ich habe nur das Problem hier dargestellt.
Ich habe nach "trial and errror" probiert und weis nun gar nicht mehr weiter.

Wo werden die Syntaxregeln dafür im Web erklärt ?
Vielen Dank.
Gruß Mike.
 
Meiner Ansicht nach hast du bei

<p class="satz">
die \ bei den " vergessen

Die Zeile müsste lauten:

<p class=\"satz\">

MfG

Ecthelion
 
Hallo,
in den <td> Zeilen muss noch mehr falsch sein.
ich bekomme trotz <p class=\"satz\">...noch immer einen parse error in den td Zeilen.
Gruß Mike.
 
Hallo!

PHP:
$liste=$liste."<tr> 
	 <td width=\"160\" height=\"22\"><a href=\"".$dat_link["URL"]."\" target=\"_blank\">".$dat_link["Bezeichnung"]."</a></td> 
	 <td width=\"490\" height=\"22\"><p class=\"satz\">".$dat_link["Comment"]."</p></td> 
	 </tr>";
Gruss Dr Dau
 
Wenn du Anführungszeichen (") verwendest, brauchst du nicht unbedingt den Code mit Punkt zu unterbrechen:
$dat_link["Comment"] funktioniert statt ".$dat_link["Comment"]." auch.

Alternativ, falls du eine Unterbrechung wegen Darstellung bevorzugst, kannst du anstatt Anführungszeichen (") auch Hochkommas (') verwenden.
Dann sparst du dir das escapen (\") der Zeichen.

Also z.B. so würde ich es machen:
PHP:
 $liste=$liste.'<tr>
     <td width="160" height="22"><a href="'.$dat_link['URL'].'" target="_blank">'.$dat_link['Bezeichnung'].'</a></td>
     <td width="490" height="22"><p class="satz">'.$dat_link['Comment'].'</p></td>
     </tr>';
 
Hallo!

@Jörg, natürlich gibt es verschiedene Möglichkeiten.
Die kenne ich auch mehr oder weniger.
Da ich aber noch newbie in PHP bin und es für mich persönlich nach meinem o.g Code irgendwie "logischer" nachvollziebar ist (so hoffe ich jedenfalls), versuche ich mich auf die Variante einzupendeln.
Dass escapen macht zwar mehr Arbeit, aber es ist nicht falsch und funktioniert auch.
Ob dein Code tatsächlich funktioniert habe ich jetzt nicht getestet, sieht aber zumindest soweit OK aus.

Gruss Dr Dau
 
@Jörg

OK, die Performance ist natürlich ein Argument, zumindest für grössere Projekte.
Aber so weit bin ich noch lange nicht.

Mein grösstes Projekt ist bisher ein Mini-CMS.
Funktion:
JPG und PDF Up/Download, TXT öffnen bearbeiten und wieder speichern (falls nicht vorhanden, dann anlegen), Dateien per include() bzw echo in die Seite einbinden (natürlich mit if/else ob vorhanden oder nicht, wenn nicht dann wird alternativer Inhalt ausgegeben), JPG PDF und TXT löschfunktion.

Wo wir grad dabei sind, kannst Du mir zufällig sagen ob php_uname('s'), php_uname('r') und php_uname('m') auch auf einem Windows Server funktioniert?
Mein (Root-)Server läuft namlich unter Linux und daher sehe ich auch kein bedarf mir ein Windows Server aufzusetzen (keine Angst, der Mailserver ist deaktiviert).
Rein theoretisch müsste dabei etwas in der Form von z.b. "Wndows NT 5.1 Build xxxx i686" rauskommen.

Hast Du evtl. auch ein Stichwort womit ich die Serverlast abfragen kann?

phpinfo() ist zwar nicht schlecht, nur liefert es mir zu viele Infos die ich nicht brauche.
Und auf der andern Seite liefert es z.b. keine Infos über belegten/freien HDD-Platz, das habe ich aber schon hinbekommen, inkl. round().
 
Naja, ich machs lieber von Anfang an "richtig" oder so, dann brauch ich im worst-case nicht umstellen.

Nein, die Befehle hab ich noch nie gebraucht.
Liefer die Konstante PHP_OS nicht das gewünschte Ergebnis?
 
Wie man es erlernt ist ja vom Prinzip egal, viel wichtiger ist ja ob der Code als solches auch korrekt ist.
PHP_OS liefert unter Linux nur "Linux" aus, dass hatte ich schon probiert.
Daher gehe ich mal davon aus dass auch unter Windows nur "Windows NT" ausgegeben wird, also ohne Kernelversion und Prozessor-Typ.
Wie gesagt, ich habe kein Win-Server zum testen. :rolleyes:

[edit] Mit php_uname() kann ich ja beeinflussen welche Infos ausgegeben werden, ich habe allerdings die böse ahnung dass uname für "Unix Name" stehen könnte und dann könnt es evtl. unter Win nicht funktionieren. [/edit]
 
Zuletzt bearbeitet:
Zurück