SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



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



:: Buchempfehlung ::

Das Zend Framework

Das Zend Framework zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 06.10.2017, 19:09:25
Vengalis Vengalis ist offline
Anfänger
 
Registriert seit: Oct 2017
Alter: 35
Beiträge: 4
Vengalis befindet sich auf einem aufstrebenden Ast
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 || $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.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) > ?
      
'<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
Mit Zitat antworten
  #2  
Alt 08.10.2017, 17:51:36
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.571
vt1816 hat die Renommee-Anzeige deaktiviert
vt1816 eine Nachricht über Skype™ schicken
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!
Mit Zitat antworten
  #3  
Alt 09.10.2017, 11:58:13
Vengalis Vengalis ist offline
Anfänger
 
Registriert seit: Oct 2017
Alter: 35
Beiträge: 4
Vengalis befindet sich auf einem aufstrebenden Ast
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.
Mit Zitat antworten
  #4  
Alt 09.10.2017, 12:08:00
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.571
vt1816 hat die Renommee-Anzeige deaktiviert
vt1816 eine Nachricht über Skype™ schicken
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!
Mit Zitat antworten
  #5  
Alt 10.10.2017, 17:51:46
Vengalis Vengalis ist offline
Anfänger
 
Registriert seit: Oct 2017
Alter: 35
Beiträge: 4
Vengalis befindet sich auf einem aufstrebenden Ast
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*
Mit Zitat antworten
  #6  
Alt 11.10.2017, 09:23:31
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.571
vt1816 hat die Renommee-Anzeige deaktiviert
vt1816 eine Nachricht über Skype™ schicken
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!
Mit Zitat antworten
  #7  
Alt 12.10.2017, 20:04:53
Vengalis Vengalis ist offline
Anfänger
 
Registriert seit: Oct 2017
Alter: 35
Beiträge: 4
Vengalis befindet sich auf einem aufstrebenden Ast
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 != )
{
 
$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>';
  }
}
?>
Jezt habe ich genau das, was ich mir vorgestellt hatte und es funktioniert auch!

*FREU*
Mit Zitat antworten
  #8  
Alt 13.10.2017, 10:41:13
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.571
vt1816 hat die Renommee-Anzeige deaktiviert
vt1816 eine Nachricht über Skype™ schicken
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 != )
{
 
$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!
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Abfrage - Ein Datensatz -> Alle Sätze Anzeigen hoamer MySQL 0 03.07.2008 13:06:48
leeren datensatz nicht anzeigen, alten wiederholen Stifler PHP Grundlagen 2 23.09.2004 14:23:54
Nur ein Datensatz anzeigen ohne Schleife Small-Talk MySQL 2 08.06.2004 15:41:03
Nächsten datensatz nach "Heute" anzeigen kuechenschabe PHP für Fortgeschrittene und Experten 3 10.09.2003 12:33:31
Nur einen Datensatz anzeigen Hanna PHP Grundlagen 11 27.11.2002 18:13:03


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:38:15 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.


© 2001-2017 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt