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 |
06.10.2017, 18:09:25
|
Anfänger
|
|
Registriert seit: Oct 2017
Alter: 41
Beiträge: 4
|
|
Datensatz detailiert anzeigen
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-Code:
<?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 < 1 || $AktuelleSeite > $AnzahlSeiten ? 1 : $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', $Versatz, PDO::PARAM_INT);
$select->bindParam(':DatensaetzeSeite', $DatensaetzeSeite, PDO::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.example.com/pav/pav-db/auslesen.php?id=9 zur detailierten Ansicht umgeschalten wird.
PHP-Code:
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-Code:
'<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 Quellcoder der Datei. Gern würde ich Euch anhand eines Beipiels ein Bild mit hochladen. Jedoch bekomme ich Fehler 500 angezeigt.
Ich hoffe das ich von jemanden hier Unterstützung mit eventl. Beispiel wonach ich mich richten kann, erhalte.
MfG Vengalis
|
08.10.2017, 16:51:36
|
|
Administrator
|
|
Registriert seit: Jul 2004
Beiträge: 3.707
|
|
AW: Datensatz detailiert anzeigen
Hallo und willkommen hier im Forum.
So sollte es funktionieren:
PHP-Code:
echo '<tr><td valign=top><a href="https://www.example.com/pav/pav-db/auslesen.php?id=' .$nachricht->id .'">' .$nachricht->angebotnr .'</a></td>';
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert
Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!
Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
|
09.10.2017, 10:58:13
|
Anfänger
|
|
Registriert seit: Oct 2017
Alter: 41
Beiträge: 4
|
|
AW: Datensatz detailiert anzeigen
Hallo, Danke für die Antwort aber es hat sich nichts geändert. Das Simmikolon am Ende ist unnötig da es wie im Quelltext steht in den folgezeilen mit dem Echo " " weiter geht. Ich habe nur ein punkt gesetzte damit ich für mich in der Ansicht im Quellcode sehen kann das eine neue Zeile weitergeht.
Deine Antwort ist als unverändert zu meinem.
|
09.10.2017, 11:08:00
|
|
Administrator
|
|
Registriert seit: Jul 2004
Beiträge: 3.707
|
|
AW: Datensatz detailiert anzeigen
Was steht in der Datei auslesen.php?
Wenn Dein og. Code der Datei auslesen.php entspricht, musst Du die übergebenen Werte abfragen (hier: ID) - ob vorhanden. Dann die entsprechende Verarbeitung (IF id ...) vornehmen.
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert
Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!
Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
|
10.10.2017, 16:51:46
|
Anfänger
|
|
Registriert seit: Oct 2017
Alter: 41
Beiträge: 4
|
|
AW: Datensatz detailiert anzeigen
Hallo genau darin liegt ja das Problem, ich scheitere daran diese IF Abfrage zu machen, ich bin in Sachen PHP nicht so Firm, ich kann lediglich den Vorhandenen Code umschreiben bzw. für meine Zwecke anpassen, daher benötige ich einen Anhaltspunkt.
Das ich eine Seite basteln muss bei dem dann die detailierte Anzeige kommt ist mir bewusst jedoch ist mir nicht klar wie ich die Abfrage "programmieren" muss, dass wenn ich in der "auslesen.php" die ausgelesene $angebotnr anklicke, es dann zu der umgeleiteten Seite (Bsp: http://www.example.com/pav/pav-db/auslesen.php?id=9) kommt in dem der Datensatz mit der $angebotnr vollständig anzeigt als separate Seite und nicht als Übersichtstabelle.
Ich hoffe dass das verständlich geäußert wurde und nicht alt zu verwirrend geschrieben ist von mir. *schnauf*
|
11.10.2017, 08:23:31
|
|
Administrator
|
|
Registriert seit: Jul 2004
Beiträge: 3.707
|
|
AW: Datensatz detailiert anzeigen
Zum Beispiel so:
PHP-Code:
if(isset($_GET['id'] && $_GET['id'] > 0))
{/*Dein neuer Code bzgl. Anzeige */}
else
{/*Dein bisheriger Code */}
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert
Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!
Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
|
12.10.2017, 19:04:53
|
Anfänger
|
|
Registriert seit: Oct 2017
Alter: 41
Beiträge: 4
|
|
AW: Datensatz detailiert anzeigen
Super der Tipp hat mir mega weiter geholfen.
Ich habe das jetzt wie folgt gelöst!
PHP-Code:
<?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 != 0 )
{
$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"] . ' ' . $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ü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ütung:</td><td>' . $nachricht["lohn"] . '</td></tr>
<tr><td align="right">Fü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ück zur Übersicht</a>';
}
else
{
echo '<div style="font-size:16pt; padding: 0cm 0.2cm 0cm;" align="left"><strong>Unsere Stellenangebote im Überblick<br><br></strong></div>' .
'<table border="1" cellspacing="0" cellpadding="2">' .
' <tr>' .
' <td> <b><nobr>Angebots-Nr:</nobr></b> </td><td> <b><nobr>Abgebot vom:</nobr></b> </td><td> <b>Stellen</b> </td><td> <b>Berufbezeichnung</b> </td><td> <b>Einsatzort</b> </td><!--<td>Verfügbarkeit</td><td>Arbeitsdauer</td><td>Beschreibung</td><td>Vergütung</td><td>Fü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 < 1 || $AktuelleSeite > $AnzahlSeiten ? 1 : $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', $Versatz, PDO::PARAM_INT);
$select->bindParam(':DatensaetzeSeite', $DatensaetzeSeite, PDO::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) > 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 Jobangebote vorhanden!</p>';
}
}
?>
Jezt habe ich genau das, was ich mir vorgestellt hatte und es funktioniert auch!
*FREU*
|
13.10.2017, 09:41:13
|
|
Administrator
|
|
Registriert seit: Jul 2004
Beiträge: 3.707
|
|
AW: Datensatz detailiert anzeigen
Wenn Du schon prüfst ($id) - worauf ich immer hinweise, dann wende die Prüfung ($_GET['id']) auch konsequent an:
PHP-Code:
$id = ( isset( $_GET['id'] ) && is_numeric( $_GET['id'] ) ) ? intval( $_GET['id'] ) : 0;
if ( $id != 0 )
{
$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"]) );
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert
Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!
Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
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 13:38:27 Uhr.
|