Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

PHP: Ergebnisse auswählen und weiter bearbeiten

Empfohlene Antworten

Veröffentlicht

Hallo Leute,

wenn ich eine Suche in meiner my-SQL Datenbank gemacht habe, bekomme ich ein Ergebniss mit ca. 10 Personen. Wie kann ich das Script so Programmieren, das ich jede Person einzeln auswählen kann, um z.B. weitere Informationen auf einer neuen Seite zu erhalten.

In Suchmaschinen kann ich ja auch die einzelnen Ergebnisse auswählen.

MfG

Patrick

Beschreibe das Proglem etwas genauer.

Willst du, dass ein Datensatz extra angezeigt wird?

Wenn du mit mySQL arbeitest, musst du dein Ergebnis zeilenweise ausgeben. In PHP sähe das dann so aus:

 
$result=mysql_query("SELECT * FROM tabelle WHERE bedingung");
$anz=mysql_num_rows($result); //zählt die gefundenen Datensätze
if($anz>0){
for($i=0;$i<$anz;$i++){
$row=mysql_fetch_object($result);
echo $row->spaltenname1;
echo $row->spaltenname2;
...
}
}
[/PHP]

So solltest du eigentlich die einzelnen Datensätze filtern können. Und wenn du einen speziellen haben möchtest, muss du die Query spezifischer gestalten.

Gruß

Tobi

Du willst also z.B. eine Personenliste erstellen und dort auf Klick mehr Infos über die Person auf einer extra Seite darstellen?

Mach in der Reihe wo der Datenastz liegt den du auf einer extra Seite nochmal anzeigen willst einen Link / Button der folgend aufgabaut ist (Beispiel):


<a href="index.php?action=details&show=<?php echo $id;?>">Details</a>

$id ist ganz einfach die ID deines Datensatzes, so kannst du in index.html mittels $action eine Weiche erstellen und ein Select-Statement schreiben, welches die ID namens $show in deiner Datenbank raussucht.

Ich vermute mal das es das ist was du willst.

Ganz einfach:

Hier mal etwas Code: Geb zu, etwas Viel Codem aber der stammt noch aus den Anfangszeiten der Programmierung.


<?php
function print_result_table($resultat)
{
//Tabellenanfang
echo "<center>\n";
echo "<table width=790 cellspacing=2 cellpadding=2 border=0 bgcolor=#006699>\n";
echo "<tbody>\n";
echo "<tr>\n";
echo "<td height=20 colspan=5 class=headline>\n";
echo "<div align=Center><font face=arial color=#eeeeee size=3><b>\n"; //
echo "Die gefundenen Produkte\n";
echo "</b>\n";
echo "</font>\n";
echo "</div>\n";
echo "</td>\n";
echo "</tr>\n";
echo "</tbody>\n";
echo "</table>\n";
echo "</center>\n";

//Felder (Überschriften) ertellen
echo "<tr>\n";
echo "<center>\n";
echo "<table width=790 cellspacing=2 cellpadding=2 border=0 bgcolor=#dee3e7>\n";
echo "<tbody>\n";
echo "<tr style=color: rgb(238,238,238); bgcolor=#d1d7dc>\n";

for ($i = 0; $i < mysql_num_fields($resultat);$i++)
{
//Spaltennamen ausgeben
echo "<th><font face=arial size=2 color=#006699>\n".mysql_field_name($resultat,$i)."</th>\n";
echo "</font>\n";
}


//Detail Spalte einfügen
echo "<th><font face=arial size=2 color=#006699>\nDetail</th>\n";
echo "</font>\n";
echo "</tr>";

//Einzelne Zeilen ausgeben
echo "<tr style=color: rgb(204,17,17); bgcolor=#ffffff>\n";

while ($reihe = mysql_fetch_row($resultat))
{
echo "<tr>\n";

//Spalten durchgehen
for ($i = 0;$i < mysql_num_fields($resultat);$i++)
{
if ($i == 3) //3 für Pfad
{
echo "<td align=Center bgcolor=#dee3e7>";
echo "<font color=#dd6900><a href=$reihe[$i]>Download</font></a></td>\n";
}
else
echo "<td align=Center bgcolor=#dee3e7><font face=arial size=2 color=#dd6900>$reihe[$i]</font></td>\n";
}

//Verlinke Details
echo "<td align=Center bgcolor=#dee3e7>";
echo "<font color=#dd6900><a href= detail.php?Produkt_ID=$reihe[0]&Beschreibung=$reihe[1]>Link</font></a></td>\n";
echo "</tr>\n";
}
echo "</table>\n";
}

