Profil | Mitglieder | Registrieren | Start | Suche


PHP-Support.de » Programmierung » PHP & MySQL » Datensatz detailiert anzeigen    » Hallo Gast [Login | Registrieren]

Neues Thema | Antworten   

Autor Beitrag
Vengalis
Mitglied
Neuling


Dabei seit: 10.10.2017
Herkunft: keine Angabe
Posts: 2
     Datensatz detailiert anzeigen Zitat | Bearbeiten

Hallo liebe PHP-Freunde,

ich hoffe als Neuling hier im Forum relativ schnelle eine Lösung meines Problems finden zu können. Ich möchte gern einen ausgelesenen Datensatz aus der Datenbank mit einer bestimmten Nummer (ID) anklicken können um diesen Datensatz entsprechend detailiert anzeigen zu lassen.

Hier erstmal der Quellcode dazu:

 PHP 
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:

<?php
// Verbindung zur Datenbank aufbauen
include "./pav-db/verbinden.php";

// Anzahl der Datensätze (Nachrichten) pro Seite
$DatensaetzeSeite 10;

// Anzahl der Datensätze ermitteln
$select $db->query("SELECT `id` FROM `stellenangebot` WHERE `anzeige` = '1'");
$AnzahlDatensaetze $select->rowCount();

// Sind Datensätze vorhanden?
if ($AnzahlDatensaetze 0) {

 // Die Anzahl der Seiten ermitteln
 $AnzahlSeiten ceil($AnzahlDatensaetze $DatensaetzeSeite);

 // Die aktuelle Seite ermitteln
 $AktuelleSeite = isset($_GET["seite"]) ? $_GET["seite"] : 1;

 // Den über $_GET["seite"] gesendeten Wert überprüfen und ggf. ändern
 $AktuelleSeite ctype_digit($AktuelleSeite) ? abs((int)$AktuelleSeite) : 1;
 $AktuelleSeite $AktuelleSeite || $AktuelleSeite $AnzahlSeiten $AktuelleSeite;

 // Den Versatz ermitteln
 $Versatz $AktuelleSeite $DatensaetzeSeite $DatensaetzeSeite;

 // Alle Datensätze auslesen die in der DB-Spalte `anzeige` den Wert 1 haben.
 // Mit LIMIT die Ausgabe der Datensätze begrenzen (Versatz und Datensätze pro Seite).
 $select $db->prepare("SELECT `id`, `angebotnr`, `stellen`, `beruf`, `ort`, `available`, `dauer`, `beschreibung`, `lohn`, `kfz`, `worktime`, `datum`
                         FROM `stellenangebot`
                         WHERE `anzeige` = '1'
                         ORDER BY `datum` DESC
                         LIMIT :versatz, :DatensaetzeSeite"
);
 $select->bindParam(':versatz'$VersatzPDO::PARAM_INT);
 $select->bindParam(':DatensaetzeSeite'$DatensaetzeSeitePDO::PARAM_INT);
 $select->execute();
 $nachrichten $select->fetchAll(PDO::FETCH_OBJ);

 // Ausgabe über eine Foreach-Schleife
 foreach ($nachrichten as $nachricht) {
  // Mit sscanf() wird das Format des Datums in die Variablen $jahr, $monat und $tag extrahiert.
  sscanf($nachricht->datum"%4s-%2s-%2s"$jahr$monat$tag);


An folgender Stelle soll nun die Angebotsnummer zum link gemacht werden, welche mich zu einer detailseite verlinkt. Das hat auch geklappt. jedoch kommt ich nicht mehr weiter was nun folgen muss, damit als Beispiel https://www.meine-hp.de/pav/pav-db/auslesen.php?id=9
zur detailierten Ansicht umgeschalten wird.

 PHP 
1:
2:

  echo '<tr><td valign=top><a href="?id=' . $nachricht->id . '">' . $nachricht->angebotnr . '</a></td>' .


Wenn das das dann hinhaut, bin ich euch sehr verbunden und Dankbar für Eure Hilfe.

 PHP 
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:

       '<td valign=top>' . $tag . '.' . $monat . '.' . $jahr . '</td><td valign=top>' . $nachricht->stellen . '</td><td valign=top>' . $nachricht->beruf .
       '</td><td valign=top>' . $nachricht->ort . '</td></tr>';
 }

 // Formular.- und Blätterfunktion (Wer sich da auskennt bekommt einen Preis verliehen ;)
 echo '</table><br><br>';

 echo '<form action="./pav-db/auslesen.php" method="GET" autocomplete="off">' .
      (($AktuelleSeite - 1) > 0 ?
      '<a href="?seite=' . ($AktuelleSeite - 1) . '">◄</a>' :
      ' ◄') .
      ' <label>Seite <input type="text" value="' . $AktuelleSeite . '" name="seite" size="3"' .
      ' title="Seitenzahl eingeben und die Eingabetaste drücken."> von ' . $AnzahlSeiten . '</label>' .
      (($AktuelleSeite + 1) <= $AnzahlSeiten ?
      ' <a href="?seite=' . ($AktuelleSeite + 1) . '">►</a>' :
      ' ►') .
      '</form>';
}
else {
 echo '</table><br><br><p>Keine Angebote vorhanden!</p>';
}
?>


