Zum Inhalt springen

pdf anzeigen (php)


Empfohlene Beiträge

hi leutz,

folgendes problem:

ich erzeuge mittels php eine dynamische html-seite. die daten, die ich dazu brauche kommen aus einer posgres db.

auf meiner dynamisch erzeugten html seite wird eine tabelle dargestellt.

in jeder tabellenzeile gibt es einen text und dahinter einen info button.

funktioniert auch soweit alles schon.

wenn man auf den info button klickt, dann soll ein pdf geöffnet werden.

auf meinen statischen seiten war das kein problem, da hab ich einfach eine javascript funktion aufgerufen und den pfad zum pdf übergeben.

wie mach ich dass auf meiner dynamischen seite?

ich hab eine db-tabelle, in der steht eine id, text,pdf-pfad

so jetzt kann ich also jedem text den pfad zu seinem spezifischen pdf angeben.

nur wie bekomm ich dass jetzt hin, dass wenn ich auf den button klick mir das richtige pdf angezeigt wird?

kann mir jmd helfen und wenn möglich mit nem kleinen code beispiel.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hm, so ganz versteh ich das Problem nicht....

Prinzipiell schreibt man ja bei einem Link einfach den Pfad der zu öffnenden Datei hin, egal ob pdf oder irgendwas. Du rufst bei Deinen statischen Seiten ein JavaScript auf (wahrscheinlich wegen eines grafischen Buttons?), was spricht dagegen, das auch in php zu tun?

Schreib doch mal genauer. Was genau wird nicht ausgeführt?

Link zu diesem Kommentar
Auf anderen Seiten teilen

ok, ich versuchs nochmal und außerdem war ich wohl auf dem holzweg.

ich dachte, ich könnte die pdf´s weiterhin mit nem javascript anzeigen.

also hier ein codeschnipsel aus meiner dynamischen html-datei:


<input type="submit" name="action" value="Info">
[/PHP]

ein ausschnitt aus meiner php datei:

[PHP]
switch($_REQUEST["action"]){
//######## INFO ###########
case "Info":
header("location:../page/pdf_anzeigen.php");
break;

}

wenn ich auf den info button klicke, dann muss ich das pdf angezeigt bekommen, das

zu meinem text gehört, sprich einfach eine ausführliche beschreibung.

also in den case läuft er mir rein, nur muss ich jetzt ja noch irgendwie rausbekommen, welcher info button gedrückt wurde, damit ich das richtige pdf anzeigen kann. dafür hab ich die id von dem text in die dynamische seite geparst.

und jetzt muss ich ne sql abfrage machen, oder?

$sql = select pdf-pfad from tabelle where id = id aus meiner html seite

so ungefähr, oder?

und dann soll er mir einfach ne weiterleitung zum passenden pdf machen.

war das besser verständlich?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das ist aber doch irgenwie umständlich. Du könntest doch den Link zum PDF gleich direkt in den Submit-Button reinparsen.

Du brauchst ja vorher schon eine SQL Abfrage. Da fragst du einfach noch den PFad mit ab, z.B. als $pdf-pfad und dann baust du unter dem Text dynamisch den submit ein.


<?
echo "<input type=submit onclick=\"javascript:window.open('$pdf-pfad')\">";
?>
[/PHP]

So sparst du dir das zweite Script.

Link zu diesem Kommentar
Auf anderen Seiten teilen

hi,

also, da ich mit templates arbeite, hab ich deine idee mit dem button noch nicht so ganz kapiert.

mein html-template:


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<title>xxx</title>
<link rel="stylesheet" type="text/css" href="../css/format.css">
</head>
<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<table border="0" width="100%">
<!-- BEGIN text -->
{BLOCKÜBERSCHRIFT}
<tr class="modul">
<td>{TEXT}</td>
<td width="6%"align="center">
<input type="checkbox" name="{NR}" value="{NR}">
</td>
<td width="6%" align="center">
<input_type="submit" value="Info"_onClick=\"java script:window.open('{PDFPFAD}')\">
</td>
</tr>
<!-- END text -->
</table>
</body>
</html>
[/PHP]

der text block sorgt dafür, dass die zeilen so oft geparst werden, wie datensätze vorhanden sind.

in die TEXT ersetzungsmarke wird mein text geparst und in die NR die id aus der datenbank.

ok, aber wenn ich das so mache, dann zeigt er mir den button nicht an.

danke korea1

Link zu diesem Kommentar
Auf anderen Seiten teilen

also ich hab den button mal in eine extra testdatei gehauen.

irgendwas stimmt da aber nicht, der button wird mir gar nicht angezeigt.

html-template:


<html>
<head>
<title>test template</title>
</head>

<body>

<form action="../page/test2.php" method="post">
<table border="1">
<tr>
<td>mein info button:</td>
</tr<
<tr>
<td><input_type="submit" value="Info"_onClick="java script:alert("hallo")"></td>
</tr>
</table>

</form>

</body>
</html>
[/PHP]

Link zu diesem Kommentar
Auf anderen Seiten teilen

hi frank,

die unterstriche hat es nur hier reingemacht, aber im source code sind die nich drin.

ich hab inzwischen auch ne fehlermeldung bekommen und zwar von dem netscape mittels der javascript konsole.

missing ; before statement.

java script:alert( .....

was ist falsch??

korea1

Link zu diesem Kommentar
Auf anderen Seiten teilen

also es funktioniert und zwar so:

<input type="button" value="Info" onClick="window.open('{PDFPFAD}','info')">

das problem war, dass onClick ja ein javascript eventhandler is, der nur javascript code erwartet.

deshalb hab ich das java script: weggelassen und dann hats funktioniert.

danke euch allen

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von korea1

also es funktioniert und zwar so:

<input type="button" value="Info" onClick="window.open('{PDFPFAD}','info')">

das problem war, dass onClick ja ein javascript eventhandler is, der nur javascript code erwartet.

deshalb hab ich das java script: weggelassen und dann hats funktioniert.

danke euch allen

Uaaah, das hätt och auch gleich sehen können.:eek:

Sorry für die Irreführung, lange kein Java mehr gescriptet. *indieeckestellundschäm*

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...