Computer Hardware Forum - TweakPC

Computer Hardware Forum - TweakPC (https://www.tweakpc.de/forum/)
-   Programmiersprachen (https://www.tweakpc.de/forum/programmiersprachen/)
-   -   PHP: Link mit Variable (https://www.tweakpc.de/forum/programmiersprachen/11629-php-link-mit-variable.html)

mort 09.11.2003 13:35

PHP: Link mit Variable
 
Hallo,
bin PHP Anfänger und mach die Homepage meiner Jahrgangsstufe in der Schule. Hab die Namenliste als MySQL Datenbank angelegt und kann die auch wunderbar mit PHP auslesen.
Jetzt will ich nur noch, dass auf der e-mail Adresse auch ein Link der Art "mailto:email@adresse.de" ist.

erstmal hier der Code:

[code]<?php
$res = mysql_query('select Nachname, Vorname, Geburtstag, Mail
from Stufenliste
order by Nachname');
echo mysql_error();

echo "<table border=\"0\">
<tr>
<td width=\"130\"><strong>Name</strong></td>
<td width=\"100\"><strong>Vorname</strong></td>
<td width=\"100\"><strong>Geburtstag</strong></td>
<td width=\"220\"><strong>E-Mail</strong></td>
</tr>
</table>";

while ($row = mysql_fetch_array($res))
{

echo "<table border=\"0\" \n";
printf("<tr><td width=\"130\">%s</td>\n",
$row["Nachname"]);
printf("<td width=\"100\">%s</td>\n",
$row["Vorname"]);
printf("<td width=\"100\">%s</td>\n",
$row["Geburtstag"]);
printf("<td width=\"220\"><a href= \"mailto:***Mail***\">%s</a></td></tr>\n",
$row["Mail"]);
echo "</table>\n";
}

?>[/code]

Wenn ich jetzt anstatt ***Mail*** eine konstante z.B. "ich@selber.de" eingebe, werden alle e-mail Adressen mit dieser Adresse verlinkt. Funktioniert also im Prinzip schon mal. Wenn das ich jetzt durch %s ersetze sagt der PHP Server "Warning: printf(): Too few arguments".

Bin PHP Newbie, also behandelt mich mit Nachsicht ;) .
Danke schonmal für eure Hilfe.

Mort

mort 09.11.2003 13:39

sorry, für den unnötigen traffic. hab den fehler gefunden. sind ja jetzt zwei variablen hintereinander, hab aber nur eine definiert.
muss also so aussehen: [code]printf("<td width=\"220\"><a href= \"mailto:%s\">%s</a></td></tr>\n",
$row["Mail"], $row["Mail"]);[/code]

Pirke 09.11.2003 21:14

Benutze lieber nicht die C Syntax, die ist irgendwie zu kompliziert, beiPHP kannste die Variable direkt mit $variablenname ausgeben. Dann brauchste auch kein Printf, sondern nur eho oder print.

tele 17.11.2003 10:03

[code]
echo '<a href="'.$var.' target=main">'.$var.'</a>';
[/code]

Pirke 17.11.2003 22:54

[quote=telepornos][code]
echo '<a href="'.$var.' target=main">'.$var.'</a>';
[/code][/quote]
D kannst die Variablen in den Text fließen lassen, du musst nicht extra die Hochkommas setzen.

tele 18.11.2003 13:16

uups, war halt im korrektheistwahn is blos gleich als hinweiß wenn man zwei variablen verbinden will

tele 18.11.2003 14:23

@ prike du kannst die variable in den fließtext schreiben, aber du bkommst probleme wenn du arrayinhalte verwendest

BSP:

echo '$row['id']'; wired einen parse error geben, also lieber meine variante verwenden

tele 04.12.2003 18:48

also hab noch was:

wenn du z.b. javascript einbindest, stösst du auf noch ein problem wenn es um hochkommata geht: confirm('lschen?') muss nämlich z.b. innerhal eines echos oder außerhalb von php stehen, d.h.

[code]
echo '<a href="'.$var.' target=main">'.$var.'</a>';

[/code]

wird zu
[code]
?> <a href="<?php echo $var; ?>" target=main onclick="confirm('wirklich?')">weiter</a><?php
[/code]

aber das ist nur bei diesen js fällen nötig ansonsten find ich diese notation *******e, aber die geht bei fasst allen problemfällen


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:46 Uhr.

Powered by vBulletin® Version 3.8.10 (Deutsch)
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
SEO by vBSEO 3.5.2 ©2010, Crawlability, Inc.