Das wäre der gesamte Quellcode der Datei auslesen.php dieser Quellcode jedoch ist nicht von mir selbst, ich habe diesen nur modifiziert.


Ich scheitere kläglich an dem Umbau bzw. der Abfrage (IF ID) das dann angezeigt werden soll.

Ich hoffe das ich von jemanden hier Unterstützung mit eventl. Beispiel wonach ich mich richten kann, erhalte.

MfG Vengalis


10.10.2017, 16:10 Profil | PM | E-Mail  
Vengalis
Mitglied
Neuling


Dabei seit: 10.10.2017
Herkunft: keine Angabe
Posts: 2
     Lösung in anderem Forum bekommen und umgesetzt Zitat | Bearbeiten

_________________________
NACHTRAG
_________________________

Da ich hier ja keine Antwort bekommen habe, musste ich mich in anderen Foren umsehen und dort die Lösung bekommen.

 PHP 
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:

<?php
// Verbindung zur Datenbank aufbauen
include "./pav-db/verbinden.php";

// Anzahl der Datensätze (Nachrichten) pro Seite
$DatensaetzeSeite 10;

// Anzahl der Datensätze ermitteln
$select $db->query("SELECT `id` FROM `stellenangebot` WHERE `anzeige` = '1'");
$AnzahlDatensaetze $select->rowCount();

$id = ( isset( $_GET['id'] ) && is_numeric$_GET['id'] ) ) ? intval$_GET['id'] ) : 0;