$rubrik = $_POST['rubrik'];
$suche = $_POST['suche'];

$verbunden = mysql_connect("localhost",$USER,$PW);
if (!$verbunden)
{
echo "Fehler Connect";
}

if (! mysql_select_db("Download"))
{
echo "Fehler DB";
}

$sql = "SELECT distinct(P.Produkt_ID),P.Beschreibung,P.Größe,P.Pfad FROM ((Produkt P
INNER JOIN Details D ON P.Produkt_ID = D.Produkt_ID)
INNER JOIN Produkt_Rubrik PR ON P.Produkt_ID = PR.Produkt_ID)
INNER JOIN Rubrik R ON R.Rubrik_ID = PR.Rubrik_ID
WHERE R.Rubrik_ID = "; //1 and D.Beschreibung = 'test'";

$sql .= $rubrik;

//wenn Suche ausgefüllt wurde
if (! (empty($suche)))
{
$sql .= " AND D.Beschreibung like '%";
$sql .= $suche;
$sql .= "%' order by P.Produkt_ID";
}

$resultat = mysql_query($sql);

//HTML - Code
echo "<html>\n<body><br>\n";
echo "<body bgcolor=#E5E5E5 text=#dd6900 link=#dd6900 vlink=#dd6900 alink=#dd6900>\n";
echo "<center>";
echo "<b>";
echo "Die Dateien bitte mit \"Ziel speichern unter\" oder \"Verknüpfungsziel speichern unter \" herunterladen.";
echo "<br>";
echo "Die Endung .txt löschen !";
echo "</b>";
echo "</center>";
echo "<br>";
print_result_table($resultat);

print "<center><br>[<a href=\"javascript:history.back();\">Zurück</a>]</center><br>\n";

//HTML Code Ende
echo "</body>\n</html>\n";

//Systemdatum + Zeit
echo date ("D M d, Y H:i:s");

//DB - Verbindung beenden
mysql_close($verbunden);
?>
[/PHP]

Müßte gehen. Hat es zumindestens mal auf meiner Site

Gruß

UBAI - Kaum macht mans richtig, schon funktionierts !


<?php


// Gibt alle Datensätze aus der Datenbank aus.

   echo "<br><b>Alle Daten im Überblick:</b> ";

   echo "<table border=0 cellspacing=1 cellpadding=3 >

         <tr BGCOLOR=#6C706D>

   	   <td>ID</td>

   	   <td>Name</td>";


   $result = mysql_query("SELECT * FROM $table order by name ASC");

   if ($num = mysql_num_rows($result))

   {

     // Ausgabe der Datensätze, wenn vorhanden

     for($i=0;$i < $num; $i++)

     {

      $nr          = mysql_result($result,$i,"ID");

      $name        = mysql_result($result,$i,"name");


      echo " <tr BGCOLOR=#2E4460>

                <td><FONT COLOR=\"#7FFF00\" >$nr</font></td>

                <td>- <A href=\"$PHP_SELF?nr=$nr&action=details\">$name</A>";

      echo "</tr>";

     } // end for

?>

Orientiert dich daran. Dann einfach mit $details die gewünschten Daten (die du über $nr bekommst) darstellen.

$details = $_GET['details']; // gewünschte Aktion

$nr = $_GET['nr']; // gesuchte ID


if ($action == "details")

 {

    echo "Details darstellen";

  }

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.