if ( 
$id != )
{
 
$select $db->prepare("SELECT `id`, `angebotnr`, `stellen`, `beruf`, `ort`, `available`, `dauer`, `beschreibung`, `lohn`, `kfz`, `worktime`, `datum`, `anzeige`
                         FROM `stellenangebot`
                         WHERE `id` = :id"
);

 
// $select->execute() führt die Anweisung aus.
 // Hier wird der Platzhalter und der Wert über ein assoziatives Array übergeben.
 
$select->execute( array(':id' => $_GET["id"]) );

 
// $select->fetch() holt die Zeile aus dem Ergebnis.
 
$nachricht $select->fetch();
  echo 
'
       <div style="background-color:#F3F781;"><span style="font-size:12pt; padding: 0cm 0.2cm 0cm;" align="left"><strong>' 
$nachricht["stellen"] . '&nbsp;' $nachricht["beruf"] . '</strong></span><br><span style="font-size:9pt; padding: 0cm 0.2cm 0cm;" align="left">Arbeitsangebot-Nr.:' $nachricht["angebotnr"] . '</span><br></div>
       <table border="0" cellspacing="0" cellpadding="5">
       <tr><td align="right">Einsatzort:</td><td>' 
$nachricht["ort"] . '</td></tr>
       <tr><td align="right">Verf&uuml;gbarkeit:</td><td>' 
$nachricht["available"] . '</td></tr>
       <tr><td align="right">Arbeitsdauer:</td><td>' 
$nachricht["dauer"] . '</td></tr>
       <tr><td align="right" valign="top">Beschreibung:</td><td>' 
nl2br($nachricht["beschreibung"]) . '</td></tr>
       <tr><td align="right">Verg&uuml;tung:</td><td>' 
$nachricht["lohn"] . '</td></tr>
       <tr><td align="right">F&uuml;hrerschein:</td><td>' 
$nachricht["kfz"] . '</td></tr>
       <tr><td align="right">Arbeitszeit:</td><td>' 
$nachricht["worktime"] . '</td></tr></table>
       '
;
  echo 
'<br><br><a href="stellenangebot.php">zur&uuml;ck zur &Uuml;bersicht</a>';
}
else
{
  echo 
'<div style="font-size:16pt; padding: 0cm 0.2cm 0cm;" align="left"><strong>Unsere Stellenangebote im &Uuml;berblick<br><br></strong></div>' .
       
'<table border="1" cellspacing="0" cellpadding="2">' .
       
' <tr>' .
       
'  <td>&nbsp;<b><nobr>Angebots-Nr:</nobr></b>&nbsp;</td><td>&nbsp;<b><nobr>Abgebot vom:</nobr></b>&nbsp;</td><td>&nbsp;<b>Stellen</b>&nbsp;</td><td>&nbsp;<b>Berufbezeichnung</b>&nbsp;</td><td>&nbsp;<b>Einsatzort</b>&nbsp;</td><!--<td>Verf&uuml;gbarkeit</td><td>Arbeitsdauer</td><td>Beschreibung</td><td>Verg&uuml;tung</td><td>F&uuml;hrerschein</td><td>Arbeitszeit</td> -->' .
       
' </tr>';
  if (
$AnzahlDatensaetze 0)
  {
    
$AnzahlSeiten ceil($AnzahlDatensaetze $DatensaetzeSeite);
    
$AktuelleSeite = isset($_GET["seite"]) ? $_GET["seite"] : 1;
    
$AktuelleSeite ctype_digit($AktuelleSeite) ? abs((int)$AktuelleSeite) : 1;
    
$AktuelleSeite $AktuelleSeite || $AktuelleSeite $AnzahlSeiten $AktuelleSeite;
    
$Versatz $AktuelleSeite $DatensaetzeSeite $DatensaetzeSeite;
    
$select $db->prepare("SELECT `id`, `angebotnr`, `stellen`, `beruf`, `ort`, `available`, `dauer`, `beschreibung`, `lohn`, `kfz`, `worktime`, `datum`
                                     FROM `stellenangebot`
                                     WHERE `anzeige` = '1'
                                     ORDER BY `datum` DESC
                                     LIMIT :versatz, :DatensaetzeSeite"
);
    
$select->bindParam(':versatz'$VersatzPDO::PARAM_INT);
    
$select->bindParam(':DatensaetzeSeite'$DatensaetzeSeitePDO::PARAM_INT);
    
$select->execute();
    
$nachrichten $select->fetchAll(PDO::FETCH_OBJ);
    foreach (
$nachrichten as $nachricht)
    {
       
sscanf($nachricht->datum"%4s-%2s-%2s"$jahr$monat$tag);
       echo 
'<tr><td valign=top><a style="text-decoration:underline; color:#08298A; font-weight:bold;" href="?id=' $nachricht->id '">' $nachricht->angebotnr '</a></td><td valign=top>' $tag '.' $monat '.' $jahr '</td><td valign=top>' $nachricht->stellen '</td><td valign=top>' $nachricht->beruf '</td><td valign=top>' $nachricht->ort '</td></tr>';
    }
    echo 
'</table><br><br>';
    echo 
'<form action="./pav-db/auslesen.php" method="GET" autocomplete="off">' .
         ((
$AktuelleSeite 1) > ?
         
'<a href="?seite=' . ($AktuelleSeite 1) . '">◄</a>' :
         
' ◄') .
         
' <label>Seite <input type="text" value="' $AktuelleSeite '" name="seite" size="3"' .
         
' title="Seitenzahl eingeben und die Eingabetaste drücken."> von ' $AnzahlSeiten '</label>' .
         ((
$AktuelleSeite 1) <= $AnzahlSeiten ?
         
' <a href="?seite=' . ($AktuelleSeite 1) . '">►</a>' :
         
' ►') .
         
'</form>';
  }
  else 
  {
    echo 
'</table><br><br><p>Keine Jobangebote vorhanden!</p>';
  }
}
?>



12.10.2017, 19:13 Profil | PM | E-Mail  
Seiten (1):  1 
PHP-Support.de » Programmierung » PHP & MySQL » Datensatz detailiert anzeigen   

Neues Thema | Antworten   


Powered by Command Board 1.0 - Beta 2.0 © 2004-08 PHP-Einfach | Impressum | Datenschutz